• 風險提示:防范以虛擬貨幣/區塊鏈名義進行的非法集資風險。 ——銀保監會等五部門

    ZK 會吃掉模塊化堆棧嗎?

    白話區塊鏈 2024-04-18 11:31:22
    微信分享

    掃碼分享

    模塊化和零知識證明是推動區塊鏈技術發展的兩大趨勢。

    作者:Hannes Huitula

    翻譯:白話區塊鏈

    image.png

    1、區塊鏈是什么以及它是如何擴展當前的計算范式的?

    區塊鏈(名詞):一種協調機器,使來自世界各地的參與者能夠在一組共同約定的規則下協作,而無需任何第三方來促成。

    計算機被設計來做三件事:存儲數據、計算,并與其他計算機和人類進行通信。區塊鏈增加了第四維:對這三件事(存儲、計算和通信)按照約定的方式發生的額外保證。這些保證使得陌生人之間可以合作,而無需一個可信賴的第三方來促成(去中心化)。

    image.png

    這些額外的保證可以是經濟性的(基于信任博弈論和激勵/懲罰機制)或者是密碼學的(基于數學的信任),但大多數應用程序利用了兩者的結合——密碼經濟學。這與目前主要基于聲譽的系統形成了鮮明對比。

    雖然Web3經常被描述為“讀取、寫入、擁有”,但我們認為對于互聯網的第三次演變,更好的概念應該是“讀取、寫入、驗證”,因為公共區塊鏈的關鍵優勢在于保證計算和輕松驗證這些保證是否被遵守。擁有可以是保證計算的一個子集,如果我們建立的數字化產品可以被買賣和控制。然而,許多區塊鏈的用例受益于保證計算,但并不直接涉及擁有權。例如,在完全在鏈上的游戲中,如果你的健康值是77/100,你擁有這個健康值嗎,還是僅僅按照共同約定的規則在鏈上可執行?

    Web3 = Read, Write, Verify

     

    2、ZK和模塊化——將加速的兩個趨勢

    區塊鏈提供了很多令人興奮的內容,但去中心化模型也通過額外的功能(如點對點通信和共識)增加了開銷和低效性。此外,大多數區塊鏈仍通過重新執行來驗證正確的狀態轉換,這意味著網絡上的每個節點都必須重新執行交易以驗證所提議的狀態轉換的正確性。這會造成浪費,與中心化模型形成了鮮明對比,后者只有一個實體執行。雖然去中心化系統總是包含一些開銷和復制,但目標應該是在效率上趨近于一個中心化基準。

    盡管基礎設施在過去十年中有了顯著改善,但在區塊鏈可以處理互聯網級別規模之前還有很多工作要做。我們看到沿著兩個主要軸線存在權衡——表達能力和難度——并認為模塊化能夠使權衡前沿的快速實驗加速,而零知識證明則擴展了這一前沿:

    表達能力——你可以創造哪些保證?包括可擴展性(成本、延遲、吞吐量等)、隱私(或信息流管理)、可編程性和可組合性。

    難度——這些保證有多難實現?包括安全性、去中心化和用戶及代碼安全性。

    image.png

    模塊化是系統組件能夠分離和重組的程度。通過更快的反饋循環和更低的進入門檻,需要更少的資本(經濟和人力)——模塊化能夠加快實驗和專業化的速度。模塊化與集成化之間的問題不是二元的,而是一個實驗的光譜,通過實驗找出哪些部分應該解耦,哪些不應該。

    另一方面,零知識證明(Zero Knowledge Proofs,ZKPs)使一方(證明者)能夠向另一方(驗證者)證明他們知道某事是真實的,而不透露除了其有效性之外的任何附加信息。這可以通過避免重新執行(從所有執行驗證轉變為一個執行,所有驗證)來增加可擴展性和效率,同時通過啟用隱私(受限制)來增加表達能力。ZKPs通過用更強的保證替換較弱的密碼經濟學保證來提高保證的難度,這通過將權衡前沿推向外部來表示(參考上面的圖表)。

    image.png

     

    我們相信模塊化和“零知識證明在一切中的應用”都是會繼續加速的趨勢。雖然兩者都提供了探索該領域的有趣視角,但我們特別關注兩者的交叉點。我們感興趣的兩個關鍵問題是:

    1)模塊化堆棧的哪些部分已經融入了零知識證明,哪些尚待探索?

    2)零知識證明能夠解決哪些問題?

    然而,在我們深入探討這些問題之前,我們需要對2024年的模塊化堆棧有一個更新的視角。

     

    3、2024年的模塊化堆棧

    通常用的四個組件(執行、數據發布、共識、結算)構成的模塊化堆棧圖像,對于簡單的心智模型來說很有用,但我們覺得這已經不再是一個足夠準確的代表,因為模塊化領域的發展已經非常迅速。進一步的解構導致了新的組件,這些組件以前被認為是較大部分的一部分,同時也創造了新的依賴關系,需要在不同組件之間實現安全的互操作性(稍后我們會詳細介紹)。鑒于這個領域的發展速度,要及時了解堆棧不同層面的所有創新可能會很困難。

    早些時候對web3堆棧的探索嘗試包括Kyle Samani(Mult1C0in)在2018年首次發表并在2019年更新的內容。它涵蓋了從去中心化的最后一英里互聯網訪問(比如Helium)到終端用戶密鑰管理的一切。雖然其中的原則可能可以重復利用,但一些部分,比如證明和驗證,卻完全缺失了。

    考慮到這些因素,2024年我們嘗試創建了一個模塊化堆棧的更新表示,擴展了現有的四部分模塊化堆棧。它按組件而非功能進行分割,這意味著點對點網絡,例如,包含在共識中而不是將其拆分為單獨的組件——主要是因為很難圍繞它建立協議。

    image.png

     

    4、在模塊化堆棧中的零知識證明(ZK)

    現在我們對模塊化堆棧有了更新的視角,我們可以開始關注真正的問題,即ZK已經滲透到堆棧的哪些部分,以及引入ZK可以解決哪些未解決的問題(無論是避免重新執行還是隱私功能)。在我們深入研究每個組件之前,以下是我們的研究結果概要。

    image.png

    1)用戶操作抽象化

    當前的區塊鏈用戶需要在多個鏈、錢包和接口之間導航,這是繁瑣的,并且成為更廣泛采用的摩擦。用戶操作抽象化是一個總稱,用于嘗試將這種復雜性抽象化,讓用戶只需與一個接口互動(例如特定應用程序或錢包),所有復雜性都發生在后端。一些基礎級別的抽象化示例包括:

    賬戶抽象化(AA)使智能合約能夠進行交易,而無需每個操作都要求用戶簽名(“可編程加密賬戶”)。它可以用于定義誰可以簽名(密鑰管理)、簽署什么(交易負載)、如何簽署(簽名算法)以及何時簽署(交易批準條件)。這些功能的組合使得像使用社交登錄與dApp互動、雙因素認證(2FA)、賬戶恢復和自動化(自動簽署交易)等事情成為可能。盡管討論通常集中在以太坊(2023年春季通過的ERC-4337),但許多其他鏈已經內置了本地賬戶抽象化(Aptos、Sui、Near、ICP、Starknet和zkSync)。

    鏈抽象化允許用戶在不同鏈上簽署交易,同時只與一個賬戶互動(一個接口,多個鏈)。許多團隊正在研究這個問題,包括Near、ICP和dWallet。這些解決方案利用MPC和鏈簽名,將其他網絡的私鑰分成幾個小部分并在源鏈上的驗證者之間共享,他們簽署跨鏈交易。當用戶想要與另一條鏈進行交互時,需要足夠數量的驗證者簽署交易以滿足閾值加密。這保留了安全性,因為私鑰從未完全共享在任何地方。但它確實面臨驗證者勾結的風險,這就是為什么底層鏈的密碼經濟安全性和驗證者去中心化仍然非常相關的原因。

    意圖,在高層次上,將用戶的愿望和需求轉化為可以由區塊鏈執行的操作。這需要意圖解決者——專門的鏈下代理,負責找到用戶意圖的最佳解決方案。已經有幾個應用程序使用了專門的意圖,例如DEX聚合器(“最佳價格”)和橋接聚合器(“最便宜/最快的橋接”)。通用意圖結算網絡(Anoma、Essential、Suave)旨在使用戶更容易表達更復雜的意圖,并使開發者能夠構建以意圖為中心的應用程序。然而,仍然有許多未解決的問題,包括如何形式化這個過程、意圖中心語言會是什么樣子、是否總是存在最佳解決方案以及如何找到它。

    現有的ZK集成

    AA x ZK身份驗證:一個例子是Sui的zkLogin,它允許用戶使用熟悉的憑據(如電子郵件地址)進行登錄。它使用ZKPs來防止第三方將Sui地址與其對應的OAuth標識符進行關聯。

    AA錢包的更高效簽名驗證:在AA合約中驗證交易可能比傳統賬戶(EOA)發起的交易顯著更昂貴。Orbiter嘗試通過一個捆綁服務來解決這個問題,該服務利用ZKPs來驗證交易簽名的正確性,并維護AA賬戶的nonce值和gas余額(通過Merkle世界狀態樹)。通過證明聚合和將鏈上驗證成本平均分配給所有用戶,這可以實現顯著的成本節約。

    ZKPs可能解決的開放性問題

    最佳執行或意圖履行的證明:雖然意圖和AA可以將用戶的復雜性抽象化,但它們也可能作為一種中心化的力量,并要求我們依賴專門的參與者(解決者)來找到最佳執行路徑。與其僅僅信任解決者的善意,ZKPs可能被用來證明在解決者取樣的路徑中選擇了用戶的最佳路徑。

    意圖結算的隱私保護:像Taiga這樣的協議旨在實現完全保護意圖結算的功能,以保護用戶的隱私——這是在向區塊鏈網絡添加隱私(或至少保密性)方面的更廣泛移動的一部分。它使用ZKPs(Halo2)來隱藏關于狀態轉換的敏感信息(應用類型、參與方等)。

    AA錢包的密碼恢復:這個提案的想法是使用戶在丟失私鑰時能夠恢復他們的錢包。通過在合約錢包上存儲哈希(密碼,nonce),用戶可以借助他們的密碼生成一個ZKP來驗證這是他們的賬戶,并請求更改私鑰。確認期(3天或更長時間)用作防止未經授權的訪問嘗試的保障。

    2)順序化

    在加入區塊之前,交易需要被排序,這可以通過多種方式實現:按照提議者的盈利能力排序(最高支付的交易優先),按照提交的順序排序(先進先出),給予來自私有內存池的交易優先級等等。

    另一個問題是誰來排序交易。在模塊化的世界中,有多個不同的參與方可以做到這一點,包括滾動打包器(中心化或去中心化)、L1排序(基于滾動打包)、以及共享排序網絡(多個滾動打包使用的去中心化排序網絡)。所有這些都有不同的信任假設和擴展能力。在實踐中,交易的實際排序和打包成區塊也可以由專門的參與方(區塊構建者)在協議之外完成。

    現有的ZK集成

    驗證內存池正確加密:Radius是一個具有實用可驗證延遲加密(PVDE)的加密內存池的共享排序網絡。用戶生成一個ZKP,用于證明解決時間鎖謎題將導致對有效交易的正確解密,即交易包括有效的簽名和nonce,并且發送者有足夠的余額支付交易費用。

    ZKPs可能解決的開放性問題

    可驗證的排序規則(VSR):將提議者/排序者置于一組關于執行順序的規則之下,并附加額外的保證這些規則被遵循。驗證可以通過ZKPs或欺詐證明進行,后者需要一個足夠大的經濟保證金,如果提議者/排序者行為不端則會被削減。

    3)執行(擴展寫入)

    執行層包含了狀態更新的邏輯,也是智能合約執行的地方。除了返回計算結果之外,zkVMs還能夠證明狀態轉換是否正確執行。這使得其他網絡參與者可以通過僅驗證證明來驗證正確的執行,而無需重新執行交易。

    除了更快更高效的驗證之外,可證明執行的另一個好處是能夠進行更復雜的計算,因為您不會遇到氣體和有限鏈上資源的典型問題。這為在區塊鏈上運行計算更為密集的全新應用開啟了大門,并利用了可保證的計算。

    現有的ZK集成

    zkEVM滾動打包:一種特殊類型的zkVM,優化以與以太坊兼容并證明EVM執行環境。然而,與以太坊兼容性越高,性能的折衷就越大。2023年推出了幾種zkEVM,包括Polygon zkEVM、zkSync Era、Scroll和Linea。Polygon最近宣布推出了他們的類型1 zkEVM證明者,可以以每個區塊$0.20-$0.50的價格證明主網以太坊區塊(即將推出的優化將進一步降低成本)。RiscZero也有一種解決方案,可以證明以太坊區塊,但成本較高,并且受限的基準測試。

    替代性zkVMs:一些協議選擇了另一條路徑,優化了性能/可證性(Starknet、Zorp)或開發人員友好性,而不是試圖最大程度地與以太坊兼容。后者的例子包括zkWASM協議(Fluent、Delphinus Labs)和zkMOVE(M2和zkmove)。

    專注于隱私的zkVMs:在這種情況下,ZKPs用于兩個目的:避免重新執行和實現隱私。雖然僅通過ZKPs可以實現的隱私受到限制(只有個人私有狀態),但即將推出的協議為現有解決方案增加了很多表達能力和可編程性。例子包括Aleo的snarkVM、Aztec的AVM和Polygon的MidenVM。

    ZK協處理器允許在鏈外數據上進行鏈上計算(但沒有狀態)。ZKPs用于證明正確執行,比樂觀協處理器更快地結算,但成本存在折衷。考慮到生成ZKPs的成本和/或難度,我們看到一些混合版本,例如Brevis coChain,允許開發人員在ZK或樂觀模式之間進行選擇(在成本和保證難度之間進行折衷)。

    ZKPs可能解決的開放性問題

    納入zkVM:大多數基礎層(L1s)仍然使用重新執行來驗證正確的狀態轉換。將zkVM納入基礎層將避免這種情況,因為驗證者可以驗證證明。這將提高操作效率。大多數關注的焦點是以太坊,希望有一個納入zkEVM的基礎層,但許多其他生態系統也依賴重新執行。

    zkSVM:雖然SVM今天主要在Solana L1中使用,但像Eclipse這樣的團隊正在嘗試利用SVM進行在以太坊上結算的滾動。Eclipse還計劃在SVM中使用Risc Zero進行ZK欺詐證明,以應對SVM中狀態轉換的潛在挑戰。然而,一個完整的zkSVM尚未被探索——可能是由于問題的復雜性以及SVM被優化用于除可證性之外的其他事物。

    4)數據查詢(讀取擴展)

    數據查詢,或從區塊鏈讀取數據,是大多數應用的重要組成部分。盡管近年來的討論和努力大多集中在擴展寫入(執行)上,但由于兩者之間的不平衡(特別是在去中心化環境中),擴展讀取更為重要。讀/寫比例在不同區塊鏈之間有所不同,但一個數據點是Sig的估計,Solana上對節點的所有調用中有超過96%是讀取調用(基于2年的經驗數據)——讀/寫比例為24:1。

    擴展讀取包括通過專用的驗證者客戶端(如Solana上的Sig)提高性能(每秒更多的讀取)以及實現更復雜的查詢(將讀取與計算結合),例如通過協處理器的幫助。

    另一個角度是去中心化的數據查詢方法。今天,大多數區塊鏈中的數據查詢請求都由信任的第三方(基于聲譽)進行處理,例如RPC節點(Infura)和索引器(Dune)。更去中心化選項的例子包括The Graph和存儲證明運營商(也是可驗證的)。還有一些嘗試創建去中心化RPC網絡,例如Infura DIN或Lava Network(除了去中心化RPC,Lava還計劃后續提供額外的數據訪問服務)。

    現有的ZK集成

    存儲證明:允許從區塊鏈查詢歷史數據和當前數據,而無需使用信任的第三方。ZKPs用于壓縮并證明正確的數據已被檢索。在這個領域正在建設的項目示例包括Axiom、Brevis、Herodotus和Lagrange。

    ZKPs可能解決的開放性問題

    私有狀態的高效查詢:隱私項目通常使用UTXO模型的變體,這比賬戶模型具有更好的隱私特性,但代價是對開發人員友好度的犧牲。私有UTXO模型也可能導致同步問題——自2022年以來,Zcash在經歷了隱私交易量顯著增加后就一直在努力解決這個問題。錢包必須在能夠使用資金之前與鏈同步,因此這對網絡運作來說是一個非常基本的挑戰。為了預期這個問題,Aztec最近發布了一個關于筆記發現想法的RFP,但目前還沒有找到明確的解決方案。

    5)證明

    隨著越來越多的應用程序納入ZKPs,證明和驗證迅速成為模塊化堆棧的重要組成部分。然而,今天大多數證明基礎設施仍然是有許可的和中心化的,許多應用程序依賴單個證明者。

    雖然中心化解決方案較少復雜,但將證明架構去中心化并將其分割成模塊化堆棧中的一個獨立組件帶來了幾個好處。其中一個關鍵好處在于活躍性保證,這對于依賴頻繁生成證明的應用程序至關重要。用戶也從更高的抗審查性和由于競爭和將工作負載分享給多個證明者而導致的更低費用中受益。

    我們認為通用型證明者網絡(許多應用程序,許多證明者)優于單一應用程序證明者網絡(一個應用程序,許多證明者),因為它更高效利用現有硬件并對證明者來說更少復雜。更高的利用率也使用戶受益于較低的費用,因為證明者不需要通過較高的費用來補償冗余(仍然需要覆蓋固定成本)。

    Figment Capital對當前的證明供應鏈情況進行了很好的概述,其中包括證明生成和證明聚合(本質上是證明生成,但只是將兩個證明作為輸入而不是執行跟蹤)。

    image.png

    現有的ZK集成

    STARK與SNARK包裝:STARK證明者速度快,不需要信任設置,但缺點是它們產生的大型證明在以太坊L1上驗證的成本很高。將STARK包裝在SNARK中作為最后一步可以顯著降低在以太坊上驗證的成本。不過,這樣做增加了復雜性,并且這種“復合證明系統”的安全性尚未深入研究。現有實現的例子包括Polygon zkEVM、zkSync Era中的Boojum和RISC Zero。

    通用型去中心化證明網絡:將更多應用程序集成到去中心化證明網絡中,可以使證明者更高效利用硬件(更高的硬件利用率),也可以使用戶更便宜(無需為硬件冗余付費)。該領域的項目包括Gevulot和Succinct。

    ZKPs可能解決的開放性問題

    ZK欺詐證明:在樂觀解決方案中,任何人都可以挑戰狀態轉換并在挑戰期間創建欺詐證明。然而,驗證欺詐證明仍然相當繁瑣,因為它是通過重新執行來完成的。ZK欺詐證明旨在通過創建正在挑戰的狀態轉換的證明來解決這個問題,從而實現更高效的驗證(無需重新執行)和潛在的更快的結算。至少樂觀主義(與O1 Labs和RiscZero合作)以及AltLayer x RiscZero正在處理這個問題。

    更高效的證明聚合:ZKPs的一個很棒的特性是您可以將多個證明聚合成一個單一的證明,而不會顯著增加驗證成本。這使得可以將驗證成本分攤到多個證明或應用程序中。證明聚合也是一種證明,但輸入是兩個證明而不是執行跟蹤。在這個領域的項目示例包括NEBRA和Gevulot。

    image.png

    6)數據發布(可用性)

    數據發布(DP)確保數據在短時間內(1-2周)可用且容易檢索。這對于安全性(樂觀性Rollups在挑戰期間通過重新執行需要輸入數據來驗證正確執行,持續1-2周)和活躍性(即使系統使用有效性證明,也可能需要數據來證明資產所有權以進行逃生通道或強制交易)至關重要。用戶(如zk-橋梁和Rollups)需要進行一次性付款,以覆蓋存儲交易和狀態的成本,直到數據被刪除為止。數據發布網絡并不是為長期數據存儲而設計的(請參閱下一節可能的解決方案)。

    Celestia是第一個替代DP層發布其主網的項目(10月31日),但隨著Avail、EigenDA和Near DA等項目預計在2024年推出,很快將會有許多替代方案可供選擇。此外,以太坊的EIP 4844升級提高了以太坊上的數據發布效率(同時為Blob存儲創建了單獨的費用市場),并為完整的坦克分片鋪平了道路。DP也正在擴展到其他生態系統——一個例子是Nubit,它旨在在比特幣上構建本機的DP。

    image.png

    許多DP解決方案還提供純數據發布之外的服務,包括對主權Rollups的共享安全性(如Celestia和Avail)或Rollups之間更平滑的互操作性(如Avail的Nexus)。 還有一些項目(如Dom1C0n和Zero Gravity)提供數據發布以及長期狀態存儲,這是一個引人注目的建議。 這也是在模塊化堆棧中重新捆綁兩個組件的一個例子,這是我們未來可能看到更多的情況(對進一步解綁和重新捆綁的實驗)。

    現有的ZK集成

    驗證糾刪碼的正確性:糾刪碼帶來一定程度的冗余,以便即使部分編碼數據不可用,原始數據也是可恢復的。這也是去中心化存儲(DAS)的先決條件,其中輕節點只對區塊的一小部分進行抽樣,以概率性地確保數據存在。如果惡意的提議者錯誤地編碼數據,即使輕節點抽樣了足夠數量的唯一塊,原始數據也可能無法恢復。驗證正確的糾刪碼可以使用有效性證明(ZKPs)或欺詐證明來完成,后者因與挑戰期相關的延遲而受到影響。除了Celestia以外的所有其他解決方案都在使用有效性證明。

    ZK輕客戶端提供數據橋梁:使用外部數據發布層的Rollups仍然需要向結算層通知數據已經正確發布。這就是數據認證橋梁的作用所在。使用ZKPs可以使在以太坊上對源鏈共識簽名的驗證更加高效。Avail(VectorX)和Celestia(BlobstreamX)的數據認證橋梁都由與Succinct合作構建的ZK輕客戶端提供支持。

    Celestia整合有效性證明以驗證正確的糾刪碼Celestia目前在數據發布網絡中是一個離群值,因為它使用欺詐證明來驗證正確的糾刪碼。如果惡意的區塊提議者錯誤地編碼數據,任何其他完整節點都可以生成欺詐證明并對此提出質疑。雖然這種方法在實施上相對簡單,但它也會引入延遲(只有在欺詐證明窗口之后區塊才最終確定),并且需要輕節點信任一個誠實的完整節點來生成欺詐證明(無法自行驗證)。然而,Celestia正在探索將他們當前的Reed-Solomon編碼與ZKP相結合以證明正確編碼的方法,這將顯著降低最終確定性。關于這個話題的最新討論可以在這里找到,其中包括以前工作組的記錄(除了將ZKP添加到Celestia基礎層的更一般性嘗試)。

    ZK-證明DAS一些探索已經在ZK-證明數據可用性方面進行,其中輕節點只需驗證Merkle根和ZKP,而無需通過下載小塊數據來進行常規抽樣。這將進一步降低對輕節點的要求,但似乎發展已經停滯不前。

    7)長期(狀態)存儲

    存儲歷史數據主要是為了同步目的和響應數據請求而重要。然而,并非每個完整節點都能夠存儲所有數據,大多數完整節點會裁剪舊數據以保持硬件需求的合理性。相反,我們依靠專業方(歸檔節點和索引器)來存儲所有歷史數據,并在用戶請求時提供數據。

    此外,還有分散式存儲提供者,如Filecoin或Arweave,提供價格合理的長期分散式存儲解決方案。雖然大多數區塊鏈沒有正式的歸檔存儲過程(僅依賴于某人存儲),但分散式存儲協議是存儲歷史數據和通過存儲網絡內置的激勵機制增加一定冗余性(至少X個節點存儲數據)的良好選擇。

    現有的ZK整合

    存儲證明:長期存儲提供商需要定期生成ZKP來證明他們已經存儲了他們聲稱的所有數據。一個例子是Filecoin的時空證明(PoSt),在這里,存儲提供商每次成功回答PoSt挑戰時都會獲得區塊獎勵。

    ZKP可以解決的問題

    證明數據來源和查看敏感數據的授權:對于兩個不信任的方,他們想要交換敏感數據,ZKP可以用來證明一方具有查看數據所需的憑據,而無需上傳實際文件或透露密碼和登錄詳細信息。

    8)共識

    考慮到區塊鏈是分布式點對點系統,沒有可信賴的第三方來決定全局真相。相反,網絡中的節點通過一種稱為共識的機制來達成對當前真相的一致認定(哪個區塊是正確的)。基于PoS的共識方法可以分為基于BFT的(其中拜占庭容錯的驗證者群體決定最終狀態)或基于鏈的(其中最終狀態由回溯性地通過分叉選擇規則決定)。雖然大多數現有的PoS共識實現都是基于BFT的,但Cardano是最長鏈實現的一個例子。還有越來越多的興趣集中在基于DAG的共識機制,例如Narwhal-Bullshark,在Aleo、Aptos和Sui等項目中以不同形式實現。

    共識是模塊化堆棧中許多不同組件的關鍵部分,包括共享順序器、去中心化的證明和基于區塊鏈的數據發布網絡(不是基于委員會的,比如EigenDA)。

    現有的ZK整合

    ZK隱私網絡中的質押基于PoS的隱私網絡帶來了一個挑戰,即持有質押Token的人必須在隱私和參與共識(以及獲得質押獎勵)之間做出選擇。Penumbra旨在通過消除質押獎勵來解決這個問題,而是將未抵押和已抵押的質押視為不同的資產。這種方法可以保持個人委托的私密性,同時每個驗證者抵押的總金額仍然是公開的。

    私密治理:在加密貨幣領域,實現匿名投票長期以來一直是一個挑戰,例如Nouns Private Voting項目試圖推動這一進展。對于治理也是如此,至少Penumbra正在努力進行提案的匿名投票。在這種情況下,ZKP可以用來證明某人有權進行投票(例如通過令牌所有權)以及某些投票標準是否得到滿足(例如,尚未進行投票)。

    私密領導者選舉:以太坊目前在每個時期開始時選舉下一個32個區塊提議者,并且這次選舉的結果是公開的。這帶來了一個風險,即惡意方會依次對每個提議者發起DoS攻擊,試圖使以太坊失效。為了解決這個問題,Whisk提出了一個隱私保護協議,用于在以太坊上選舉區塊提議者。驗證者使用ZKP來證明洗牌和隨機化是誠實進行的。還有其他方法也可以實現類似的目標,其中一些在a16z的這篇博客文章中有所涵蓋。

    簽名聚合:使用ZKP來聚合簽名可以顯著減少簽名驗證的通信和計算開銷(驗證一個聚合證明而不是每個單獨的簽名)。這已經在ZK輕客戶端中得到了利用,但也可能擴展到共識中。

    9)結算

    結算類似于最高法院 - 是驗證狀態轉換正確性并解決爭議的最終真相來源。一筆交易在不可逆轉的點上被視為最終(或在概率最終性的情況下,被視為足夠難以逆轉的點)。最終性所需的時間取決于所使用的基礎結算層,而基礎結算層又取決于所使用的具體最終性規則和區塊時間。

    慢速最終性在跨Rollup通信中尤為成問題,因為Rollup需要等待以太坊的確認才能批準交易(對于樂觀Rollup,需要等待7天;對于有效性Rollup,需要等待12分鐘和驗證時間)。這導致用戶體驗較差。目前有多個努力來解決這個問題,包括使用具有一定安全級別的預確認的生態系統特定解決方案(例如Polygon AggLayer或zkSync HyperBridge)以及通用解決方案,如Near的Fast Finality Layer,旨在通過利用EigenLayer的經濟安全性連接多個不同的Rollup生態系統。還有一種選擇是使用EigenLayer進行軟確認的本地Rollup橋接,以避免等待完全最終性。

    現有的ZK集成

    通過有效性Rollup加快結算速度:與樂觀Rollup不同,有效性Rollup不需要挑戰期,因為它們依靠ZKP來證明正確的狀態轉換,無論是否有人提出挑戰(悲觀Rollup)。這使得基礎層上的結算速度更快(12分鐘與以太坊上的7天相比),并避免了重新執行。

    10)安全性

    安全性與保證的難度相關,是區塊鏈的價值主張的關鍵部分。然而,引導加密經濟安全性是困難的,它增加了進入門檻,并對那些需要它的應用程序(各種中間件和替代性L1)構成了創新的摩擦。

    共享安全性的理念是利用現有的PoS網絡的經濟安全性,并將其置于額外的減持風險(懲罰條件)之下,而不是每個組件都試圖引導自己的安全性。在PoW網絡中曾經嘗試過類似的做法(合并挖礦),但不一致的激勵機制使得礦工更容易串通一致并操縱協議(難以懲罰不良行為,因為工作發生在物理世界中,即使用計算能力進行挖礦)。PoS安全性更具靈活性,可被其他協議使用,因為它既具有積極的(質押收益)又具有負面的(減持)激勵機制。

    圍繞共享安全性構建的協議包括:

    EigenLayer旨在利用現有的以太坊安全性來保護各種應用程序。白皮書于2023年初發布,EigenLayer目前處于主網測試階段,全面主網預計將于今年晚些時候推出。

    Cosmos于2023年5月推出了其Interchain Security (ICS),可使Cosmos Hub(Cosmos上最大的鏈之一,由約24億美元的質押ATOM支持)將其安全性租借給消費鏈。通過使用驅動Cosmos Hub的相同驗證器集合來驗證消費鏈上的區塊,它旨在降低在Cosmos堆棧之上推出新鏈的障礙。然而,目前只有兩個消費鏈是活躍的(Neutron和Stride)。

    Babylon也在嘗試使比特幣用于共享安全性。為了解決與合并挖礦相關的問題(難以懲罰不良行為),它正在構建一個虛擬的PoS層,在該層中用戶可以將比特幣鎖定在比特幣上的質押合約中(無需橋接)。由于比特幣沒有智能合約層,質押合約的減持規則以比特幣腳本中的UTXO交易形式表達。

    其他網絡上的重新質押包括Near上的Octopus和Solana上的Picasso。Polkadot的平行鏈也利用了共享安全性的概念。

    現有的ZK集成

    ZK與經濟安全的混合:盡管基于ZK的安全保證可能更強大,但對于某些應用程序來說,證明仍然是成本過高的,生成證明的時間也太長。一個例子是Brevis coChain,它是一個協處理器,從ETH重新抵押者那里獲得經濟安全性,并且樂觀地保證計算(通過ZK欺詐證明)。dApp可以根據其對安全性和成本權衡的特定需求,在純ZK模式和coChain模式之間進行選擇。

    11)互操作性

    在多鏈世界中,安全高效的互操作性仍然是一個重大問題,這可以從橋接黑客攻擊中損失的28億美元得到證明。在模塊化系統中,互操作性變得更加重要 - 不僅需要在其他鏈之間進行通信,而且模塊化區塊鏈還需要不同的組件之間進行通信(例如DA和結算層)。因此,簡單地運行完整節點或驗證單個共識證明,就像集成的區塊鏈那樣,已經不可行了。這給方程式中增加了更多的變量。

    互操作性包括Token橋接和區塊鏈之間更一般的消息傳遞。目前存在幾種不同的選擇,它們在安全性、延遲和成本方面都做出了不同的權衡。要同時優化這三個方面非常困難,通常需要至少犧牲其中一個。此外,不同鏈上的不同標準使得在新鏈上實施變得更加困難。

    image.png

    雖然我們仍然缺乏對不同類型輕客戶端(或節點)的清晰定義,但Fluent和Modular Media聯合創始人Dino在這篇文章中進行了很好的介紹。大多數輕客戶端今天只驗證共識,但理想情況下,我們應該有可以驗證執行和DA的輕客戶端,以減少信任假設。這將使得可以接近完整節點的安全性,而不需要高硬件要求。

    image.png

    現有的ZK整合

    ZK輕客戶端(共識驗證):大多數當前的輕客戶端可以驗證其他鏈的共識 - 無論是完整的驗證器集(如果足夠小)還是總驗證器的子集(例如以太坊的同步委員會)。 ZKPs被用來加速和降低驗證成本,因為原始鏈上使用的簽名方案可能在目標鏈上不被原生支持。雖然預計ZK輕客戶端在橋接中的重要性將增加,但當前推廣遇到的摩擦包括證明和驗證成本,以及為每條新鏈實現ZK輕客戶端。在這個領域的協議示例包括Polyhedra、Avail和Celestia的數據確認橋以及Electron Labs的zkIBC。

    存儲證明:如前所述,存儲證明使得可以查詢區塊鏈上的歷史和當前數據,而無需使用可信第三方。這對于互操作性也很重要,因為它們可以用于跨鏈通信。例如,用戶可以證明他們在一條鏈上擁有Token,并將其用于另一條鏈上的治理(無需橋接)。還有一些嘗試將存儲證明用于橋接的解決方案,比如LambdaClass開發的這種解決方案。

    ZK Oracle:Oracle充當中間人,并將現實世界的數據橋接到區塊鏈上。 ZK Oracle通過能夠證明數據的來源和完整性,以及對數據進行的任何計算,改進了當前基于聲譽的Oracle模型。

    零知識證明(ZKP)可以解決的開放問題

    A、完整輕客戶端:與盲目信任其他鏈的驗證器集不同 - 完整輕客戶端還會驗證正確的執行和DA。這減少了信任假設,并接近完整節點,同時保持硬件要求低(允許更多人運行輕客戶端)。然而,在大多數鏈上驗證除共識以外的任何內容仍然成本過高,特別是在以太坊上。此外,輕客戶端僅能夠驗證信息(問題的一半),即它們可以識別信息是否錯誤,但仍需要額外的機制讓它們采取行動。

    B、聚合層:Polygon的AggLayer旨在通過利用聚合證明和統一的橋接合約,在生態系統內實現L2之間的平滑互操作性。聚合證明既能實現更高效的驗證,又能提供更高的安全性 - 強制執行依賴鏈狀態和捆綁包一致,并確保如果一個rollup狀態依賴于另一個鏈的無效狀態,則不能在以太坊上解決該狀態。zkSync的HyperChains和Avail的Nexus采取了類似的方法。

     

    5、當零知識證明(ZKP)吞噬了模塊化棧時會出現什么情況?

    假設我們能夠達到一種狀態,其中生成ZKP變得非常快速(幾乎接近光速)且成本極低(幾乎免費),那么最終的結果會是什么樣子?換句話說,當ZKP吞噬了模塊化棧時會出現什么情況?

    總體而言,我們認為在這種情況下會有兩個真實存在的情況:

    消除所有不必要的重新執行:通過轉向1/N的執行模型(而不是帶有重新執行的N/N模型),我們顯著減少了網絡的總體冗余,并實現了對底層硬件更高效的利用。盡管仍然存在一些開銷,但這將幫助區塊鏈在計算效率方面漸進地接近中心化系統。

    大多數應用程序依賴于啟用ZKP的加密保證而不是經濟安全性:當生成證明的成本和時間不再成為相關因素時,我們認為大多數應用程序將依賴于ZKP以獲得更強的保證。這還需要改進可用性和開發者友好性,以構建ZKP應用程序,但這些都是多個團隊正在解決的問題。

    第三個條件涉及隱私(或信息流管理),但這更加復雜。使用客戶端證明,ZKP可以用于一些隱私應用,這就是像Aleo、Aztec或Polygon Miden等平臺正在構建的內容,但實現廣泛的隱私保護以適用于所有潛在用例還取決于MPC和FHE的進展 - 這是一個未來博客文章的潛在主題。

     

    6、我們論點的風險

    如果我們錯了,未來既不是模塊化也不是零知識化呢?我們論點的一些潛在風險包括:

    模塊化增加了復雜性

    用戶和開發者都受到鏈數量不斷增加的影響。用戶需要在多個鏈之間管理資金(可能還需要多個錢包)。另一方面,應用開發者在空間仍在不斷演進的情況下,面臨著更少的穩定性和可預測性,這使得他們更難決定在哪個鏈上構建應用。他們還需要考慮狀態和流動性的碎片化。尤其現在,因為我們仍在探索哪些組件適合解耦,哪些將會重新耦合,所以這一點尤為真實。我們相信用戶操作的抽象化以及安全高效的互操作性解決方案是解決這個問題的關鍵部分。

    image.png

    ZK是否會足夠高效?

    無論如何,證明生成都太耗時,而且今天的證明和驗證成本仍然過高。對于許多應用程序來說,競爭性解決方案,如可信執行環境/TEEs(隱私)或樂觀/加密經濟安全解決方案(成本),如今仍更有意義。

    然而,關于ZKP的軟件優化和硬件加速方面的工作已經在進行中。證明聚合將通過將成本分攤給多個不同的參與方(較低的成本/用戶)來進一步降低驗證成本。還有可能調整基礎層以更優化地驗證ZKP。關于ZKP的硬件加速的一個挑戰是證明系統的快速發展。這使得創建專門硬件(ASICs)變得困難,因為如果/當基礎證明系統的標準發生變化時,它們可能很快就會過時。

    Ingonyama嘗試通過稱為ZK評分的可比指標來創建一些證明者性能基準。它基于運行計算的成本(OPEX),并跟蹤MMOPS/WATT,其中MMOPS代表每秒模塊化乘法操作。有關該主題的更多閱讀建議參考Cysic和Ingonyama的博客,以及Wei Dai的這篇演講。

    有限的ZKP提供的隱私是否有用?

    ZKP只能用于實現個人狀態的隱私,而不是多方需要在加密數據上進行計算的共享狀態(例如私人Uniswap)。完全的隱私還需要FHE和MPC,但在成本和性能方面需要有很大的提升,才能成為更廣泛使用的可行選項。也就是說,ZKP對于某些不需要私有共享狀態的用例仍然有用,例如身份解決方案或支付。并非所有問題都需要用同一種工具解決。

     

    7、總結

    那么,這給我們留下了什么?雖然我們每天都在取得進步,但還有許多工作要做。最迫切需要解決的問題是如何在不犧牲速度或成本的情況下,安全地在不同的模塊化組件之間傳遞價值和信息,以及如何將所有這些抽象化,使最終用戶無需擔心在不同鏈之間橋接、切換錢包等問題。

    雖然我們目前仍處于實驗階段,但隨著時間的推移,情況應該會穩定下來,因為我們會找出對每個用例來說最佳權衡的位置在哪里。這反過來將為標準(非正式或正式)的出現提供空間,并為在這些鏈之上構建的人提供更多穩定性。

    今天仍然有許多用例默認使用加密經濟安全,這是由于生成ZKP的成本和復雜性,還有一些需要兩者結合使用的。然而,隨著我們設計更有效的證明系統和專門的硬件來降低證明和驗證的成本和延遲,這一份額應該會隨著時間的推移而減少。隨著成本和速度的每次指數級降低,新的用例將被解鎖。

    雖然這篇文章專注于ZKP,但我們也越來越關注現代密碼學解決方案(ZKP、MPC、FHE 和 TEE)如何共同發揮作用,這是我們已經開始看到的。

     

     

    本文鏈接:http://www.zhucexiangganggs.com/kp/du/04/5143.html

    來源:https://equilibrium.co/writing/will-zk-eat-the-modular-stack

    白話區塊鏈

    區塊鏈世界入口,人人都能看懂的區塊鏈;24 小時熱點實時追蹤。

    毛片免费看