天天看點

ZKPs、FHE、MPC:區塊鍊中的私有狀态管理

作者:MarsBit

原文标題:ZKPs, FHE, MPC: Managing Private State in Blockchains

原文作者:Mohamed Fouda

原文來源:Medium

編譯:Lynn,火星财經

大約 14 年前推出的比特币通過消除中介機構徹底改變了金融交易。以太坊和智能合約的出現進一步加速了這一趨勢,消除了交易、借貸和期權等複雜金融産品的中介機構。然而,消除中介的代價往往是犧牲隐私。我們的鍊上身份和交易很容易被中心化交易所、上下坡道、鍊上分析公司和許多其他實體跟蹤。這種鍊上透明度限制了 Web 3 向許多用例的擴充,例如企業支付、專有鍊上交易和許多其他應用程式。

這個問題并不新鮮,許多項目(例如 zCash)自 2016 年以來一直試圖通過引入零知識證明(ZKP)等技術來解決該問題。從那時起,ZK 技術就以瘋狂的速度發展。此外,許多其他技術,例如完全同态加密(FHE)和安全多方計算(MPC)正在興起,以解決使用鍊上私有資料(又稱私有狀态)的更複雜的場景。

在 Alliance,我們相信鍊上隐私将實作以前不可能的用例,是以将成為未來幾年 Web 3 的核心主題。如果您是建構隐私基礎設施或需要私有狀态的應用程式的創始人,我們願意為您提供支援。您可以聯系聯盟并申請。

不同類型的私有狀态

在鍊上使用私有資料自然意味着該資料是加密的。該資料的隐私取決于加密/解密密鑰的所有權。該密鑰(即隐私密鑰)通常不同于正常的私鑰(即簽署交易的密鑰)。第一個僅控制資料的隐私,後者控制更改此資料。

隐私密鑰的所有權性質導緻了不同類型的私有狀态。私有狀态類型顯着影響該狀态在鍊上的表示方式以及處理該狀态的最佳方法。一般來說私有狀态可以分為個人私有狀态(PPS)和共享私有狀态(SPS)

個人私有狀态

這意味着資料/狀态由單個實體擁有,并且隻有該實體可以檢視或更改它。該實體還可以決定允許其他人檢視該資料,例如通過共享該資料的全部或部分的檢視密鑰。這種私有狀态的例子包括:

  • 私人代币餘額
  • 私人憑證或個人資訊。這包括年齡、公民身份、投資者認證狀态、Twitter 帳戶或可在 Web 3 中使用的任何其他 Web 2 資料
  • 私人交易曆史

共享私有狀态

共享私有狀态 (SPS) 是多人可以在不破壞隐私的情況下更改/使用進行計算的私有資料。 SPS 可以是任何人都可以通路的狀态,是以任何使用者都可以更改。這可以是暗池 AMM 的狀态、民間借貸池的狀态等。SPS 也可以僅限于能夠通路或更改資料的一小部分參與者。後者的示例包括鍊上多人遊戲的狀态,其中您隻允許活躍玩家更改狀态。它還可以包括鍊上人工智能模型的私有輸入,其中隻有少數實體(例如模型操作員)可以對私有資料運作計算。

SPS 比個人私有狀态更難管理。推斷可以在 SPS 上執行的計算類型以及該計算是否會洩漏有關它的資訊總是比較困難。例如,針對暗池 AMM 執行交易可能會洩露一些有關池内流動性的資訊。

ZKPs、FHE、MPC:區塊鍊中的私有狀态管理
ZKP、FHE 和 MPC

有不同的可能方法來處理鍊上私有狀态。每種方法都适合特定類型的私有狀态,是以适合一組特定的應用程式。在許多情況下,建立有用的應用程式需要将這些方法結合在一起。

零知識證明

第一種處理鍊上隐私的方法是利用 ZKP。這種方式特别适合個人私有資料。在這種方法中,資料的所有者可以簡單地使用他們的隐私密鑰在本地解密資料,進行任何所需的更改,使用他們的密鑰加密結果,最後生成一個 ZKP 來向網絡證明他們對私有狀态的更改是有效的。

ZKPs、FHE、MPC:區塊鍊中的私有狀态管理

這使得 ZK 特别适合支付網絡,例如 zCash、Iron Fish 等。在這些架構中,當使用者使用私有資産進行交易時,他們在本地進行所有計算,即花費 UTXO 并為接收者建立新的 UTXO,并修改其私有代币餘額。由于計算和 ZKP 生成在使用者裝置本地進行,是以餘額和交易曆史記錄的隐私受到保護。網絡礦工隻能看到生成的 ZKP 和新的加密 UTXO。

