機密包裹的以太坊

本文為機器翻譯
展示原文

隱私對以太坊的長期生存能力和可操作性至關重要。

遵循精彩的以太坊隱私:通向自主權的道路路線圖,我們提出了一個保密的WETH概念,這可能在未來發展成一個成熟的保密代幣標準(EIP)。

很想聽聽你對這份草案的想法!


1. 引言

透明性是公共區塊鏈的關鍵優勢之一。然而,交易的公開可見性可能會損害使用者的隱私。根本挑戰在於平衡區塊鏈開放性的內在好處與個人保密性的重要需求。

目標是建立一個無需許可的公共協議,透過加密餘額和轉賬金額來混淆使用者在ETH代幣中的財務活動。這將允許在不依賴中心化實體的情況下進行保密的點對點支付、捐贈和獲取。

該提案建議在應用層完全建立一個保密版本的包裝以太坊(cWETH)。該解決方案結合了橢圓曲線(EC)扭曲ElGamal基礎承諾方案以保持保密性,以及EC迪菲-赫爾曼(DH)協議以引入由承諾方案限制的可訪問性。為了強制執行正確的承諾生成、加密和解密,使用了zk-SNARKs。

1.1. 與現有協議的區別

至少有兩種已知解決方案不需要協議層修改,可以直接實施。

Solana和Zether方法乍看起來非常相似,因為它們也使用ElGamal承諾。然而,主要區分因素是需要解決離散對數問題以訪問加密餘額。

Solana透過維護一個單獨的可解密餘額部分緩解了這一問題。但主要區別在於所使用的加密方案不支援聚合,這樣的餘額主要作為快取,在待定金額移動到實際金額時更新。然而,仍然需要解密表示為ElGamal承諾的餘額,這重新引入瞭解決離散對數問題的必要性。儘管透過將值分塊可以簡化這個過程,但cWETH協議提出了一種可聚合的加密方案,並與ElGamal承諾一起管理,以完全避免計算離散對數。

另一個區別在於cWETH使用的零知識證明。Solana和Zether方法依賴於Sigma協議和bulletproofs,而這個提案基於zk-SNARKs。這裡的權衡是需要可信設定,但可以透過使用現有的可信設定(如Plonk的通用設定)來緩解,該設定已被證明隨時間推移是安全的。

(由於篇幅限制,只翻譯了部分內容,翻譯保留了原文的技術細節和結構)

餘額承諾是按照以下方式加法計算的:

3.3. 使用橢圓曲線迪菲-赫爾曼共享金鑰進行加密

由於ElGamal承諾本身並不能為使用者提供一種方便的方式來訪問解密餘額,需要解決離散對數問題,因此透過使用橢圓曲線迪菲-赫爾曼共享金鑰進行額外的金額隱藏加密。

DH共享金鑰的推導如下:

轉賬金額的DH基礎加密對傳送方和接收方的處理方式不同。

用於聚合接收方餘額的轉賬金額加密按以下公式計算:

隨機數的使用是為了解決加密方案缺乏隨機性導致的潛在轉賬資料洩露問題,在重複支付時尤其明顯。這些隨機數必須與傳送方的公鑰一起儲存,以便使用者可以解密其餘額。

加密金額進一步用於聚合加密的接收方餘額:

根據公式,接收方可以按以下方式解密其餘額:

在傳送方這邊,使用這種方法加密轉賬金額可能會導致管理無限數量的公鑰和解密餘額所需的隨機數。為了解決這個問題,每次使用者轉賬時,都會重置現有傳送方公鑰和隨機數的列表。這是透過計算新的加密傳送方餘額來實現的,如下所示:

更新加密餘額後,傳送方只需管理自己的公鑰和隨機數作為單一條目來解密所擁有的代幣總額。

相同的新餘額計算邏輯可用於解包cWETH代幣。

(後續部分省略,因為篇幅限制)

  • 使用者私鑰;
  • 在ElGamal承諾中使用的隨機數。

操作這些訊號,電路必須具有以下約束:

  1. 所提供的私鑰確實是所提供公鑰的私鑰。
  2. 所提供的存款金額被證明是使用基於ElGamal的承諾所提交的。
  3. 使用者存款後的餘額被證明是使用DH共享金鑰加密的。

5.2. 保密轉賬電路

保密轉賬證明的電路訊號列表如下:

公開訊號:

  • 傳送方公鑰;
  • 接收方公鑰;
  • 傳送方餘額的ElGamal承諾;
  • 基於傳送方公鑰的轉賬金額的ElGamal承諾;
  • 基於接收方公鑰的轉賬金額的ElGamal承諾;
  • 使用傳送方公鑰為基礎的DH共享金鑰加密的傳送方新餘額;
  • 用於傳送方新餘額加密的隨機數;
  • 使用接收方公鑰為基礎的DH共享金鑰加密的轉賬金額;
  • 用於接收方轉賬金額加密的隨機數。

私密訊號:

  • 傳送方私鑰;
  • 傳送方餘額;
  • 轉賬金額;
  • 用於傳送方ElGamal承諾的隨機數;
  • 用於接收方ElGamal承諾的隨機數;

操作這些訊號,電路必須具有以下約束:

  1. 所提供的私鑰確實是所提供傳送方公鑰的私鑰。
  2. 所提供的傳送方餘額被證明是使用ElGamal承諾提交的,並且大於或等於轉賬金額。
  3. 傳送方的轉賬金額ElGamal承諾是正確生成的。
  4. 接收方的轉賬金額ElGamal承諾是正確生成的。
  5. 傳送方的新餘額是使用傳送方公鑰為基礎的DH共享金鑰正確加密的。
  6. 轉賬金額是使用接收方公鑰為基礎的DH共享金鑰正確加密的。

5.3. 從cWETH提取電路

提取cWETH證明的電路訊號列表如下:

公開訊號:

  • 使用者公鑰;
  • 接收地址;
  • 提取金額;
  • 使用者餘額的ElGamal承諾;
  • 基於使用者公鑰的提取金額的ElGamal承諾;
  • 使用使用者公鑰為基礎的DH共享金鑰加密的提取後餘額;
  • 用於新餘額加密的隨機數。

私密訊號:

  • 使用者私鑰;
  • 使用者餘額;
  • 用於ElGamal承諾的隨機數;

操作這些訊號,電路必須具有以下約束:

  1. 所提供的私鑰確實是所提供公鑰的私鑰。
  2. 所提供的傳送方餘額被證明是使用ElGamal承諾提交的,並且大於或等於提取金額。
  3. 提取金額的ElGamal承諾是正確生成的。
  4. 新餘額(提取後)是使用使用者公鑰為基礎的DH共享金鑰正確加密的。

參考文獻

Solana基金會。保密代幣擴充套件。2022年。
Benedikt B¨unz等。Zether:邁向智慧合約世界的隱私。2020年。


來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論