教学模拟器,不连接真实区块链或钱包,数据均为虚构演示。这里的「撤销」只改变页面上的数字。
🔓 代币授权(Approval)风险演示
授权不是转账,但它交出去的是「随时转走的权力」。很多人被盗,不是签了转账,而是很久以前签过一次授权。
转账 Transfer钱当场离开你的钱包。一次性、金额确定、看得见。
授权 Approve钱还在你钱包里,但你给了某个合约「随时把它拿走」的钥匙。永久有效,直到你主动撤销。
当前授权列表(虚构)
为什么授权比你想的危险
- 它不会过期。三年前用过一次的项目,授权今天依然有效。项目方跑路、合约被卖、私钥泄露,风险都还挂在你头上。
- 它不需要你再签名。被授权方调用 transferFrom 就能划走,你的钱包不会弹窗,你只会在余额变成 0 时才知道。
- 无限额度是行业陋习。为了省 Gas,几乎所有 DApp 默认请求无限授权。省下的几毛钱,赌的是全部余额。
- NFT 更狠。setApprovalForAll 一次授权整个系列,不是单个 NFT。
- 撤销要花 Gas,但那是保险费。用完就撤,尤其是小项目、活动页、一次性 Mint。
正确姿势
- 授权时手动把额度改成本次实际需要的数量。
- 定期用授权管理工具体检,撤销所有不再使用的项目。
- 大额资产放在从不参与交互的独立钱包 / 硬件钱包。
- 把「授权」当成把家门钥匙配给别人 —— 你会配给多少家店?