盡管執行支付所需的計算很簡單,但由于 ZKP 生成時間較長,私人支付的使用者體驗很困難。然而,随着 zk 證明系統的顯着改進,消費類硬體上簡單支付的證明生成時間降至 1 秒以下。這也允許将通用可程式設計性引入基于 zk 的系統。Aztec和Aleo是兩個偉大的網絡,它們為基于 zk 的鍊帶來了通用可程式設計性。 Aztec 和 Aleo 有一些差異,但兩者很大程度上都是基于ZEXE 模型。在此模型中,每個應用程式都必須實作為 zk 電路。這就需要網絡為應用程式開發人員和使用者抽象 zk 複雜性。這需要建立進階程式設計語言,例如 Noir (Aztec) 和 Leo (Aleo),它們可以有效地将進階代碼轉換為 zk 電路。

例如,Aztec 使用 Noir 及其相關的智能合約開發架構Aztec.nr将每個智能合約分解為一組函數。每個功能都作為 zk 電路實作。使用者可以通過下載下傳必要的函數并在裝置本地執行計算來對其私有資料進行通用計算。本線程讨論了 Aztec 智能合約如何執行的詳細資訊。

ZKPs、FHE、MPC:區塊鍊中的私有狀态管理

像 Aztec 這樣的實作通過引入通用可程式設計性顯着提高了 zk 系統的可用性。然而,此類系統仍然面臨一些挑戰:

  1. 任何基于私有狀态的計算都必須在用戶端進行。這會降低使用者體驗,并要求使用者擁有有能力的裝置才能使用網絡。
  2. zk 方法不适合處理共享私有狀态。預設情況下,所有應用程式都具有公共狀态。這使得建構資訊不完整的遊戲和私人 DeFi 等應用程式變得具有挑戰性。
  3. 可組合性更難,不可能執行需要更改多個私有狀态的事務,因為每個狀态都需要由單獨的使用者計算。此類交易需要分成多個部分,并且每個部分都在單獨的塊中執行。
  4. 私人資料的可發現性也面臨挑戰。如果使用者收到具有私有狀态的交易,他們無法發現該狀态,除非他們下載下傳整個網絡私有狀态,嘗試使用其隐私密鑰解密其中的每一部分。這給使用者帶來了具有挑戰性的使用者體驗,即使是執行簡單的任務,例如查詢餘額(如本線程所述) 。

基于 zk 的系統的合适應用

zk強大的隐私保障使其适用于相當多的用例

匿名社交媒體

一些知名人物無法分享他們的真實想法和經曆,擔心社會阻力和取消。這鼓勵了一種新型的社交媒體,參與者可以私下證明自己的某些特征,例如鍊上财富或擁有特定的 NFT,并使用此證明匿名釋出而不透露其真實身份。例子包括我的同僚David的鲸魚之歌原型,

私人鍊上憑證

一個相關的例子是允許具有一定資格的人匿名參與 DAO 或對需要特定專業知識的主題進行匿名投票。HeyAnoun就是一個 Web 3 示例。更大的應用領域是利用 IRL 憑證(例如 IRL 财富、學位)來匿名參與鍊上協定。在鍊上加入私人 IRL 憑證可以實作多種用例,例如無抵押 DeFi 貸款、鍊上 KYC 或地理門控。 ZK 适合這些用例,因為它允許存在可用于特定情況(例如貸款違約)的私有狀态部分的專用檢視密鑰。

将 IRL 憑證添加到鍊上的主要挑戰是如何保證 IRL 憑證/資料的真實性。zkEmail和TLSNotary等一些方法通過驗證特定 Web 域的 Web 流量以及該域包含所需資料來解決此問題。

企業發票/付款

私人支付的一個重要子集是企業支付。公司通常不想透露其業務合作夥伴/供應商或其協定的合同條款。鍊上支付的透明度限制了企業采用穩定币支付。有了适當的鍊上隐私,與現有銀行軌道相比,企業可以通過提高效率和成本效益來加速采用鍊上支付。

FHE方法

