什么是代币授权(授权额度)?
代币授权允许一个智能合约从你的钱包里转走某种代币。应用为什么要请求授权、无限授权为什么有风险,以及怎样撤销授权。
更新于 2026年11月8日
简而言之
代币授权,也叫授权额度,是你给一个智能合约的许可,让它可以从你的钱包里转走最多一定数量的某种代币。DeFi 应用需要先拿到授权,才能兑换或存入你的代币,而且很多应用会请求无限额度。这个许可会一直有效,直到你撤销它,所以给某个合约的旧授权,在这个合约日后被攻击时,仍然可能让这种代币被盗空。
应用为什么要请求授权
在 Ethereum 和其他 EVM 链上,合约不能自己从你的钱包里拿走代币。在 DEX 兑换你的 USDC 之前,你要先授权它转移 USDC:为这个合约设定一个授权额度。然后兑换才能完成。
应用经常请求无限授权额度,这样你下次就不用再授权。这很方便,但也意味着这个合约可以转走你今后在这个钱包里持有的每一个该代币。
为什么这很重要
- 合约会被攻击:一个你只用过一次的协议,日后可能被黑,它拿到的授权也随之失守。
- 盗币者会利用它:虚假网站请求一个看起来很普通的授权,然后把这种代币全部转走。
- 它们很容易被遗忘:几年前的授权,和今天的授权一样有效。
该怎么做
只要应用允许,就按确切金额授权。不时检查一下你的授权,撤销不需要的,先从给你不再使用或无法核实的合约的无限授权开始。撤销授权是一笔很小的链上交易,你的代币不会移动。分步骤说明:如何找到并撤销有风险的代币授权。
在 Burokku 里
授权工具会列出你所有钱包和链上每一项仍然有效的授权额度,给出风险评分,以及每个授权对象今天就能拿走的金额,并用你的钱包所允许的最少签名次数撤销它们。风险授权提醒会在任何一个钱包给未验证合约无限授权时立即通知你。
常见问题
- 授权会过期吗?
- 标准的代币授权不会。不管你多久以前授权的,它都会一直有效,直到你撤销授权或把额度设为零。
- 签名一条消息比授权更安全吗?
- 不一定。Permit 和 Permit2 让应用通过一个签名而不是一笔交易拿到授权额度。它不花 Gas 费,这也让你很容易在没注意的时候就给出了授权。看清你签的是什么。