加密货币

撤销批准

定义

撤销批准是取消钱包之前授予合约或地址支出您的代币或移动您的NFT的权限的行为。

什么是撤销批准?

撤销批准意味着取消之前授予的链上权限,该权限允许第三方地址(通常是一个智能合约)在代币标准的规则下,从您的钱包转移资产。在EVM链上,这通常指的是取消一个ERC-20的授权或禁用一个NFT操作权限,因此被批准的“支出者”无法在没有新授权的情况下移动您的代币或NFT。这是保护您的加密钱包的核心习惯,因为批准可能在您停止使用应用程序后仍然存在,如果被批准的合约被攻破或您上当受骗,可能会被滥用。批准钓鱼

撤销代币批准

要撤销代币批准,您需要提交一笔交易,更新您在代币批准期间之前授予的权限。对于ERC-20代币,该权限是记录在代币合约中的“限额”,将您的钱包映射到支出者地址和它可以通过`transferFrom`转移的最大金额。撤销通常意味着通过从您的钱包调用代币的`approve(spender, newAmount)`函数将该限额设置为零(或更小的数字)。在交易确认后,支出者无法提取超过新的限额,这就是为什么将其减少到0是完全取消访问的最干净方法。

撤销限额

撤销限额是取消ERC-20支出者剩余限制的常用术语。在机制上,代币合约存储限额值,DeFi应用依赖于它执行交换、存款或还款,而无需您签署每笔转账。如果您曾经批准过“无限”金额,支出者可以继续转移,直到您更改该数字——即使几个月后——只要支出者的代码(或密钥,如果是EOA)可以启动`transferFrom`。撤销限额会重置该存储值,这就是为什么在与未知dApp互动后研究如何撤销恶意批准时,这是一个关键响应。

Revoke.cash

Revoke.cash是一个流行的界面,帮助您通过生成正确的链上交易来审查和撤销跨代币和NFT集合的批准,以便您的钱包进行签名。您无需手动查找每个代币合约和支出者地址,而是连接您的钱包,检查现有的限额和操作权限,然后提交撤销交易(例如,将ERC-20限额设置为0或禁用NFT的“批准所有”操作员)。像这样的工具很有用,因为批准分散在许多合约中,风险并不总是显而易见——尤其是在批准钓鱼之后,恶意网站欺骗您批准您并不打算信任的支出者。

撤销授权

撤销授权本质上与撤回相同,但值得注意的是,“授权”根据资产类型可能意味着不同的权限。对于 ERC-721 和 ERC-1155 NFT,您可能已将单个代币 ID 授权给特定地址,或者您可能授予了广泛的操作员权限(通常称为“全部授权”),允许操作员从该集合中转移任何 NFT。撤销授权意味着发送交易以清除特定的授权或关闭操作员权限。由于 NFT 操作员的授权可能是广泛的,因此明智的做法是撤销您不再需要的授权,特别是对于您不经常使用的市场或聚合器。

为什么撤销授权很重要

撤销授权很重要,因为授权是第三方在不需要每次都获得新签名的情况下移动您钱包中的资产的少数方式之一。虽然授权使 DeFi 和 NFT 体验更加顺畅,但它们也扩大了您的攻击面:一个被攻陷的协议、一个恶意的支出地址或一个欺骗性的签名流程都可能将旧授权转变为实际损失。定期审计和撤销未使用的权限可以限制影响范围,减少合约漏洞的影响,并补充其他最佳实践,例如使用单独的钱包和验证签名——这些习惯应包含在任何实用的加密钱包安全指南中。

常见问题

在加密货币中,撤销批准是什么意思?

这意味着取消您钱包之前授予另一个地址移动您的代币或NFT的权限。在EVM链上,这通常通过将ERC-20的授权设置为0或禁用NFT操作员批准来完成。撤销后,支出方无法在旧权限下转移资产。

我如何撤销ERC-20代币的批准?

您通过向代币合约发送链上交易来撤销它,该交易更改支出方地址的授权,通常设置为零。许多钱包和批准管理工具会为您生成此交易。您仍然需要支付网络费用,因为这是区块链上的状态变化。

撤销批准会返回我的代币吗?

不会——撤销仅更改权限;它不会将资金转回您的钱包,因为代币从未离开。如果代币已经使用批准转出,撤销将阻止进一步转移,但无法撤销过去的转移。恢复取决于具体情况和对方。

使用revoke.cash来移除批准安全吗?

Revoke.cash被广泛用作前端,帮助您创建正确的撤销交易,但安全性仍然取决于验证您是否在合法网站上并审查您签署的内容。实际的撤销发生在代币或NFT合约的链上。始终仔细检查支出方地址,避免签署意外的批准。

为什么dApp要求无限制批准?

无限制批准通过避免未来操作(如交换或存款)的重复批准交易来减少摩擦。权衡是风险:如果支出方被利用或恶意,它可以转移高达批准的金额。更安全的方法是仅批准您需要的内容,并在完成后撤销权限。

相关术语