今年以太坊黑客上松诞生了不少 亮眼的 DeFi 实验,Umbra 就是其中一个值得关注的以太坊隐形支付协议。

原文标题:《引介 | Umbra:以太坊区块链的隐形支付协议
撰文:Matt Solomon、Ben DiFrancesco
编译:洒脱喜

今年 4 月初的时候,以太坊联合创始人 Vitalik Buterin 曾在推特上明确提到,以太坊生态系统急需解决隐私问题,主要原因是 ENS 域名的普及给以太坊用户带来了很大的隐私问题,并且随着 DeFi 生态的不断发展,这种问题的严重性也将越来越突出。而除了 Vitalik 提到的 tornado.cash 项目,最近还出现了一个简单的以太坊隐形支付协议,它的名字叫 Umbra。

三分钟速览以太坊隐私协议新物种 Umbra 工作原理

据悉,Umbra 协议是由 Matt Solomon 和 Ben DiFrancesco 为 HackMoney 2020 虚拟黑客松开发的,目前已经在以太坊 Ropsten 测试网上可用。
那它是用来做什么的?简单说:

「有了隐形地址,付款人可以向接收者控制的地址发送 ETH 或 ERC20 代币,而除了双方之外,没有第三方可以知道接收者是谁。」

三分钟速览以太坊隐私协议新物种 Umbra 工作原理

在链上,交易看起来就像是简单地传输到以太坊网络上的一个未使用地址。

三分钟速览以太坊隐私协议新物种 Umbra 工作原理图:在 Etherscan 上查看使用 Umbra 协议的 ETH 交易。在链上,隐形地址看起来就像是正常的 EOA 地址

在链外,发送方已使用 ENS 通过接收方发布的公钥来生成新地址。通过加密用于生成地址的数据,并通过 Umbra 智能合约宣布,发送方可以让接收方知道他们已将付款发送到了新的隐形地址。而只有接收者才能生成提取资金所需的私钥。

三分钟速览以太坊隐私协议新物种 Umbra 工作原理图:Umbra 的接口,可通过 ropsten.umbra.cash 访问,目前仅在 Ropsten 测试网可用

通过利用 Gas Station 网络和 Uniswap,Umbra 使取款人能够使用他们收到的代币支付 gas。这就避免了在取款前用 ETH 来为隐形地址提供资金的需要。

Umbra 和 Tornado Cash 的不同

那 Umbra 和 Vitalik 经常提及的 Tornado Cash 有什么不同呢?

简单说,Tornado Cash 是一个使用零知识证明的链上混币器,当你把币放到里面,并等待别人也这么做之后,你就可以用自己的证明取出资产,由于每个人的资金都集中在混币器中,所以来源地址和取款地址之间的链接就断开了。

而 Umbra 协议则是用于两个实体之间的支付,并附带了一组不同的隐私权衡(即考虑的方向不同),Umbra 没有破坏发送者和接收者地址之间的链接,而是使得该链接毫无意义。每个人都能够知道资金被发送到哪个地址,但他们却无法知道是谁在控制那个地址。

除了这些,Umbra 协议还具有一些非常有意思的特性,比如它使用的 gas 要少得多,因为它不需要验证链上的任何高级加密技术,所有的交易都是简单的转账。此外,它使得 ETH 和任意 ERC20 代币都可以私下转让,你不需要依赖于一个大型的匿名集。

Umbra 协议的工作原理描述

最后,简单谈谈 Umbra 协议到底是如何实现的:

  1. 用户将已签名的消息发布到 ENS 文本记录,以显示他们的 Umbra 公钥。此公钥是从专门为 Umbra 生成的随机私钥派生出来的。
  2. 付款人使用这个公钥,并加上一些随机生成的数据,然后创建一个新的「隐形」地址。
  3. 付款人用接收者的公钥加密随机数据。
  4. 付款人将资金发送到屏蔽地址,并将加密消息发送到 Umbra 的智能合约。合约将加密的消息作为事件进行广播。
  5. 接收者扫描 Umbra 协议广播的加密消息,直到找到一个可以用私钥解密的消息。
  6. 接收者使用加密消息的内容加上他们的私钥来生成隐形地址的私钥。
  7. 接收者使用隐形地址的私钥签署一笔取款交易,将 ETH 或代币发送到他们选择的地址。
  8. 另外可选的一个途径,取款交易通过 Gas Station 网络交易中继者广播,避免了为访问代币的隐形地址提供 ETH 资金的需要。Umbra 合约通过 Uniswap 交换部分代币,向 GSN 中继者支付 gas。

截至目前,Umbra 协议依旧处于在 Ropsten 测试网测试的阶段,根据 Ben DiFrancesco 表示,他们计划完善 Umbra 协议,并很快将在以太坊主网上线,而他们的首要任务是确保合约的安全性,毕竟这涉及到了用户的资金安全。

来源链接:www.scopelift.co