用小额热钱包证明金库里的 NFT:ERC-5639 委托登记处的分级授权
很多场景要求你”用持有 NFT 的那个钱包签一条消息”:登录会员专区、认领空投、编辑市场个人主页。问题是,为一个只读性质的证明,你把主钱包的地址拖进了每一次签名交互,钓鱼站骗签的机会也随之累积。ERC-5639 提出了一个叫委托登记处(Delegation Registry)的方案:让主钱包(文档里称 vault)预先登记一批替身(delegate),dApp 验证替身的签名即可承认它代表主钱包。提案在标准文档中的状态为 Review,创建于 2022 年 9 月 9 日,现状以标准仓库为准。
四级委托:从”全都代表我”到”只带这一枚”
登记处的接口用枚举划了四种委托类型。NONE 表示没有委托;ALL 是最大范围,delegate 可以在任何场景代表 vault;CONTRACT 缩小到某个合约,只在那个项目的场景里算数;TOKEN 最细,精确到某个合约里的某一枚 NFT。对普通用户最容易理解的画面是:你把展示型身份委托给手机上的热钱包,范围限定到某个市场合约,热钱包丢了,主金库纹丝不动。每次登记与撤销都会发出事件(如 DelegationAdded、DelegationRevoked),链上可以枚举某地址作为 vault 或 delegate 身份参与的全部委托记录,谁授权了谁、范围多大,公开可查。

它想解决的三件麻烦
提案的动机部分写得很直白。一是安全:过去这类签名的感受像把主钱包根权限递给第三方应用,误签恶意载荷的案例几乎都意味着资产损失;用低风险热钱包去承接这些签名,恶意交互造成的损失被隔离在热钱包的小额资产里。二是多设备:想在手机、平板上用同一个身份,本来要把助记词抄到每台设备,暴露面越铺越大;改为每台设备一个被授权的替身,设备丢了撤销授权即可。三是可用:硬件钱包安全但不随身,委托一个手机钱包负责登录类签名,出门不用带设备。委托还可以成链——替身再授权下一层,主钱包从根部一撤销,整棵树的权限一起失效,适合团队场景。
它救不了什么
要划清边界:登记处解决的是”证明身份”的签名外包,动资产的那类操作本来就不该外包给小额热钱包;dApp 是否真的按登记处验证委托,取决于它自己的接入,你的委托只在接入的站点上生效。撤销也只在链上生效——登记处按文档定位是一个供各项目读取的独立登记合约,若某个平台把身份映射存在了自己家里,那边还得单独解绑。落地前先查该站帮助文档说明用哪份登记处合约做验证,这比自行猜测地址稳妥。
普通读者能把这篇浓缩成一句话:登录、认领、改资料这类”证明我有”的签名,值得配一个专用小号钱包去签;能限定到具体合约甚至具体一枚 NFT 的授权,就不要给全量授权。此外要清醒:委托只转移签名的便利,不转移风险的责任——凡是让 delegate 能触发转账的路径,都应按高危授权对待。
动手前的操作顺序
如果你打算用这套思路重构自己的签名习惯,合理顺序是:先给日常设备建一个只装少量资金的小号钱包;再确认你常去的平台是否声明支持委托验证,如果支持,用主钱包做一次范围最小的登记(优先 TOKEN 或 CONTRACT 级,避免 ALL);从此登录、认领类操作都改用小号;每隔一段时间在主钱包侧枚举一次自己发出的委托记录,把不再使用的条目撤销。整个过程里,主钱包从来没有把私钥复制到第二台设备,也没有在陌生站点上出现过。
最后提示:本文只讨论机制与安全实践,文中提案状态以标准仓库当前记录为准,不构成投资建议,也不构成法律意见。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。