当你查看钱包交易记录时,突然发现有一笔你没有发起的0 USDT转账记录,发送者的地址首尾几位和你常用的地址几乎一模一样——这就是典型的"零金额转账攻击"(Zero Value Transfer Attack),也叫零值转账骗局。这种攻击手法在2023年开始大规模出现,至今仍在持续造成损失。
零金额转账攻击的原理是什么?
这种攻击利用了ERC-20代币合约的一个特性:transferFrom函数在授权额度为0时也可以执行成功,只是转账金额为0。攻击者通过以下步骤实施骗局:
第一步:监控目标地址
攻击者使用自动化脚本监控区块链上的大额交易,找到频繁转账的活跃地址。
第二步:生成相似地址
使用地址生成工具(如Vanity Address Generator)批量生成首尾几位与目标地址相似的地址。比如你的地址是0x1234...abcd,攻击者生成一个0x1234...abce的地址。
第三步:发起零金额转账
攻击者用这个相似地址向你发送0个USDT的转账。这笔交易会出现在你的交易记录中,看起来像是你之前转过账的某个地址。
第四步:等你中招
当你下次需要转账时,如果从交易记录中复制地址,可能会不小心复制到攻击者的地址而不是你真正想转的地址。一旦确认转账,资产就直接进了黑客的钱包。
为什么这种攻击能成功?
这种攻击的成功依赖于人们的操作习惯:
习惯一:从交易记录复制地址
很多人转账时不会完整核对地址,而是从历史交易记录中复制"熟悉的"地址。攻击者正是利用了这个习惯。
习惯二:只核对地址的前后几位
大多数钱包和区块链浏览器只显示地址的前6位和后4位(如0x1234...abcd)。攻击者生成的相似地址在这些显示位上一模一样,只有中间隐藏的部分不同。
习惯三:忽略异常交易
看到一笔0金额的转入记录,很多人以为是系统bug或空投测试就不在意了。

受害的实际案例
2023年5月,一位用户因为零金额转账攻击损失了2000万美元的USDT。该用户从交易记录中复制了一个"看似熟悉"的地址进行大额转账,但实际上复制的是攻击者精心伪造的相似地址。这笔交易确认后无法撤销。
类似的案例在各条链上不断发生,单笔损失从几百美元到数百万美元不等。

如何防范零金额转账攻击?
方法一:使用地址簿功能
大多数钱包和交易所都有"地址簿"或"白名单"功能。将你常用的转账地址预先保存在地址簿中,每次转账时从地址簿选择,而不是从交易记录复制。
方法二:完整核对地址
每次转账前,仔细核对完整地址的每一个字符,而不是只看前后几位。至少核对地址的前10位和后10位。
方法三:先转小额测试
大额转账前先发送小额(如1 USDT)到目标地址,确认对方收到后再转大额。虽然多花一次Gas费,但能避免大额损失。
方法四:忽略不明转入记录
如果交易记录中出现你没有发起的转入交易,不要从这些记录中复制任何地址。
方法五:使用支持地址标记的工具
部分钱包和区块链浏览器支持给地址添加标签。标记你常用的地址后,转账时就能直观区分真假。
安全提醒
零金额转账攻击虽然手法简单,但利用了人们的操作疏忽,防范的关键在于养成良好习惯:
- 永远不要从交易记录中直接复制地址:使用地址簿或手动输入
- 大额转账前先小额测试:确认地址正确后再转大额
- 完整核对地址:不要只看首尾几位,至少核对20个字符
- 保持警惕:对交易记录中不明来源的转入保持怀疑
- 使用最新版钱包:部分钱包已更新策略,隐藏或标记零值转账
- 开启交易确认提醒:设置交易通知,及时发现异常活动
在交易所进行转账操作时通常有地址白名单等额外保护。币安官网体验更安全的转账流程,或币安官方APP,苹果用户参考iOS安装教程随时管理。
零金额转账会损害我的钱包吗?
不会。零金额转账本身不会导致你的资产损失,它只是在你的交易记录中留下一条记录。只有当你误复制了攻击者的地址并主动转账时才会造成损失。
能阻止别人向我发送零金额转账吗?
不能。区块链的开放性意味着任何人都可以向任何地址发送交易(包括零金额)。你无法阻止这些交易的发生,但可以通过良好的操作习惯避免中招。
只有USDT会遇到零值转账攻击吗?
不只是USDT。任何ERC-20代币都可能遭受这种攻击。USDT因为是使用最广泛的稳定币,所以成为了攻击者的首选目标。
交易所提币时也会遇到这种攻击吗?
交易所提币时需要你手动输入或从地址簿选择地址,不会直接显示链上的零值转账记录。所以从交易所提币时遭遇这种攻击的风险相对较低,但仍需仔细核对地址。