今年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協議,並很快將在以太坊主網上線,而他們的首要任務是確保合約的安全性,畢竟這涉及到了用戶的資金安全。

相關文章