完全同态加密允許對加密資料進行計算并生成正确的加密結果,而無需在計算過程中解密資料。這使得 FHE 特别适合處理共享私有狀态。借助 FHE,可以建立具有私有狀态的鍊上應用程式,例如私有 AMM 池或私有投票箱。私有狀态以加密格式存在于鍊上,允許任何使用者對此資料執行計算。将 FHE 納傳入連結上可以實作并簡化許多以前不可能的用例,例如私人投票和資訊不完整的遊戲,例如撲克。

FHE優勢

FHE 的一個顯着優勢是在多個方面提高了可組合性。

  1. 多個交易/使用者可以更改同一塊内的相同私有狀态。例如,多個交換可以使用同一個暗池。
  2. 單個交易可以改變多個私有狀态。例如,一筆互換交易可以利用多個AMM暗池來完成一筆互換。

另一個優點是改善了使用者體驗。在 FHE 中,私有狀态的計算由網絡驗證器執行,他們可以部署專用硬體來更快地執行這些計算。

FHE 的第三個優勢是改善了開發人員體驗。盡管開發人員仍然需要更新他們的思維模型以正确處理私有狀态,但障礙比 zk 系統要低得多。首先,FHE 系統可以使用與智能合約鍊相同的賬戶模型來運作。其次,FHE 操作可以添加到現有 VM 實作之上,允許使用者使用他們習慣的相同開發架構、工具、錢包和基礎設施。Zama的fhEVM實作就是這種情況,它隻是添加了加密變量和 FHE 操作作為預編譯。與直覺相反,這種優勢對于鍊上私有應用程式的增長至關重要,開發者是建立吸引使用者的有趣應用程式的關鍵。無縫的開發者體驗可以吸引更多開發者進入 FHE 領域。

FHE 的局限性

隐私信任假設

FHE 鍊需要所有私有狀态的全局加密/解密密鑰。這對于實作可組合性至關重要。通常,這些密鑰由驗證器組維護,以便能夠解密私有狀态上的 FHE 操作的結果。這意味着驗證者組也被信任不會破壞現有私有狀态的隐私。

潛在的隐私洩露

對加密資料執行多次計算可能會破壞隐私。例如,在暗 AMM 池上執行的交易可以揭示有關該池目前流動性結構的一些資訊。

FHE 計算的計算複雜度

即使采用先進的實作方式,FHE 操作的計算成本也通常比正常計算高 1000 倍到 1,000,000 倍。這種複雜性限制了鍊上 FHE 應用程式的可能吞吐量。 Inco Network 目前的估計表明 FHE 操作的吞吐量在 1-5 TPS 之間。通過 GPU 和 FPGA 加速,吞吐量可提高 10-50 倍。

ZKPs、FHE、MPC:區塊鍊中的私有狀态管理

資料來源:https://eprint.iacr.org/2021/1402.pdf

FHE 系統的合适應用

FHE 系統特别适合需要高度可組合性的應用

資訊不完全博弈。這裡的示例包括紙牌遊戲,例如撲克,其中牌組的狀态是可通路的并且可以由多個玩家修改。

私人投票,FHE簡化了秘密投票的實施,投票可以在不知道之前投票結果的情況下改變計票結果

私有 AMM,私有 AMM 或私有 DeFi 池的實作通常通過将池狀态表示為加密變量來簡化。

MPC方法

多方計算 (MPC) 在加密行業中因資産托管的特定用例而聞名并流行。該領域一些最大的公司(例如Fireblocks)已經圍繞使用安全 MPC 進行并發托管建立了成功的業務。此外,許多錢包即服務提供商(例如 Coinbase、0xPass)利用 MPC 來提高錢包安全性和使用者體驗。

ZKPs、FHE、MPC:區塊鍊中的私有狀态管理

然而,MPC 的用途不僅僅是保護私鑰。一般來說,MPC 解決了對私有輸入(即資料)執行計算的問題,并且僅公開計算的輸出而不破壞輸入的隐私。在資産托管的具體場景中,私有輸入就是私鑰的分片。這些分片的所有者協作對這些私人輸入執行“計算”。這裡的計算就是生成交易簽名。這裡的多方共同生成并解密簽名,而其中任何一方都無法通路私有輸入,即私鑰。

同樣,MPC 允許對私有資料進行任何類型的計算,而無需洩露它。這允許 MPC 處理區塊鍊上下文中的私有狀态。其中一個例子是通過私有資料集進行去中心化人工智能訓練。不同的資料所有者和計算提供商可以協作對私有資料集執行基于 MPC 的 AI 訓練,以計算模型權重。計算的輸出(即權重)在訓練階段後由 MPC 組解密,以建立完整的 AI 模型。

