代币授权(Token Approval)
又称: 授权 · Approve · 额度授权 · Allowance
定义
代币授权是你在链上允许某个智能合约动用你钱包里指定代币的操作,授权额度决定合约最多能转走多少,常用于 DEX 交易和 DeFi 存款。
代币授权是怎么运作的
在以太坊等 EVM 链上,你第一次用 DEX 卖出某个 ERC20 代币时,钱包会先弹出“授权”请求,同意后合约才能从你的地址划转这个代币。授权和实际交易是两笔不同的交易,也都要付 Gas 费。
很多应用默认请求“无限授权”,好处是以后不用重复授权,坏处是如果这个合约被黑,或者你授权的其实是钓鱼合约,对方可以在任何时候把你钱包里该代币全部转走,无需你再次确认。
建议只授权本次需要的额度,定期在钱包设置或授权检查工具中查看并撤销不用的授权。撤销本身也是一笔链上交易,需要支付少量 Gas 费。
举个例子
假设你钱包里有 5,000 USDC,为了在某 DEX 换 100 USDC 的代币,你点了默认的无限授权。半年后这个 DEX 的旧合约被攻击,攻击者利用你的授权一次性转走全部 5,000 USDC。如果当初只授权 100 USDC,最多损失的就是这 100 USDC 中尚未使用的部分。
常见误区
- 对任何弹窗都直接点确认,不看授权的合约地址和额度。
- 在空投或领奖页面签了授权,把代币权限交给了陌生合约。
- 以为把应用网页关掉就等于取消授权,实际上授权一直留在链上。
继续学习与实操
常见问题
怎么撤销代币授权?
可以在部分钱包的授权管理页面,或使用区块浏览器和第三方授权检查工具,选中对应授权并发起撤销交易。
签名和授权有什么区别?
授权是一笔改变链上额度的交易;有些签名(如 Permit 类签名)不上链也能给出转账权限,同样危险,签之前都要看清内容。