區塊鏈,一種協作機制,讓全球的參與者能夠在不需要第三方介入的情況下,按照一致認同的規則進行合作。
計算機的設計初衷是進行數據存儲、數據處理和進行通信。而區塊鏈技術引入了第四個元素:確保上述三個過程(數據存儲、處理和通信)能按照約定的方式進行。這種確保機制讓不相識的人也能夠進行合作,而不需要依賴任何可信的第三方介入,實現了去中心化。
這些額外的確保機制可能是基於經濟(如信任博弈理論和獎懲機制)或是基於密碼學(信任數學)的,但大部分應用是這兩者的結合,即所謂的“密碼經濟學”。這與目前主要基於聲譽的系統形成了明顯的對比。
盡管Web3常被描述爲“閱讀、寫入、擁有”,我們認爲,鑑於公鏈的關鍵優勢在於可靠的計算和易於驗證這些保證是否得到履行,互聯網的第三個階段更合適的描述應該是“閱讀、寫入、驗證”。如果我們創建了可以買賣和控制的數字產品,擁有權可以視爲一種確保計算的特例。然而,許多區塊鏈應用受益於這種確保計算的特性,但並不直接涉及擁有權。比如,在一個完全基於鏈的遊戲中,如果你的健康值是77/100,這個健康值是你擁有的嗎,還是僅僅因爲遵循了大家共同認可的規則而在鏈上得以執行的?我們傾向於後者,但Chris Dixon可能有不同的看法。
Web3= “讀、寫、驗證”。
盡管區塊鏈技術備受期待,但其分散化的特點也帶來了效率低下和操作復雜的問題。大多數區塊鏈爲確保交易的正確性需要節點重復執行交易驗證,這種方法不僅浪費資源,還與高效的集中式處理形成對比。區塊鏈的發展目標是盡可能地提高效率,使其接近集中化處理的水平。
盡管區塊鏈的基礎設施在過去十年有了顯著改進,但距離能夠支持互聯網規模的處理還有很長的路要走。我們觀察到,無論是在表達性還是難度方面,區塊鏈都面臨着權衡選擇。模塊化設計可以加快這種權衡的實驗過程,而零知識證明技術則能進一步擴展這些權衡的界限。
模塊化是指系統的不同組件可以被獨立出來並重新組合的能力。這種設計通過快速反饋和低門檻進入特性,促進了快速的試驗和專業化發展。模塊化與一體化的選擇不是非黑即白,而是需要在不同程度的解耦和集成間尋找平衡。
零知識證明(ZKP)允許一方(證明者)向另一方(驗證者)證明某信息的真實性,而無需透露除了驗證信息本身之外的任何細節。這種方式不僅提高了系統的可擴展性和效率,還增強了隱私保護,因爲它減少了重復執行的需要。此外,ZKP還通過提供強有力的技術保證,增強了系統的安全性和可靠性,推動了技術的進步和應用的廣泛性。
我們認爲,模塊化和對所有事物的零知識證明化(簡稱“ZK化”)是兩個未來將持續加速發展的趨勢。這兩個趨勢各自爲領域內的探索提供了獨特的視角,但我們更加關注它們的交集部分。我們關注的兩個主要問題是:
然而,在討論這些問題之前,我們需要了解 2024 年模塊化堆棧的最新情況。
我們過去常用的模塊化技術堆圖示,包含四個基本組件(執行、數據發布、共識、結算),雖然作爲一個基礎思維模型很有幫助,但考慮到模塊化領域的快速發展,我們認爲這種表示方式已不再足夠。隨着進一步的解構,出現了之前被認爲是更大模塊一部分的新組件,同時也產生了新的依賴關係以及不同組件之間需要的安全互操作性(後文將進一步討論)。鑑於這一領域發展的速度,要全面跟進堆棧各層面的創新變得相當困難。
早期對web3技術堆的探索嘗試包括Kyle Samani(Multicoin)的工作,他的研究最初發布於2018年年,並在2019年進行了更新。他的研究內容從去中心化的最後一英裏互聯網接入(比如Helium)到最終用戶的密鑰管理等方面都有涵蓋。雖然其背後的理念可以重新利用,但某些部分,如證明和驗證等,完全缺失。
基於這些考慮,我們嘗試構建了一個關於2024年模塊化技術堆的更新視圖,對現有的四部分模塊化技術堆進行了擴展。我們按組件而非功能進行了分類,這意味着比如P2P網路被歸入到共識組件中,而不是作爲獨立組件分離出來,主要是因爲圍繞它建立協議相當困難。
隨着我們對模塊化技術棧的理解逐步深入,現在是時候探討一個核心問題了:零知識證明(ZK)技術已經影響了技術棧的哪些部分,以及它有潛力解決哪些現有的問題,特別是那些可以通過零知識證明來避免重復執行操作或增強隱私保護的問題。在我們深入分析每個單獨組件之前,這裏先提供一個我們研究的概要。
目前,區塊鏈用戶面臨着需要同時操作多個鏈條、錢包和界面的復雜情況,這不僅麻煩而且阻礙了區塊鏈的廣泛應用。用戶操作的簡化是一個廣泛的概念,旨在將這種復雜性隱藏起來,讓用戶只需通過一個界面(比如一個特定的應用或錢包)進行交互,復雜的操作都在後臺完成。基礎層面的簡化嘗試包括:
在區塊鏈中,所有交易都需要先進行排序才能被打包進區塊。排序的方法有很多,例如:按照交易給出的手續費高低排序(手續費高的優先處理)、按交易提交的時間順序排序(先提交的先處理),或是給私有交易內存池中的交易優先權等。
關於誰來負責這一排序工作,模塊化架構提供了多種可能性,包括Rollup的排序器(可以是中心化或去中心化的)、基於L1的排序以及共享排序網路(一個由多個Rollup共用的去中心化排序器網路)。這些方法各有不同的信任假設和擴展能力。在實際應用中,交易的排序和打包過程有時也會由協議外的專業機構(如區塊建造者)來執行,這些機構專門負責創建和優化區塊內容。
執行層負責智能合約的運行和狀態的更新。使用zkVM技術的執行層,不僅返回運算結果,還能證實狀態轉換的正確性。這意味着網路的其他參與者無需重新執行交易,只需通過驗證相關的證明就能確認交易的正確性。
使用可證明的執行還有一個額外的好處:可以進行更復雜的計算,因爲在鏈外計算時不會受到鏈上資源限制的影響。這開啓了一扇大門,允許在區塊鏈上運行那些計算密集的新應用,而這些應用都是建立在可靠計算的基礎之上的。
在大多數應用中,從區塊鏈讀取數據的過程,即數據查詢,扮演着至關重要的角色。盡管近年來的討論和改進大多集中在提升寫入(即執行操作)的能力上,但由於讀取和寫入之間的不平衡性(特別是在去中心化環境中),提升讀取能力實際上更加重要。不同區塊鏈的讀/寫比例各不相同,但根據Sig基於兩年實際數據的估計,Solana節點上超過96%的調用是讀取操作——讀/寫比例達到了24:1。
提升讀取能力不僅包括通過專用的驗證器客戶端(例如Solana的Sig)來增加讀取速度(即每秒更多的讀取次數),還包括實現更復雜的查詢功能(比如結合讀取和計算),例如通過使用協處理器來完成。
另一個考慮點是如何去中心化數據查詢方式。目前,區塊鏈上的大部分數據查詢請求都依賴於受信任的第三方(基於聲譽),如RPC節點(Infura)和索引器(Dune)。一些更去中心化的選擇包括The Graph和存儲證明運營商(這些也可以進行驗證)。此外,還有一些嘗試建立去中心化RPC網路的努力,比如 Infura DIN 或者 Lava Network ((除了提供去中心化RPC服務,Lava還計劃未來提供更多的數據訪問服務)。
隨着越來越多應用引入零知識證明(ZKPs),證明和驗證過程已迅速成爲模塊化體系中不可或缺的一環。但目前,大部分證明基礎架構仍舊採用有權限和集中化的形式,很多應用都依賴於單一的證明提供者。
盡管集中化的方案在復雜性上較爲簡單,但是去中心化證明架構,並將其作爲模塊化體系中的一個獨立部分,能帶來多重益處。最關鍵的一點是它能提供活性保證,這對於那些需要頻繁生成證明的應用來說至關重要。用戶還能因爲競爭增加和分攤給多個證明提供者的工作量而享受到更強的抗審查性和更低的費用。
我們認爲,面向通用目的的證明者網路(多應用、多證明者)相比於單一應用證明者網路(單一應用、多證明者)更爲優越,因爲它們能更高效地利用現有硬件並且對證明者來說更簡單。更高的硬件利用率也意味着用戶能享受到更低的費用,因爲證明者無需通過提高費用來彌補冗餘(盡管仍需覆蓋固定成本)。
Figment Capital 對當前的證明供應鏈狀況進行了詳細的概述,包括證明生成和證明聚合兩個部分(證明聚合本質上也是證明生成,只不過是以兩個證明作爲輸入,而不是執行路徑)。
來源: Figment Capital
數據發布(DP)的目標是確保數據在短時間內(1-2周)不僅可用,而且容易獲取。這一點對於確保系統的安全性(例如,樂觀rollups需要在挑戰期(1-2周)通過重新執行來驗證交易的正確執行)和活性(比如,即便使用了有效性證明,有時仍需底層交易數據來確認資產所有權,處理緊急撤離、強制交易或核對輸入輸出是否一致)都非常關鍵。對於使用者(比如zk-橋和rollups),這涉及到一次性費用,用於覆蓋短期內存儲交易和狀態信息的成本,直到數據被清理。需要注意的是,數據發布網路並不適用於長期存儲數據(對於長期存儲的方案,請參考下一節)。
Celestia 率先推出了其主網,成爲首個替代DP層(10月31日),但隨着Avail, EigenDA,和Near DA 等預計在2024年推出,未來將有更多選擇。此外,以太坊的EIP 4844 升級增強了其數據發布能力(同時爲blob存儲創造了獨立的費用市場),並爲全面實施dank-sharding奠定了基礎。DP功能也在向其他生態系統擴展,例如 @nubit_org/riema-secures-angel-investment-for-launching-the-first-bitcoin-native-data-availability-layer-49ccf0487380">Nubit 致力於在比特幣上實現原生DP。
很多DP方案不僅僅提供基本的數據發布服務,它們還包括爲主權rollups提供共享安全性(如Celestia 和Avail)或增強rollups間的互操作性(如Avail的Nexus)。還有項目(如(Domicon 和 Zero Gravity)同時提供數據發布和長期狀態存儲服務,這是一個非常有吸引力的方案。這也展示了在模塊化體系中兩個組件的再次整合趨勢,未來我們可能會看到更多這樣的嘗試,無論是進一步分解還是重新整合。
長期存儲歷史數據主要用於數據同步和響應查詢請求。然而,不是每個節點都能存儲全部數據,多數節點會刪除舊數據以維持硬件需求在合理範圍內。我們通常依賴專門的節點(如歸檔節點和索引器)來保存所有歷史數據,並按需爲用戶提供。
此外,像 FIL 或 Arweave這樣的去中心化存儲提供商,提供了成本效益較高的長期存儲解決方案。盡管大部分區塊鏈沒有固定的歸檔存儲流程,這些去中心化存儲協議是存儲歷史數據並通過其網路內置激勵措施增加數據冗餘的理想選擇。
由於區塊鏈技術基於分布式點對點系統,不存在一個被普遍信任的第三方來定義所謂的全球性真理。相反,網路中的節點通過一種被稱爲“共識”的機制來共同認定當前的真實情況(即確定哪一個區塊是正確的)。基於權益證明(PoS)的共識方法大致可分爲兩類:一是基於拜佔庭容錯(BFT)的方法,即一羣驗證者通過共識來決定最終狀態;二是基於鏈的方法,即通過分叉選擇規則來事後決定最終狀態。盡管大多數現行的PoS共識機制都是基於BFT的,但Cardano採用的是最長鏈策略。同時,基於有向無環圖(DAG)的共識機制,如Narwhal-Bullshark,也在Aleo、Aptos和Sui等平台上得到了某種程度的應用,並引起了人們的廣泛關注。
共識機制是模塊化系統中多個不同組件的核心,包括共享序列器、去中心化證明和基於區塊鏈的數據發布網路(與基於委員會的如EigenDA不同)。
在區塊鏈中,結算過程可視爲驗證事務正確性和解決爭議的最終環節,相當於法律體系中的最高法院。一項交易被認爲是最終性的,當它達到不可逆轉的狀態時(或在使用概率性最終性時,達到難以逆轉的程度)。達到最終性的時間依賴於所用的結算層,而這層的性能則依賴於具體採用的最終性規則和區塊時間。
特別是在跨rollup交互中,最終性的延遲成問題,rollup在能夠確認交易前需要等待以太坊的確認(樂觀rollup需要7天,有效性rollup需要12分鍾加上驗證時間)。這降低了用戶體驗。爲解決這一問題,業界正在嘗試採用具有一定安全級別的預確認方案,如Polygon AggLayer 或者zkSync HyperBridge等生態系統特定解決方案,以及Near的快速最終確定層這類通用解決方案,後者通過利用Near’s Fast Finality Layer的經濟安全性來連接不同的rollup生態系統。此外,還有使用EigenLayer進行“軟確認”的原生rollup橋梁,以避免等待完全最終確定。
安全性涉及到保障措施的堅固程度,是區塊鏈價值提案中至關重要的一環。然而,建立起加密經濟的安全機制並非易事 - 它提高了進入門檻,對那些急需安全保障的應用(如各類中間件和其他第一層協議)構成了創新的阻礙。
共享安全的概念是利用現有的權益證明(PoS)網路的經濟安全基礎,並讓它面臨額外的風險(即處罰的條件),而非讓每個單獨的組件自己嘗試建立安全機制。雖然在工作量證明(PoW)網路中也進行過類似的嘗試(合並挖礦.)),但由於激勵機制不一致,礦工更容易合謀利用協議(由於工作在現實世界中進行,即利用計算力挖礦,因此更難以懲罰不良行爲)。與之相比,PoS的安全機制更爲靈活,可以被其他協議所利用,因爲它同時具有正面(質押收益)和負面(削減)激勵。
基於共享安全理念構建的協議包括:
在一個由多條區塊鏈構成的世界中,如何安全高效地實現互操作性一直是個棘手問題,這從價值28億美元的跨鏈橋攻擊事件中可見一斑。在模塊化系統中,互操作性尤爲關鍵——它不僅需要實現鏈與鏈之間的通信,還要讓區塊鏈內部的不同組件(如數據層和結算層)能夠相互協作。因此,不可能再像在傳統集成區塊鏈中那樣,僅通過運行一個完整節點或驗證一個共識證明來實現。這意味着在系統中引入了更多的復雜元素。
互操作性涵蓋了代幣跨鏈和更廣泛的跨鏈消息傳遞。目前有多種解決方案,各有其在安全性、響應速度和成本方面的權衡。同時滿足這三方面非常難,通常需要犧牲其中一方面。此外,不同鏈間的標準差異也使得在新鏈上的部署變得更加復雜。
目前對輕客戶端(輕節點)的不同類型定義尚不明確,但Fluent & Modular Media的聯合創始人Dino的文章對此進行了很好的介紹。當前大部分輕客戶端僅驗證共識,但理想狀態下,我們希望有能同時驗證執行和數據可用性的輕客戶端,減少依賴度,接近全節點的安全性,同時又不需要高昂的硬件支持。
設想一下,如果生成零知識證明(ZKPs)的速度極快(幾乎達到光速)且成本極低(幾乎爲零),那麼最終的局面會是怎樣的?也就是說,零知識證明何時會徹底改變模塊化技術架構?
總的來說,我們認爲在這種情況下會有兩個顯著的變化:
大部分應用將依賴零知識證明提供的加密保障,而非經濟安全:當生成證明的時間和成本不再是問題時,我們認爲大多數應用會選擇依賴ZKPs來獲得更強的安全保障。當然,這也意味着需要在易用性和開發者友好度上進行改進,以便構建零知識證明應用,不過這正是多個團隊正在努力解決的問題。
還有一個關於隱私(或信息流管理)的復雜條件,零知識證明可以被用於一些客戶端證明的隱私應用,這正是像Aleo、Aztec或Polygon Miden等平台正在開發的功能,但要實現廣泛的隱私保護,還需要依賴於多方計算(MPC)和全同態加密(FHE)等技術的進步,這可能是未來博客文章的一個話題。
如果我們的預測錯誤,未來既不採用模塊化技術架構也不普遍應用零知識證明技術,會怎樣呢?我們的觀點面臨的一些潛在風險包括:
隨着鏈的數量不斷增加,用戶和開發者都面臨挑戰。用戶需要在多個鏈(可能還要管理多個錢包)上管理資金,而應用開發者則面臨穩定性和可預測性較低的問題,這使得他們很難決定應該在哪個鏈上進行開發。他們還必須考慮到狀態和流動性的碎片化問題。這一點在當前尤爲突出,因爲我們仍在探索哪些組件適合解耦,哪些應重新耦合。我們認爲,簡化用戶操作和提供安全高效的互操作解決方案是解決這一問題的關鍵。
一個無法避免的問題是,目前生成零知識證明的過程既耗時又成本高昂。對於當前許多應用來說,信任執行環境(TEEs)針對隱私保護的解決方案,或者是基於樂觀/加密經濟的安全方案在成本上更爲合理。
不過,針對零知識證明的軟件優化和硬件加速方面正在進行大量的工作。通過證明聚合,即將成本分散到多個參與方,可以進一步降低驗證成本,從而降低每位用戶的成本。此外,還有可能對底層技術進行調整,以更好地適應零知識證明的驗證。但是,零知識證明在硬件加速方面面臨的一個挑戰是,證明系統的快速進化使得專用硬件(ASICs)的開發變得復雜,因爲一旦底層證明系統的標準發生變化,這些硬件很快就會過時。
Ingonyama嘗試通過一個叫做ZK分數的比較指標來衡量證明性能,該指標基於運行計算的操作成本(OPEX),並追蹤每瓦特的模數乘法操作次數(MMOPS)。想要深入了解這一主題,我們推薦閱讀 @Cysic/BJQcpVbXn?ref=blog.succinct.xyz">Cysic和 @ingonyama/revisiting-paradigms-hardware-acceleration-for-zero-knowledge-proofs-5dffacdc24b4">Ingonyama的博客,以及Wei Dai的演講。
零知識證明技術只能用來保護個人的隱私狀態,而無法用於需要多方在加密數據上進行計算的共享狀態(例如一個私有的Uniswap)。要實現完全的隱私保護,還需要全同態加密(FHE)和多方計算(MPC)技術的支持,但這些技術在成本和性能上還需要大幅提升才能廣泛應用。盡管如此,對於那些不需要共享私有狀態的特定場景,如身分驗證或支付,零知識證明仍然是一個有用的工具。不是所有的問題都必須用同一種方式來解決。
我們目前的情況如何呢?盡管我們正在取得一天天的進展,但仍有大量工作待完成。最迫切需要解決的問題是,如何在保持速度和成本效率的同時,確保不同模塊化組件之間能夠安全地交換價值和信息,並且如何讓這一切對最終用戶透明,避免他們需要處理跨鏈操作、錢包切換等技術細節。
目前我們還處於探索階段,但隨着我們逐漸明確每個應用場景中最佳平衡點的位置,局勢將逐步穩定。這將爲形成標準(無論是非正式的還是正式的)提供機會,爲在這些區塊鏈上構建的開發者提供更多穩定性。
雖然本文特別聚焦於零知識證明,我們也對現代密碼學解決方案(包括ZKPs、多方計算(MPC)、全同態加密(FHE)和可信執行環境(TEE))如何協同工作表示出越來越多的興趣——這是我們已經開始見證的現象。
雖然這篇文章特別關注 ZKP,但我們也越來越感興趣現代密碼學解決方案(ZKP、MPC、FHE 和 TEE)最終將如何一起發揮作用 - 我們已經看到了這一點。
感謝您的閱讀!
區塊鏈,一種協作機制,讓全球的參與者能夠在不需要第三方介入的情況下,按照一致認同的規則進行合作。
計算機的設計初衷是進行數據存儲、數據處理和進行通信。而區塊鏈技術引入了第四個元素:確保上述三個過程(數據存儲、處理和通信)能按照約定的方式進行。這種確保機制讓不相識的人也能夠進行合作,而不需要依賴任何可信的第三方介入,實現了去中心化。
這些額外的確保機制可能是基於經濟(如信任博弈理論和獎懲機制)或是基於密碼學(信任數學)的,但大部分應用是這兩者的結合,即所謂的“密碼經濟學”。這與目前主要基於聲譽的系統形成了明顯的對比。
盡管Web3常被描述爲“閱讀、寫入、擁有”,我們認爲,鑑於公鏈的關鍵優勢在於可靠的計算和易於驗證這些保證是否得到履行,互聯網的第三個階段更合適的描述應該是“閱讀、寫入、驗證”。如果我們創建了可以買賣和控制的數字產品,擁有權可以視爲一種確保計算的特例。然而,許多區塊鏈應用受益於這種確保計算的特性,但並不直接涉及擁有權。比如,在一個完全基於鏈的遊戲中,如果你的健康值是77/100,這個健康值是你擁有的嗎,還是僅僅因爲遵循了大家共同認可的規則而在鏈上得以執行的?我們傾向於後者,但Chris Dixon可能有不同的看法。
Web3= “讀、寫、驗證”。
盡管區塊鏈技術備受期待,但其分散化的特點也帶來了效率低下和操作復雜的問題。大多數區塊鏈爲確保交易的正確性需要節點重復執行交易驗證,這種方法不僅浪費資源,還與高效的集中式處理形成對比。區塊鏈的發展目標是盡可能地提高效率,使其接近集中化處理的水平。
盡管區塊鏈的基礎設施在過去十年有了顯著改進,但距離能夠支持互聯網規模的處理還有很長的路要走。我們觀察到,無論是在表達性還是難度方面,區塊鏈都面臨着權衡選擇。模塊化設計可以加快這種權衡的實驗過程,而零知識證明技術則能進一步擴展這些權衡的界限。
模塊化是指系統的不同組件可以被獨立出來並重新組合的能力。這種設計通過快速反饋和低門檻進入特性,促進了快速的試驗和專業化發展。模塊化與一體化的選擇不是非黑即白,而是需要在不同程度的解耦和集成間尋找平衡。
零知識證明(ZKP)允許一方(證明者)向另一方(驗證者)證明某信息的真實性,而無需透露除了驗證信息本身之外的任何細節。這種方式不僅提高了系統的可擴展性和效率,還增強了隱私保護,因爲它減少了重復執行的需要。此外,ZKP還通過提供強有力的技術保證,增強了系統的安全性和可靠性,推動了技術的進步和應用的廣泛性。
我們認爲,模塊化和對所有事物的零知識證明化(簡稱“ZK化”)是兩個未來將持續加速發展的趨勢。這兩個趨勢各自爲領域內的探索提供了獨特的視角,但我們更加關注它們的交集部分。我們關注的兩個主要問題是:
然而,在討論這些問題之前,我們需要了解 2024 年模塊化堆棧的最新情況。
我們過去常用的模塊化技術堆圖示,包含四個基本組件(執行、數據發布、共識、結算),雖然作爲一個基礎思維模型很有幫助,但考慮到模塊化領域的快速發展,我們認爲這種表示方式已不再足夠。隨着進一步的解構,出現了之前被認爲是更大模塊一部分的新組件,同時也產生了新的依賴關係以及不同組件之間需要的安全互操作性(後文將進一步討論)。鑑於這一領域發展的速度,要全面跟進堆棧各層面的創新變得相當困難。
早期對web3技術堆的探索嘗試包括Kyle Samani(Multicoin)的工作,他的研究最初發布於2018年年,並在2019年進行了更新。他的研究內容從去中心化的最後一英裏互聯網接入(比如Helium)到最終用戶的密鑰管理等方面都有涵蓋。雖然其背後的理念可以重新利用,但某些部分,如證明和驗證等,完全缺失。
基於這些考慮,我們嘗試構建了一個關於2024年模塊化技術堆的更新視圖,對現有的四部分模塊化技術堆進行了擴展。我們按組件而非功能進行了分類,這意味着比如P2P網路被歸入到共識組件中,而不是作爲獨立組件分離出來,主要是因爲圍繞它建立協議相當困難。
隨着我們對模塊化技術棧的理解逐步深入,現在是時候探討一個核心問題了:零知識證明(ZK)技術已經影響了技術棧的哪些部分,以及它有潛力解決哪些現有的問題,特別是那些可以通過零知識證明來避免重復執行操作或增強隱私保護的問題。在我們深入分析每個單獨組件之前,這裏先提供一個我們研究的概要。
目前,區塊鏈用戶面臨着需要同時操作多個鏈條、錢包和界面的復雜情況,這不僅麻煩而且阻礙了區塊鏈的廣泛應用。用戶操作的簡化是一個廣泛的概念,旨在將這種復雜性隱藏起來,讓用戶只需通過一個界面(比如一個特定的應用或錢包)進行交互,復雜的操作都在後臺完成。基礎層面的簡化嘗試包括:
在區塊鏈中,所有交易都需要先進行排序才能被打包進區塊。排序的方法有很多,例如:按照交易給出的手續費高低排序(手續費高的優先處理)、按交易提交的時間順序排序(先提交的先處理),或是給私有交易內存池中的交易優先權等。
關於誰來負責這一排序工作,模塊化架構提供了多種可能性,包括Rollup的排序器(可以是中心化或去中心化的)、基於L1的排序以及共享排序網路(一個由多個Rollup共用的去中心化排序器網路)。這些方法各有不同的信任假設和擴展能力。在實際應用中,交易的排序和打包過程有時也會由協議外的專業機構(如區塊建造者)來執行,這些機構專門負責創建和優化區塊內容。
執行層負責智能合約的運行和狀態的更新。使用zkVM技術的執行層,不僅返回運算結果,還能證實狀態轉換的正確性。這意味着網路的其他參與者無需重新執行交易,只需通過驗證相關的證明就能確認交易的正確性。
使用可證明的執行還有一個額外的好處:可以進行更復雜的計算,因爲在鏈外計算時不會受到鏈上資源限制的影響。這開啓了一扇大門,允許在區塊鏈上運行那些計算密集的新應用,而這些應用都是建立在可靠計算的基礎之上的。
在大多數應用中,從區塊鏈讀取數據的過程,即數據查詢,扮演着至關重要的角色。盡管近年來的討論和改進大多集中在提升寫入(即執行操作)的能力上,但由於讀取和寫入之間的不平衡性(特別是在去中心化環境中),提升讀取能力實際上更加重要。不同區塊鏈的讀/寫比例各不相同,但根據Sig基於兩年實際數據的估計,Solana節點上超過96%的調用是讀取操作——讀/寫比例達到了24:1。
提升讀取能力不僅包括通過專用的驗證器客戶端(例如Solana的Sig)來增加讀取速度(即每秒更多的讀取次數),還包括實現更復雜的查詢功能(比如結合讀取和計算),例如通過使用協處理器來完成。
另一個考慮點是如何去中心化數據查詢方式。目前,區塊鏈上的大部分數據查詢請求都依賴於受信任的第三方(基於聲譽),如RPC節點(Infura)和索引器(Dune)。一些更去中心化的選擇包括The Graph和存儲證明運營商(這些也可以進行驗證)。此外,還有一些嘗試建立去中心化RPC網路的努力,比如 Infura DIN 或者 Lava Network ((除了提供去中心化RPC服務,Lava還計劃未來提供更多的數據訪問服務)。
隨着越來越多應用引入零知識證明(ZKPs),證明和驗證過程已迅速成爲模塊化體系中不可或缺的一環。但目前,大部分證明基礎架構仍舊採用有權限和集中化的形式,很多應用都依賴於單一的證明提供者。
盡管集中化的方案在復雜性上較爲簡單,但是去中心化證明架構,並將其作爲模塊化體系中的一個獨立部分,能帶來多重益處。最關鍵的一點是它能提供活性保證,這對於那些需要頻繁生成證明的應用來說至關重要。用戶還能因爲競爭增加和分攤給多個證明提供者的工作量而享受到更強的抗審查性和更低的費用。
我們認爲,面向通用目的的證明者網路(多應用、多證明者)相比於單一應用證明者網路(單一應用、多證明者)更爲優越,因爲它們能更高效地利用現有硬件並且對證明者來說更簡單。更高的硬件利用率也意味着用戶能享受到更低的費用,因爲證明者無需通過提高費用來彌補冗餘(盡管仍需覆蓋固定成本)。
Figment Capital 對當前的證明供應鏈狀況進行了詳細的概述,包括證明生成和證明聚合兩個部分(證明聚合本質上也是證明生成,只不過是以兩個證明作爲輸入,而不是執行路徑)。
來源: Figment Capital
數據發布(DP)的目標是確保數據在短時間內(1-2周)不僅可用,而且容易獲取。這一點對於確保系統的安全性(例如,樂觀rollups需要在挑戰期(1-2周)通過重新執行來驗證交易的正確執行)和活性(比如,即便使用了有效性證明,有時仍需底層交易數據來確認資產所有權,處理緊急撤離、強制交易或核對輸入輸出是否一致)都非常關鍵。對於使用者(比如zk-橋和rollups),這涉及到一次性費用,用於覆蓋短期內存儲交易和狀態信息的成本,直到數據被清理。需要注意的是,數據發布網路並不適用於長期存儲數據(對於長期存儲的方案,請參考下一節)。
Celestia 率先推出了其主網,成爲首個替代DP層(10月31日),但隨着Avail, EigenDA,和Near DA 等預計在2024年推出,未來將有更多選擇。此外,以太坊的EIP 4844 升級增強了其數據發布能力(同時爲blob存儲創造了獨立的費用市場),並爲全面實施dank-sharding奠定了基礎。DP功能也在向其他生態系統擴展,例如 @nubit_org/riema-secures-angel-investment-for-launching-the-first-bitcoin-native-data-availability-layer-49ccf0487380">Nubit 致力於在比特幣上實現原生DP。
很多DP方案不僅僅提供基本的數據發布服務,它們還包括爲主權rollups提供共享安全性(如Celestia 和Avail)或增強rollups間的互操作性(如Avail的Nexus)。還有項目(如(Domicon 和 Zero Gravity)同時提供數據發布和長期狀態存儲服務,這是一個非常有吸引力的方案。這也展示了在模塊化體系中兩個組件的再次整合趨勢,未來我們可能會看到更多這樣的嘗試,無論是進一步分解還是重新整合。
長期存儲歷史數據主要用於數據同步和響應查詢請求。然而,不是每個節點都能存儲全部數據,多數節點會刪除舊數據以維持硬件需求在合理範圍內。我們通常依賴專門的節點(如歸檔節點和索引器)來保存所有歷史數據,並按需爲用戶提供。
此外,像 FIL 或 Arweave這樣的去中心化存儲提供商,提供了成本效益較高的長期存儲解決方案。盡管大部分區塊鏈沒有固定的歸檔存儲流程,這些去中心化存儲協議是存儲歷史數據並通過其網路內置激勵措施增加數據冗餘的理想選擇。
由於區塊鏈技術基於分布式點對點系統,不存在一個被普遍信任的第三方來定義所謂的全球性真理。相反,網路中的節點通過一種被稱爲“共識”的機制來共同認定當前的真實情況(即確定哪一個區塊是正確的)。基於權益證明(PoS)的共識方法大致可分爲兩類:一是基於拜佔庭容錯(BFT)的方法,即一羣驗證者通過共識來決定最終狀態;二是基於鏈的方法,即通過分叉選擇規則來事後決定最終狀態。盡管大多數現行的PoS共識機制都是基於BFT的,但Cardano採用的是最長鏈策略。同時,基於有向無環圖(DAG)的共識機制,如Narwhal-Bullshark,也在Aleo、Aptos和Sui等平台上得到了某種程度的應用,並引起了人們的廣泛關注。
共識機制是模塊化系統中多個不同組件的核心,包括共享序列器、去中心化證明和基於區塊鏈的數據發布網路(與基於委員會的如EigenDA不同)。
在區塊鏈中,結算過程可視爲驗證事務正確性和解決爭議的最終環節,相當於法律體系中的最高法院。一項交易被認爲是最終性的,當它達到不可逆轉的狀態時(或在使用概率性最終性時,達到難以逆轉的程度)。達到最終性的時間依賴於所用的結算層,而這層的性能則依賴於具體採用的最終性規則和區塊時間。
特別是在跨rollup交互中,最終性的延遲成問題,rollup在能夠確認交易前需要等待以太坊的確認(樂觀rollup需要7天,有效性rollup需要12分鍾加上驗證時間)。這降低了用戶體驗。爲解決這一問題,業界正在嘗試採用具有一定安全級別的預確認方案,如Polygon AggLayer 或者zkSync HyperBridge等生態系統特定解決方案,以及Near的快速最終確定層這類通用解決方案,後者通過利用Near’s Fast Finality Layer的經濟安全性來連接不同的rollup生態系統。此外,還有使用EigenLayer進行“軟確認”的原生rollup橋梁,以避免等待完全最終確定。
安全性涉及到保障措施的堅固程度,是區塊鏈價值提案中至關重要的一環。然而,建立起加密經濟的安全機制並非易事 - 它提高了進入門檻,對那些急需安全保障的應用(如各類中間件和其他第一層協議)構成了創新的阻礙。
共享安全的概念是利用現有的權益證明(PoS)網路的經濟安全基礎,並讓它面臨額外的風險(即處罰的條件),而非讓每個單獨的組件自己嘗試建立安全機制。雖然在工作量證明(PoW)網路中也進行過類似的嘗試(合並挖礦.)),但由於激勵機制不一致,礦工更容易合謀利用協議(由於工作在現實世界中進行,即利用計算力挖礦,因此更難以懲罰不良行爲)。與之相比,PoS的安全機制更爲靈活,可以被其他協議所利用,因爲它同時具有正面(質押收益)和負面(削減)激勵。
基於共享安全理念構建的協議包括:
在一個由多條區塊鏈構成的世界中,如何安全高效地實現互操作性一直是個棘手問題,這從價值28億美元的跨鏈橋攻擊事件中可見一斑。在模塊化系統中,互操作性尤爲關鍵——它不僅需要實現鏈與鏈之間的通信,還要讓區塊鏈內部的不同組件(如數據層和結算層)能夠相互協作。因此,不可能再像在傳統集成區塊鏈中那樣,僅通過運行一個完整節點或驗證一個共識證明來實現。這意味着在系統中引入了更多的復雜元素。
互操作性涵蓋了代幣跨鏈和更廣泛的跨鏈消息傳遞。目前有多種解決方案,各有其在安全性、響應速度和成本方面的權衡。同時滿足這三方面非常難,通常需要犧牲其中一方面。此外,不同鏈間的標準差異也使得在新鏈上的部署變得更加復雜。
目前對輕客戶端(輕節點)的不同類型定義尚不明確,但Fluent & Modular Media的聯合創始人Dino的文章對此進行了很好的介紹。當前大部分輕客戶端僅驗證共識,但理想狀態下,我們希望有能同時驗證執行和數據可用性的輕客戶端,減少依賴度,接近全節點的安全性,同時又不需要高昂的硬件支持。
設想一下,如果生成零知識證明(ZKPs)的速度極快(幾乎達到光速)且成本極低(幾乎爲零),那麼最終的局面會是怎樣的?也就是說,零知識證明何時會徹底改變模塊化技術架構?
總的來說,我們認爲在這種情況下會有兩個顯著的變化:
大部分應用將依賴零知識證明提供的加密保障,而非經濟安全:當生成證明的時間和成本不再是問題時,我們認爲大多數應用會選擇依賴ZKPs來獲得更強的安全保障。當然,這也意味着需要在易用性和開發者友好度上進行改進,以便構建零知識證明應用,不過這正是多個團隊正在努力解決的問題。
還有一個關於隱私(或信息流管理)的復雜條件,零知識證明可以被用於一些客戶端證明的隱私應用,這正是像Aleo、Aztec或Polygon Miden等平台正在開發的功能,但要實現廣泛的隱私保護,還需要依賴於多方計算(MPC)和全同態加密(FHE)等技術的進步,這可能是未來博客文章的一個話題。
如果我們的預測錯誤,未來既不採用模塊化技術架構也不普遍應用零知識證明技術,會怎樣呢?我們的觀點面臨的一些潛在風險包括:
隨着鏈的數量不斷增加,用戶和開發者都面臨挑戰。用戶需要在多個鏈(可能還要管理多個錢包)上管理資金,而應用開發者則面臨穩定性和可預測性較低的問題,這使得他們很難決定應該在哪個鏈上進行開發。他們還必須考慮到狀態和流動性的碎片化問題。這一點在當前尤爲突出,因爲我們仍在探索哪些組件適合解耦,哪些應重新耦合。我們認爲,簡化用戶操作和提供安全高效的互操作解決方案是解決這一問題的關鍵。
一個無法避免的問題是,目前生成零知識證明的過程既耗時又成本高昂。對於當前許多應用來說,信任執行環境(TEEs)針對隱私保護的解決方案,或者是基於樂觀/加密經濟的安全方案在成本上更爲合理。
不過,針對零知識證明的軟件優化和硬件加速方面正在進行大量的工作。通過證明聚合,即將成本分散到多個參與方,可以進一步降低驗證成本,從而降低每位用戶的成本。此外,還有可能對底層技術進行調整,以更好地適應零知識證明的驗證。但是,零知識證明在硬件加速方面面臨的一個挑戰是,證明系統的快速進化使得專用硬件(ASICs)的開發變得復雜,因爲一旦底層證明系統的標準發生變化,這些硬件很快就會過時。
Ingonyama嘗試通過一個叫做ZK分數的比較指標來衡量證明性能,該指標基於運行計算的操作成本(OPEX),並追蹤每瓦特的模數乘法操作次數(MMOPS)。想要深入了解這一主題,我們推薦閱讀 @Cysic/BJQcpVbXn?ref=blog.succinct.xyz">Cysic和 @ingonyama/revisiting-paradigms-hardware-acceleration-for-zero-knowledge-proofs-5dffacdc24b4">Ingonyama的博客,以及Wei Dai的演講。
零知識證明技術只能用來保護個人的隱私狀態,而無法用於需要多方在加密數據上進行計算的共享狀態(例如一個私有的Uniswap)。要實現完全的隱私保護,還需要全同態加密(FHE)和多方計算(MPC)技術的支持,但這些技術在成本和性能上還需要大幅提升才能廣泛應用。盡管如此,對於那些不需要共享私有狀態的特定場景,如身分驗證或支付,零知識證明仍然是一個有用的工具。不是所有的問題都必須用同一種方式來解決。
我們目前的情況如何呢?盡管我們正在取得一天天的進展,但仍有大量工作待完成。最迫切需要解決的問題是,如何在保持速度和成本效率的同時,確保不同模塊化組件之間能夠安全地交換價值和信息,並且如何讓這一切對最終用戶透明,避免他們需要處理跨鏈操作、錢包切換等技術細節。
目前我們還處於探索階段,但隨着我們逐漸明確每個應用場景中最佳平衡點的位置,局勢將逐步穩定。這將爲形成標準(無論是非正式的還是正式的)提供機會,爲在這些區塊鏈上構建的開發者提供更多穩定性。
雖然本文特別聚焦於零知識證明,我們也對現代密碼學解決方案(包括ZKPs、多方計算(MPC)、全同態加密(FHE)和可信執行環境(TEE))如何協同工作表示出越來越多的興趣——這是我們已經開始見證的現象。
雖然這篇文章特別關注 ZKP,但我們也越來越感興趣現代密碼學解決方案(ZKP、MPC、FHE 和 TEE)最終將如何一起發揮作用 - 我們已經看到了這一點。
感謝您的閱讀!