ERC-20授权撤销前,如何核对 spender 与网络? 图 1
ERC-20授权撤销前,如何核对 spender 与网络? · 图 1

断开网站连接,不等于收回代币权限

连接钱包和授予代币额度是两件不同的事。关闭 DApp 标签页,或在钱包里断开网站会话,处理的是当前应用与钱包之间的连接;ERC-20 的 approve 则会在代币合约上记录一个 spender 可使用的额度。Ethereum.org 明确说明,断开钱包与 DApp 的连接不会自动撤销已经授予的 token allowance。若不再需要某项授权,还要单独检查对应网络上的授权记录,并在确认对象后提交撤销操作。

理解三个词能减少误操作:持币地址是授权人,spender 是获准调用额度的地址,allowance 是它可以代表持有人使用的代币数量。EIP-20 定义了 approve 来设置额度,transferFrom 则允许 spender 在已授权范围内代表持有人转移代币。授权本身是链上合约权限,不是网站登录状态,也不是“断开连接”就会消失的临时许可。

按网络逐一盘点

开始前准备好你实际使用过的钱包地址,并列出曾连接过的网络和 DApp。不要把某个网站显示的“已连接”列表误当成完整授权清单。Ethereum.org 特别提醒,不同网络的授权列表分别显示:检查 Ethereum 主网并不代表 Polygon 等其他网络也已检查。应在每条实际使用过的网络上分别核验,并确认授权检查工具支持该网络;不同工具的网络覆盖和索引更新存在差异,不能假定一个页面包含所有链。

检查页面前先核验网址来源。优先从 Ethereum.org 官方指南或你信任的官方钱包入口进入,不要从私信、广告或陌生社群链接打开“授权回收”页面。钱包弹窗应显示你预期的网络、代币合约和操作内容。如果页面要求输入助记词、私钥,或让你签署看不懂的消息才能“查看授权”,应立即关闭。查看权限不应要求把恢复短语交给网站。

撤销前逐项确认 spender

对每条授权记录,至少核对网络、代币、spender 地址和当前 allowance。地址陌生、额度很大或显示“无限额度”都值得进一步查看,但单凭名称陌生不能断言它恶意;也不要仅凭一个标签就认定可信。回忆这项授权对应的应用和用途,结合项目官方文档、钱包记录及区块浏览器确认对象。如果无法确认某个地址或授权用途,暂不签署撤销以外的交易,先停止与可疑页面的交互并做来源核验。

当确认不再需要授权时,再使用可信界面选择相应 spender 并检查拟提交的操作。撤销通常需要用户在对应网络签署链上交易,并支付该网络的费用;费用和确认时间随网络状况变化,没有适用于所有时刻的固定数值。确认钱包弹窗里的网络、合约交互和费用信息与刚才选择的记录一致后,才决定是否签名。若出现与预期不符的代币、合约或权限请求,取消并重新从官方入口检查。

确认交易完成,再检查余额度

撤销按钮已点击,不等于链上授权已经变化。提交后保存交易哈希,在对应网络的区块浏览器检查交易状态;待交易确认后,刷新授权页面并重新核对 spender 的 allowance 是否归零或按预期降低。若页面尚未更新,可能是索引延迟或网络不匹配;不要因列表暂时未变化而重复签署多个相同操作,先核对交易状态和网络。

还要区分“撤销”和“归还资产”。撤销授权改变的是合约允许 spender 后续使用的额度,不会自动追回此前已经转出的代币。如果资产已转走,应保存交易哈希和页面证据,通过钱包、项目及所在平台的官方支持渠道报告;不要相信任何声称能用私钥“追回”资产的陌生人。

可延伸阅读 代币授权给了谁?ERC-20额度怎么查,了解查询授权额度的基础概念;也可读 EIP-7702授权怎么检查? 区分代币 allowance 与账户执行委托。两者是不同机制,检查一类权限不能代替检查另一类权限。

安全边界

只在官方或已核验的入口查看授权,仔细核对链、spender、代币和交易内容。不要泄露助记词、私钥、验证码或远程访问权限。撤销交易本身会消耗网络费用,且错误网络、恶意页面或签错对象会带来风险。本文仅介绍防御性检查与处置,不构成投资建议,也不保证授权检查工具覆盖全部网络或实时记录。