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

你可能感兴趣的文章
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从Oracle11G同步数据到Mysql_亲测可用_解决数据重复_数据跟源表不一致的问题---大数据之Nifi工作笔记0065
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>