博客
关于我
Umbra:以太坊区块链的隐形支付协议
阅读量:502 次
发布时间:2019-03-07

本文共 1652 字,大约阅读时间需要 5 分钟。

编译:隔夜的粥

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

据悉,Umbra协议是由Matt Solomon和Ben DiFrancesco为HackMoney 2020虚拟黑客松开发的,目前已经在以太坊Ropsten测试网上可用。

那它是用来做什么的?简单说:

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

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

图:在Etherscan上查看使用Umbra协议的 ETH交易。在链上,隐形地址看起来就像是正常的EOA地址。

在链外,发送方已使用ENS通过接收方发布的公钥来生成新地址。通过加密用于生成地址的数据,并通过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协议,并很快将在以太坊主网上线,而他们的首要任务是确保合约的安全性,毕竟这涉及到了用户的资金安全。

推荐阅读

更多关键词: | 

 |  |  | 

 |  |  | 

转载地址:http://glocz.baihongyu.com/

你可能感兴趣的文章
MySQL:什么样的字段适合加索引?什么样的字段不适合加索引
查看>>
MySQL:判断逗号分隔的字符串中是否包含某个字符串
查看>>
MySQL:某个ip连接mysql失败次数过多,导致ip锁定
查看>>
MySQL:索引失效场景总结
查看>>
Mysql:避免重复的插入数据方法汇总
查看>>
MyS中的IF
查看>>
M_Map工具箱简介及地理图形绘制
查看>>
m_Orchestrate learning system---二十二、html代码如何变的容易
查看>>
M×N 形状 numpy.ndarray 的滑动窗口
查看>>
m个苹果放入n个盘子问题
查看>>
n = 3 , while n , continue
查看>>
n 叉树后序遍历转换为链表问题的深入探讨
查看>>
N!
查看>>
N-Gram的基本原理
查看>>
n1 c语言程序,全国青少年软件编程等级考试C语言经典程序题10道七
查看>>
Nacos Client常用配置
查看>>
nacos config
查看>>
Nacos Config--服务配置
查看>>
Nacos Derby 远程命令执行漏洞(QVD-2024-26473)
查看>>
Nacos 与 Eureka、Zookeeper 和 Consul 等其他注册中心的区别
查看>>