代币授权(Token Approval)
简而言之 代币授权是你授予智能合约的权限,允许它从你的钱包中转走一定数量的代币,通常在兑换或存入之前需要先授权。
在以太坊、BNB Chain、Base 等 EVM 链上,合约除非事先获得你的授权,否则无法把 ERC-20 代币从你的钱包中转走。授权(也叫 allowance,即额度)是告诉代币合约:某个特定的 spender 地址可以代表你转移不超过设定数量的代币。这就是为什么 DEX 在你第一次兑换之前会让你先授权代币。
从技术上讲,你在代币合约上调用 approve(spender, amount),合约会记录这笔额度。之后 spender 可以随时调用 transferFrom,在额度范围内转走代币,无需你再次确认。许多应用会请求无限额度,以便日后交易时节省 gas。部分代币还支持 permit 签名,即通过链下签名而不是链上交易来创建授权。Solana 使用的是 delegate(委托)机制,原理类似,不过那里的应用更常在你签署的同一笔交易内直接转移代币。
授权之所以重要,是因为它在你授予之后会一直有效。如果被授权的合约是恶意的、后来被攻击,或是被升级了,它可能在你使用后的几个月里仍然能拿走你的代币。钱包盗取程序(wallet drainer)和钓鱼网站就是靠诱导你对最有价值的代币进行授权或签署 permit 来得手的。
如果应用允许,只授权你需要的数量,并核对钱包中显示的 spender 地址和金额。对提到 permit 的签名请求要格外小心,它们看起来无害,实则会授予访问权限。定期使用区块浏览器的授权检查工具或撤销工具查看你当前有效的授权,并取消不再使用的授权;撤销需要支付少量 gas 费。




