一句话版本
在以太坊上发一个代币只需要几分钟和一点手续费,名字、图标都可以随便填。于是出现了三类常见骗局:假币(名字也叫 USDT,合约地址却是骗子的)、蜜罐(合约里藏着"只有特定地址才能卖出"的逻辑,你买得进卖不出)、拉地毯(项目方撤走流动性跑路)。 识别它们的关键不是看名字和价格,而是看合约地址、合约代码里的权限,以及在买之前先模拟一次卖出。
全文分三层:
- 通俗理解:只有入口没有出口的商店
- 实际用处:Squid Game 代币、空投假币、拉地毯
- 原理与工程要点:蜜罐的几种实现、检测方法、钱包怎样展示代币
第一层:通俗理解
1.1 只有入口没有出口的商店
一家商店,门口写着"热门商品,价格天天涨!"。你进去买了,价格确实在涨。可当你想卖回去时,柜台说"系统维护,暂停回收"。后来才发现:这家店从一开始就只设计了入口。
蜜罐代币就是这样:
- 买入正常;
- 价格因为只有人买、没有人能卖,所以一路上涨,吸引更多人;
- 只有项目方的地址能卖出,最后一次性把池子里的钱全部取走。
1.2 假币
你的钱包里突然多了 1000 个 "USDT"。别高兴:任何人都可以部署一个名字叫 USDT 的合约,然后给成千上万个地址"空投"。它们一文不值,目的通常是:
- 诱导你去某个网站"兑换"或"领取",在那里骗你签授权(见《无限额授权》);
- 混进你的交易历史,配合地址投毒。
第二层:实际用处
- Squid Game 代币(2021 年):借热门剧集的名气发行,价格在几天内上涨数万倍。买家发现无法卖出(合约里有限制),随后项目方撤走流动性,价格归零,网站和社交账号消失。
- 空投假币:几乎每个活跃地址都收到过,常见名字是知名稳定币、知名项目代币,或者直接是一个网址("访问 xxx 领取奖励")。
- 拉地毯(rug pull):项目方掌握流动性池的大部分份额,或者合约里保留了"随意增发""修改手续费到 100%""拉黑地址"等权限,在合适时机撤走流动性或卖出。链上安全公司每年统计到的此类骗局数以万计。
第三层:原理与工程要点
3.1 蜜罐的常见实现
| 手法 | 原理 |
|---|---|
| 黑名单 / 白名单 | transfer 里检查发送方,非白名单地址卖出时 revert |
| 可调手续费 | 合约所有者可以把卖出手续费调到 99% 或 100% |
| 卖出限额 | 每次只能卖极小数量,或者有冷却时间 |
| 隐藏的所有者 | 表面上"已放弃所有权",实际通过另一个变量或代理保留控制 |
欺骗性的 balanceOf |
显示的余额和真实可转出的余额不一致 |
| 依赖外部合约 | 关键逻辑放在一个可以随时更换的外部合约里 |
3.2 检测方法
| 方法 | 说明 |
|---|---|
| 核对合约地址 | 只认官方公布的合约地址;同名代币在不同链上地址也不同(如 Arbitrum 上原生 USDC 和桥接的 USDC.e) |
| 代币白名单 | 钱包只把白名单里的代币当作"真资产"显示,其余标灰 |
| 模拟卖出 | 在买入之前,在主网分叉或用 eth_call 模拟"买入后立即卖出",看能否成功、实际收到多少 |
| 读合约代码 | 源码是否在浏览器上验证?有没有 blacklist、setFee、mint、pause 等所有者函数?所有者是谁? |
| 看流动性 | 流动性池的 LP 代币是否锁定或销毁?是否集中在少数地址? |
| 看持有分布 | 前几个地址是否持有绝大部分代币? |
第三方的"代币安全检测"服务会自动做上面大部分检查,但它们也会被新的手法绕过,只能作为参考。
3.3 钱包该怎样展示代币
- 默认隐藏未知代币和 0 金额转账,或明确标注"未验证";
- 对未知代币不显示价格(骗子很容易人为制造一个虚高的"价格");
- 代币名称、符号里出现网址时,直接视为可疑;
- 用户点击未知代币时,提醒"不要访问其中提到的网站,不要签任何授权"。
3.4 给用户的规则
- 来路不明的代币,不碰、不卖、不去它提到的网站"领取";
- 买新代币前先模拟一次卖出;
- 看名字不如看合约地址;
- 价格涨得越离谱、宣传越急切,越要警惕。
总结
| 层次 | 要点 |
|---|---|
| 三类骗局 | 假币(同名不同址)、蜜罐(能买不能卖)、拉地毯(撤流动性) |
| 蜜罐原理 | 黑名单、可调手续费、隐藏所有者、可替换的外部逻辑 |
| 检测 | 核对地址、白名单、模拟卖出、读合约权限、看流动性和持仓 |
| 钱包 | 默认隐藏未知代币,不显示其价格 |