許多MPC實作對資料隐私實作了強有力的隐私保證,即誠實少數,這意味着它具有與zk系統類似的隐私保證。 MPC 看起來也與 FHE 類似,因為它允許通過 SPS 執行計算,這意味着它可以實作可組合性。但與FHE相比,MPC有一些局限性

  1. 計算隻能由屬于 MPC 組的實體執行。該組之外的任何人都無法對資料執行任何計算
  2. 為了實作誠實的少數擔保,所有 MPC 各方都需要合作執行 MPC。這意味着 MPC 組的任何成員都可以審查計算。可以通過減少 MPC 門檻值(即執行計算所需的實體數量)來放寬此限制。然而,這裡的代價是,較少數量的參與者之間的協調可能會破壞資料的隐私。

MPC 系統的合适應用

暗池 CLOB

MPC 在 DeFi 中的第一個真正應用是暗池 CLOB 的實作。在此系統中,交易者無需事先了解訂單簿的狀态即可下限價或市價訂單。訂單比對通過 MPC 在私有資料(即現有訂單簿)上進行。Renegade Finance是建構此類系統的公司之一。

專有人工智能模型的去中心化推理

一些應用程式,例如基于 DeFi AI 的政策管理器或Web 3 信用評分,可以部署 MPC 以使用專有模型執行推理。在此架構中,AI 模型權重是私有的。權重可以在多個計算節點之間安全地共享,以便每個計算節點僅具有模型權重的子集。節點可以協作對更新的鍊上事件進行人工智能推理,以做出決策并送出執行 DeFi 政策的交易。

使用專有資料訓練開放人工智能模型

這裡的一個常見例子是使用私人健康記錄訓練醫療診斷模型。在這種情況下,模型建立者、公司和資料所有者(即患者)可以使用 MPC 進行協作,在私有資料上運作訓練過程,而不會破壞私有資料的隐私。Bittensor和Nillion等網絡可以實作此類用例。

僞無許可共享私有國家

通過精心設計,MPC可以用來處理僞無許可SPS。例如,暗 AMM 池的狀态以及對該狀态的計算可以建構為多個實體之間的 MPC。想要與 AMM 互動的使用者必須與 MPC 組共享其交易,以代表他們執行計算。這種方法的優點是每個 SPS 可以有一組不同的隐私密鑰(與 FHE 情況下的全局密鑰相比)。這種方法的風險是可能受到 MPC 小組的審查。然而,通過仔細的經濟設計,這種風險是可以減輕的。

競争還是協同

乍一看,所讨論的處理鍊上私有狀态的方法似乎具有競争力。然而,如果我們抛開建構這些網絡的不同團隊的經濟激勵,zk、FHE 和 MPC 實際上是互補的技術。

一方面,zk 系統提供了更強的隐私保證,因為“未加密”的資料永遠不會離開使用者的裝置。此外,未經所有者許可,任何人都不可能對這些資料進行任何計算。這種強大的隐私保證的代價是可組合性較弱。

另一方面,FHE 具有更強的可組合性,但隐私性較弱。隐私風險源于信任具有全局 FHE 解密密鑰的實體或少數實體。盡管存在這種風險,并且由于可組合性是加密貨币的核心要素,FHE 可以在 DeFi 等許多重要用例中實作隐私。

MPC 實施提供了 zk 和 FHE 方法之間獨特的中間地帶。 MPC 允許對共享私有資料進行計算。是以,它比 ZKP 提供了更多的可組合性。然而,這種私有狀态的計算僅限于一小部分參與者,并且不是未經許可的(與 FHE 不同)。

鑒于 ZKP、MPC 和 FHE 在應用速度上的差異,實際應用通常需要結合這些技術。例如,Renegade Finance結合了MPC和ZKP來建構暗池CLOB,同時保證參與者有足夠的資金來支付他們的隐藏訂單。同樣,鍊上撲克遊戲 zkHoldem 結合了 ZKP 和 FHE。

我們期望以隐私為中心的網絡能夠在幕後結合這些技術,為這些生态系統的開發人員提供無縫建構應用程式所需的所有工具。例如,Aztec 可以在網絡中結合某種形式的 MPC 來處理共享的私有狀态。同樣,Inco Network可以利用 ZKP 來允許私有位址和私有交易曆史。

懷揣着以隐私為中心的未來願景,Alliance 期待支援創始人建設這個未來。如果您在此域中進行建構,請聯系Alliance并申請。

繼續閱讀