躺在冷钱包里的 NFT 如何安全申领空投:一文了解 delegate.cash

原文作者:0xfoobar 编译:DeFi 之道

"我被黑了。我所有的 ape 都被盗了"-- 这一绝望的呼喊传遍了推特,也因此被列入了表情包收藏。加密基础设施仍然处于 20 世纪 80 年代的 Unix 阶段,一个错误的点击就可以毁掉你整个投资组合。交易模拟还很早期,所以非技术性的钱包用户在执行交易时可能会感到无助。与空投承诺交互是可怕的,不知道那个诱人的 "Claim" 按钮是会(1)给到你免费的金钱,还是会(2)偷走你珍贵的 NFT。对于普通的加密用户来说,这是另一种俄罗斯轮盘赌。

注:俄罗斯轮盘赌(Russian roulette)是一种残忍的赌博游戏。与其他使用扑克、色子等赌具的赌博不同的是,俄罗斯轮盘赌的赌具是左轮手枪和人的性命。

对于没有经验的用户来说,自我托管可能是痛苦的
对于没有经验的用户来说,自我托管可能是痛苦的

那么,用户可以做什么?在 Punk6529 的这个推特 Thread‌ 中,他给出了一个很好的建议,即从热的软件钱包 -> 热的硬件钱包 -> 冷的硬件钱包 -> 多签。如果你拥有一个不太可能需要互动的 XCOPY 或 Fidenza,这是一个好建议。但是,当你把你 BAYC 塞进你的冷硬件钱包,你如何申领你的 ApeCoin?你如何获得进入 ApeFest 的门票?你如何证明钱包的所有权以进入那个私人 Discord 频道?这些都需要使用你所谓的冷钱包进行交互,把它变回热钱包。

冷钱包金库可以将空投申领权委托给热钱包,且不危及原始代币

这就是为什么我们创建 delegate.cash 的原因,这是一个完全不可变的链上注册合约,允许用户指定热钱包 "代表" 来代表冷钱包 "金库" 行事。目前,它已在 Ethereum+Polygon+Goerli 上上线,其他链也可根据要求提供。最终确定的合约在 0x0000000076A84feF008CDAbe6409d2FE638B 进行部署和验证。这是一个全球性的单子部署,所有的整合将简单地查询现有的委托注册表,而不需要部署自己的合约。智能合约 repo 和委托前端 repo 都是开源的。

用户流的比较:用户只需在一个受信任的网站上委托他们的冷钱包一次,他们就可以在热钱包交互中无限次地重复使用该委托。

NFT 持有者如何使用 delegate.cash?

 

你可以使用 delegate.cash,为你的冷钱包金库分配一个热钱包委托人。我们已经建立了一个细化的权限系统,所以你可以为(1)所有;或者(2)一个特定的合约;或者(3)一个特定的代币指定一个委托人。我预计大多数用户会对委托所有更感兴趣,但你也可以委托一个热钱包来处理你的 BAYC 申领,另一个钱包来处理你的 digidaigaku 申领,以进一步分离权力。 

NFT 开发者如何使用 delegate.cash?

委托登记智能合约是 100% 链上可枚举的,所以不需要混乱的事件解析,你可以简单地查询智能合约本身的读取方法。请到开放源码仓库查看源代码的详细解释。另外,我们还将在未来几周内提供一个 JavaScript SDK。

当你编写你的 NFT 智能合约时,你可以查询 DelegationRegistry 合约,以查看特定用户是否有权限代表特定的代币行事。

当你编写你的 NFT 前端时,你可以查询 DelegationRegistry 智能合约,看看热钱包可能有资格代表哪些冷钱包库。

精明的观察者可能已经注意到,delegate.cash 并不是针对 NFT 的!事实上,我们明确地设计了它,以满足广泛的需求,包括 ERC20 代币委托和钱包级别的信誉。虽然这篇发布文章的重点是 NFT 采用的用例,但我们也期待着利用其他方面的进一步创造性想法。

如果你需要任何帮助或指导,请随时通过 Twitter DM 或 GitHub 来联系我们。我们还将发布集成样本,我也将推出一个集成 delegate.cash 铸币流程的链上争霸赛。请多支持!

竞争

到目前为止,最常见的问题是:"为什么是 delegate.cash,为什么不是 [其他委托方法]?"

衷心感谢过去在这个问题上做出不同取舍的所有人。进行比较并不是为了诋毁,而是为了达到最佳的统一标准,以便大规模采用。也就是说,delegate.cash 远远优于任何现有的解决方案,且超出很多。

  • 为什么不通过 EIP-5131 进行 ENS 委托?因为这需要不断的更新和资本要求,也是对可能的治理行动的一种危险的依赖。

  • 为什么不是 Wenew 的 HotWalletProxy?因为它有着中心化的管理控制,合约是危险的可升级的,而且只做钱包级的委托,不支持合约或代币级的委托。

  • 为什么不用 TokenProof?delegate.cash 与专注于提供认证二维码的移动应用程序是互补的,而不是相互竞争的,我们的注册专注于完全的链上枚举性,甚至可以与 TokenProof 验证挂钩。

特点

delegate.cash 是完全链上,可枚举的,不可变的,独立的和可验证的。

  • 完全链上

隐蔽的中继网络中没有漂浮的链下签名。这为用户提供了重要的保证,所见即所得。像 OpenSea 过期列表问题那样的攻击载体可以被阻止。

  • 完全可枚举

我们提供链上方法来获取冷钱包和热钱包的所有授权的完整列表。不需要对事件进行解析。这大大简化了智能合约和前端开发者的整合工作。

  • 完全不可变

零管理权。因为管理是一种攻击媒介,不应该存在于一个中立的去信任的委托标准中。该标准被设计为尽可能的灵活,但通过部署具有不同功能的新注册表,升级总是可能的。

  • 完全独立

没有任何外部依赖性,因此攻击面被锁定,注册表可以部署在你选择的任何 EVM 链上。

  • 完全可验证

通过在 CREATE2 部署中使用虚名地址,合约可以在多个链上以相同的 12-leading-zeros 地址去许可地部署。这使得终端用户更容易验证他们正在与正确的合约进行交互。

常见问题

这不是一种高摩擦的用户体验吗?恰恰相反,它应该是低摩擦的!你可以在 delegate.cash 上委托一次,然后用你的热钱包进行所有未来的交互,而不是每次都把你的冷钱包从仓库里挖出来。

我们如何知道哪些应用程序值得信任?你不需要知道!因为你只需与一个应用程序交互。由于你只是与一个可丢弃的热钱包进行交互,而该钱包没有任何有价值的东西可以偷,所以申领实验性空投或处理其他交互要安全得多。唯一的信任要求是检查 delegate.cash 是否与部署的合约相符,以及部署的合约代码是否诚实。这只需要检查一次。

dapp 怎么能相信委托是由金库验证的呢?由于单子委托注册表的部署是完全可以在链上枚举的,所以你可以直接查询读取方法(更多细节参见 repo 本身)。 

然后呢?

如果你是开发团队,那么去构建吧!这是一个中立的公共基础设施,多个团队的采用会带来巨大的上升空间。如果团队 A 和团队 B 都决定在即将到来的空投中使用 delegate.cash,那么 A 的持有者可以重复使用现有的委托来与 B 互动。

如果你是 NFT 持有人,那么倡导你最喜欢的球队采用这个标准!也许有一天,你就帮助拯救了一只 ape......

资源

【关注DeFi之道】

网站 | 推特 | 电报资讯 | 电报荐读 | 电报社区 | Discord

Subscribe to GWEI Reseach
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.