• 全部
  • 产业
  • Web 3.0
  • DAO
  • DeFi
  • 符文
  • 空投再质押
  • 以太坊
  • Meme
  • 比特币L2
  • 以太坊L2
  • 研报
  • 头条
  • 投资

免责声明:内容不构成买卖依据,投资有风险,入市需谨慎!

代币授权:授予了什么,如何撤销

2026-08-19 12:01:55
收藏

代币授权的作用与撤销方法

代币授权是一种链上权限,通过调用智能合约的 approve() 函数授予,允许另一个合约随时从你的钱包中转移指定数量的特定代币,而无需再次请求。撤销授权则是将授权额度重置为零——它能阻止该权限的后续使用,但无法撤销已经发生的转账。

approve() 实际授予了什么

绝大多数 ERC-20 代币(以太坊及其兼容链上大部分代币使用的标准)遵循一种模式:智能合约默认无法访问钱包余额。根据多份资料,在去中心化交易所、借贷协议或 NFT 市场能够转移用户代币之前,用户必须在代币自身的合约上调用 approve(),并指定支出方地址和授权金额。一旦该交易确认,支出方合约就可以随时调用另一个函数 transferFrom(),转移不超过授权额度的代币,而无需钱包持有者再次签名。一个常见的例子是:在去中心化交易所上用 USDC 兑换 ETH,需要一笔交易来批准交易所合约使用 USDC,另一笔交易来执行兑换本身。

根据相关说明,有两个细节值得注意:授权是针对特定代币和特定支出方的——批准去中心化交易所使用 USDC,并不意味着该交易所可以访问钱包中的 ETH 或其他代币。此外,授权本身是一笔需要支付网络费用的区块链交易,与触发它的操作相互独立。

有限授权与无限授权

授权中的金额字段决定了上限。有限授权指定了具体数量——例如,恰好批准一笔兑换所需的 500 USDC——一旦该金额被使用,下一次兑换就需要重新发起授权交易。无限授权则授权代币合约所能表达的最大值,即 2^256-1,这个数字远大于任何现实代币的总供应量。实际上,这意味着支出方可以在未来任何时候转移钱包中该代币的全部余额,而无需再次授权。

大多数去中心化应用默认请求无限授权,因为这样可以免除用户重复支付交易费用——这是一种权衡。这种便利的代价是权限永远不会自动过期。有资料明确指出:代币授权不会自动失效。如果持有无限授权的合约后来被利用、被恶意升级,或者从一开始就不可信,攻击者可以在受害者无需签署任何内容的情况下,直接提取全部已授权的余额。

攻击的实际运作方式

根据相关描述,钱包窃取操作通常分为三步:诱饵(钓鱼网站、虚假空投链接或克隆的应用界面)、伪装成常规连接或领取操作的签名请求,然后实施窃取——攻击者通过另一个钱包调用 transferFrom(),提取已授权的代币。有资料指出,复杂的攻击工具会将多个授权(ERC-20、NFT、Permit2 签名)打包成一次多调用,在几秒钟内清空钱包,然后通过交易所和跨链桥转移资金。另有案例提到,2026 年 1 月,SwapNet 平台上的漏洞从 20 名用户那里盗取了约 1340 万美元,这些用户恰好关闭了平台默认的一次性授权,转而直接授予了无限授权。攻击者随后利用输入验证漏洞,对这些已存在的授权调用 transferFrom()。此外,还有资料指出 NFT Trader 平台因攻击者利用被遗忘的 SetApprovalForAll 授权而损失了 300 万美元。

根据相关数据,2025 年上半年,授权诈骗和遭入侵的合约从加密货币用户那里盗取了超过 4.1 亿美元。另外,2026 年 2 月的一份安全报告显示,签名钓鱼攻击(即通过签名消息而非链上交易进行的授权钓鱼)增长了 207%。

查看与撤销授权

授权在链上以 Approval 事件的形式呈现,在区块浏览器上可以看到三个字段:钱包所有者、支出方合约以及授权金额。撤销授权意味着提交一笔新交易,将特定支出方的授权额度重置为零——这是一项链上操作,同样需要支付网络费用。常见工具包括区块浏览器中的代币授权检查器、独立的撤销网站,以及一些钱包内置的授权管理功能。有建议指出,在重大协议事件发生后、停止使用某个去中心化应用后,或每月定期检查一次授权。这些做法并非完全防御,只是关闭特定风险敞口的一种习惯。

Permit2:将风险转移到链下

根据资料,Uniswap Labs 于 2022 年 11 月部署了名为 Permit2 的合约,旨在减少传统模型中的摩擦和长期授权风险。用户无需为每个应用单独授予链上授权,只需为每个代币批准一次 Permit2 合约;之后与各个应用的交互通过链下签名进行授权,签名中指定代币、数量、支出方和截止时间。到 2025 年,已有超过 310 万个以太坊主网地址授权了 Permit2,并被 Uniswap、1inch、CowSwap 等协议使用。Permit2 将 ERC-2612 许可标准的优势扩展到所有代币,并内置了自动过期功能。但权衡之处在于,攻击面发生了转移而非消除:传统授权通过被遗忘的链上权限被利用,而 Permit2 签名则是在签名时被利用——因为它们在钱包中显示为待签名的消息而非待确认的交易,钓鱼网站可以将伪装后的 Permit2 授权呈现为常规请求。

本文未涵盖的内容

本文无法告知读者当前所有钱包中暴露的总价值。文中引用的损失数据(如 2025 年上半年的 4.1 亿美元、2026 年 1 月的 1340 万美元、以及未注明日期的 300 万美元)均为单一来源或第三方估算,并非经过审计的实时总额,且各来源之间未提供统一数据。撤销授权无法逆转已发生的盗窃,只能阻止该特定授权额度的未来使用。根据机制描述,向 Permit2 合约进行一次链上授权后,再通过链下签名进行各应用授权,撤销一个不相关的传统 ERC-20 授权并不会撤销已发出的 Permit2 签名;要终止该签名,需要等待其截止时间过期,或撤销底层的 Permit2 级别授权。但现有资料并未详细说明如何撤销一个活跃的 Permit2 签名,因此这只是基于机制推断,而非报道事实。无论是传统授权撤销还是 Permit2 撤销,都无法解决私钥被盗或助记词钓鱼问题,这些是本文未深入讨论的独立攻击面。至于 310 万个地址的 Permit2 数据是否经过独立链上验证,或仅为相关钱包的统计,本文所审查的资料中并未明确说明。

免责声明:

本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。百亿财经对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。百亿财经用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与百亿财经无关。百亿财经不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。

展开阅读全文
更多新闻
自选
我的自选
查看全部
市值 价格 24h%