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

By [GWEI Reseach](https://paragraph.com/@gwei-reseach) · 2022-09-29

---

原文作者：[0xfoobar](https://0xfoobar.substack.com/p/delegatecash) 编译：DeFi 之道

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

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

![对于没有经验的用户来说，自我托管可能是痛苦的](https://storage.googleapis.com/papyrus_images/01bc9167ab9b7a9653ffd3a66321546b2fb7ed8ab088f9b7399a5578143a5902.png)

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

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

![](https://storage.googleapis.com/papyrus_images/758512e5a92466f038ded355794f8351028a01d291436703ef69562933349377.png)

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

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

![](https://storage.googleapis.com/papyrus_images/7b8d07ed8843bfae72a3e6257f1cdfdd567b9346e139f42a8699f556fbc68485.png)

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

**NFT 持有者如何使用 delegate.cash？**

  

你可以使用 [delegate.cash](https://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 [过期列表](https://support.opensea.io/hc/en-us/articles/4415742560403-What-is-an-inactive-listing-)问题那样的攻击载体可以被阻止。

*   **完全可枚举**
    

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

*   **完全不可变**
    

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

*   **完全独立**
    

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

*   **完全可验证**
    

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

常见问题
----

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

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

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

然后呢？
----

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

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

**资源**

*   智能合约 repo：[https://GitHub.com/0xfoobar/delegation-registry](https://github.com/0xfoobar/delegation-registry)‌
    
*   前端 repo：[https://GitHub.com/0xfoobar/delegate-cash-frontend](https://github.com/0xfoobar/delegate-cash-frontend)‌
    
*   智能合约部署：[0x00000000000076A84feF008CDAbe6409d2FE638B](https://etherscan.io/address/0x00000000000076a84fef008cdabe6409d2fe638b#code)‌
    
*   前端部署：[https://delegate.cash](https://delegate.cash/)‌
    
*   EIP-5639：[https://eips.ethereum.org/EIPS/eip-5639](https://eips.ethereum.org/EIPS/eip-5639)‌
    
*   NPM sdk：即将推出
    

**【关注DeFi之道】**

[_网站_](https://www.defidaonews.com/) _|_ [_推特_](https://twitter.com/8BTC_OFFICIAL) _|_ [_电报资讯_](https://t.me/Mute_8btc) _|_ [_电报荐读_](https://t.me/defizhidao) _|_ [_电报社区_](https://t.me/news_8btc) _|_ [_Discord_](https://discord.gg/defidao)

---

*Originally published on [GWEI Reseach](https://paragraph.com/@gwei-reseach/nft-delegate-cash)*
