
Table of Contents
要移除 DApp 对您代币的访问权限,您必须找到它持有的授权并在单独的链上交易中撤销它,断开 DApp 连接不会移除权限,您的代币会一直暴露,直到额度设置为 0。
核心要点
- 授权存在于链上,关闭应用程序或 WalletConnect 会话不会改变任何东西;支出权限保持活动状态,直到您撤销它。
- 无限授权会增加损害,单个无限权限让合约可以使用代币的整个当前和未来余额。
- 撤销可防止未来支出,而非过去的盗窃,重置额度可阻止新转账,但无法恢复耗尽器已经转移的资产。
什么是 DApp 代币授权?
DApp 代币授权是钱包所有者授予智能合约的权限,允许其使用特定代币,最高可达设定的金额。没有该授权,去中心化交易所、借贷市场或任何其他 DApp 都无法移动您的代币,授权让它可以在您与之交互时代表您进行交换、质押或转移代币。
智能合约是基于区块链的程序,当满足预定义条件时自动执行操作。
DApp 代币授权如何工作
代币授权遵循固定顺序:您将钱包连接到 DApp,DApp 请求授权,它被记录在链上,从那时起 DApp 执行批准的操作而无需再次询问。这就是知名 DApp 如 Aave 和 Uniswap 的工作方式。由于权限存在于区块链而非应用程序会话中,它在您停止使用 DApp 后仍长期有效。
授权有几种不同的形式:
- 有限授权: DApp 只能使用您设置的金额,例如 500 USDC,必须请求新授权才能使用更多。
- 无限授权: DApp 可以使用所选代币的任何金额,包括稍后到达您钱包的代币。
- 代币授权: 智能合约获得管理特定可替代代币的权限,例如 USDC 或 USDT。
- NFT 授权: 权限可以涵盖单个 NFT 或整个集合,例如通过
setApprovalForAll。
代币授权不会透露您的助记词或让 DApp 无限制地访问整个钱包。它仅适用于批准的代币、NFT、金额和智能合约。
加密货币钱包用户何时授予代币授权?
代币授权出现在日常 DeFi 操作中:交换代币、借贷、质押和出售 NFT。它们可以在操作完成或 DApp 断开连接后保持活动状态。
在 DEX 上交换代币: 假设您在 Uniswap 上交换 USDC 为 ETH,首先您批准 Permit2 合约(Uniswap Labs 的权限管理器)使用 USDC。无限授权可以在交换完成或取消后保持活动状态。
向借贷协议提供代币: 要在 Aave 上借出 USDT,您批准 Aave Pool 合约将代币转出钱包。未使用的额度可以在提取存款或断开 DApp 连接后保留。
通过 DApp 质押代币: 通过 Aave Umbrella 质押时,您批准质押合约将所选代币移入池中。如果授权超过存款,剩余额度可以在您退出质押后继续生效。
挂牌出售 NFT: 在 OpenSea 上挂牌 NFT,市场可能会通过 setApprovalForAll 请求访问单个 NFT 或整个集合。集合范围的授权保持有效,直到用户在单独的交易中撤销它。
从空投领取代币: 假空投网站可能会在普通的领取按钮后隐藏无限授权或 Permit 签名。确认后,钱包耗尽器可以移动批准的代币或 NFT,而无需在钱包中进行任何新请求。
代币授权的风险是什么?
危险不在于授权本身,而在于它随着时间的推移会变成什么。三个风险最为重要:
- 无限额度: 合约可以使用批准代币的整个当前和未来余额,而不仅仅是您打算使用的金额。
- 持续授权: 权限在您上次使用 DApp 后的数月或数年内继续有效,因此被遗忘的授权仍可被利用。
- 受损合约: 即使是合法的 DApp 也可能在您授予授权后被黑客攻击,将您已经签署的访问权交给攻击者。
什么是加密货币钱包耗尽器?
加密货币钱包耗尽器是一种恶意工具,使用钓鱼网站或假 DApp 诱骗您授予转移代币或 NFT 的权限。耗尽器不会猜测您的助记词,而是让您自愿签署访问权,然后使用它将您最有价值的资产转出。耗尽器是一个巨大的活跃威胁:2024 年,它们从约 332,000 个钱包地址窃取了 4.94 亿美元,比前一年增长了 67%(Scam Sniffer,2024)。
钱包耗尽器如何利用代币授权
耗尽器攻击通常通过可预测的步骤链运行:
- 用户登陆假铸币、空投或投资网站。
- 网站提示用户连接钱包。
- 用户签署授权或许可签名。
- 耗尽器扫描钱包并识别最有价值的资产。
- 批准的代币或 NFT 在没有任何新确认的情况下被转出。
仅连接钱包不会让任何人移动您的资产,危险仅在您签署授权或恶意交易后才开始。那个单一签名是无害连接和被耗尽钱包之间的界线。
为什么断开 DApp 连接不会撤销其授权
断开连接和撤销是两个不同的操作,只有一个会移除合约的支出权限。断开连接会关闭钱包和 DApp 界面之间的接口;授权继续存在于链上。
| 操作 | 它做什么 | 什么仍然有效 |
|---|---|---|
| 断开连接 | 关闭钱包和 DApp 界面之间的连接 | 先前授予的链上授权 |
| 撤销 | 移除或重置智能合约的支出权限 | DApp 必须请求新授权才能再次访问代币 |
为了显示差异,我们将 Gem Wallet 连接到合法 DApp Uniswap 并授予 Permit2 对 USDC 的无限授权。断开 Uniswap 后,没有活动的 WalletConnect 会话,但 Revoke.cash 仍显示授权,风险价值为完整的 USDC 余额。断开连接只会关闭与 DApp 的连接,链上授权会保持到单独的撤销交易。
在 Uniswap 中批准,断开 DApp,授权仍在 Gem Wallet 的链上处于活动状态。
如何撤销 DApp 代币授权:分步指南
撤销授权需要几分钟时间。以下是整个过程的概览:
- 打开授权检查器。
- 输入您的钱包地址。
- 选择区块链。
- 查看活动授权。
- 撤销或减少额度。
- 确认交易。
- 验证结果。
让我们详细了解每个步骤。
步骤 1:打开可信的授权检查器
打开授权检查器,例如 Revoke.cash 或 Etherscan Token Approval Checker,自己输入地址而不是跟随链接。这些工具存在钓鱼副本,因此在连接任何内容之前请仔细检查域名。
步骤 2:输入您的加密货币钱包地址
通过粘贴您的公共钱包地址以只读模式开始,这使您可以查看每个活动授权,而无需连接或签名。只有在您准备好撤销时才需要通过 WalletConnect 连接。
步骤 3:选择正确的区块链
选择授予授权的网络,因为每个链都存储自己的授权。Ethereum、BNB Chain、Polygon、Base 和其他网络必须分别检查,一个链上的授权在另一个链上是不可见的。
步骤 4:查看支出者和额度
对于每个条目,检查代币、智能合约(支出者)、批准的金额、授予日期和风险价值。未知支出者或您持有的代币上的无限金额是授权应该被移除的最明显迹象。
步骤 5:撤销或减少代币授权
完全移除您不再需要的授权,或将额度减少到您实际计划使用的金额。点击撤销会构建一个将该合约的支出额度重置为 0 的交易。
步骤 6:在您的钱包中确认交易
请求通过 WalletConnect 在您的钱包(例如 Gem Wallet)中打开。在确认之前,检查:
- 金额: 批准的额度更改为 0 USDC。
- 合约: USDC。
- 方法: Approve。
- 支出者: Permit2。
- 网络: Ethereum。
确认需要网络费用(例如 ETH),因为这是实际移除权限的链上交易。在 Gem Wallet 中批准以发送它。
步骤 7:验证授权已被移除
重新加载 Revoke.cash 并确认授权已消失或其金额已更改。在我们的测试中,仪表板更新为 0 个授权、0 美元风险价值和空授权列表,证明合约在再次请求之前无法再使用 USDC。
点击撤销,在 Gem Wallet 中确认 0 USDC 额度,并验证授权已消失。
您应该撤销哪些代币授权?
并非每个授权都需要移除,但有些是明确的候选者。在以下情况下撤销授权:
- 未使用的 DApp: 您不再使用持有它的 DApp。
- 未知支出者: 您不认识支出者合约。
- 无限金额: 授权被授予无限金额。
- 旧 NFT 挂牌: 权限与您已关闭的 NFT 挂牌相关联。
- 报告的黑客攻击: 项目已披露黑客攻击或漏洞。
- 可疑来源: 授权在可疑的铸币或空投后出现。
- 遗忘的原因: 您不记得为什么授予它。
如果您的加密货币钱包已被耗尽该怎么办
立即撤销每个活动授权:撤销会停止进一步的支出,但不会恢复已被盗的资产。如果您的助记词或私钥已泄露,请在干净的设备上创建新钱包,并将任何剩余资金转移到那里。如果清扫机器人正在监视地址,请不要在没有单独资产救援计划的情况下向受损地址发送 gas。
如何使用 DApp 而不被耗尽
撤销可以清理您已经授予的权限,但更安全的习惯是在您签署之前捕获有风险的授权。一些规则涵盖了大多数情况:
- 验证域名: 在连接之前检查 DApp 的确切 URL。
- 忽略授权诱饵: 不要仅为领取空投而签署不明确的授权。
- 限制金额: 限制批准的金额而不是授予无限。
- 注意 setApprovalForAll: 对集合范围的 NFT 权限格外谨慎。
- 检查支出者: 确认支出者地址属于真实协议。
- 定期修剪: 按计划移除旧授权。
- 隔离风险: 为新的和不受信任的 DApp 使用单独的钱包。
使用 Gem Wallet 在 100 多个区块链上使用 DApp,这是一款完全开源的自托管钱包,将私钥存储在您的设备上,不收集任何个人数据。下载 Gem Wallet 并连接到与 WalletConnect 兼容的应用程序,同时保持对密钥的完全控制。


