博客
关于我
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/

你可能感兴趣的文章
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>
Node-RED中建立静态网页和动态网页内容
查看>>
Vue3+Element-ul学生管理系统(第二十二课)
查看>>
Node-RED中怎样让网站返回JSON数据
查看>>
Node-RED中根据HTML文件建立Web网站
查看>>
Node-RED中解析高德地图天气api的json数据显示天气仪表盘
查看>>
Node-RED中连接Mysql数据库并实现增删改查的操作
查看>>
Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
查看>>
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
查看>>
Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
查看>>
Node-RED怎样导出导入流程为json文件
查看>>
Node-RED简介与Windows上安装、启动和运行示例
查看>>
Node-RED订阅MQTT主题并调试数据
查看>>
Node-RED通过npm安装的方式对应卸载
查看>>
node-request模块
查看>>