不久前,我們分享了一篇題為《為什麼多重證明很重要》的文章,介紹了平衡證明的重要性,以及SGX作為平衡證明的選擇之一。這篇文章的靈感來自於與Vitalik的交流,並介紹了Taiko關於平衡論證的整體路線圖。 Taiko認為,ZK中的多證明可以轉化為使用多SNARK+多客戶端,即使用多個ZK-SNARK證明多種不同的以太節點坊。根據Vitalik的觀點,多客戶端系統有兩種方法:「開放式」和「封閉式」。 Taiko協議非常適合多客戶端系統,並透過與其他專案合作實現了多重證明系統。 Taiko的靈活基礎設施包括單晶片ZKP堆疊,且在硬體層面上製定了標準化證明系統與加速庫的協作關係。
不久前,我們分享了一篇題為《為什麼多重證明很重要》的詳細文章,解釋了平衡證明(Multi-Proofs)的重要性,把SGX 作為平衡證明的選擇之一。
這篇文章的靈感來自於我們與Vitalik 的X Space 和他發表的部落格文章,其中介紹了Taiko 關於平衡論證的整體路線圖:它與以太坊局的關係,我們的願景是什麼,以及我們將如何實現。
我們認為,ZK中的多證明可以轉化為使用多SNARK+多客戶端,即使用多個ZK-SNARK證明多種不同的以太節點坊,這一個未來以太坊L1中的SNARKed節點多樣性夯實基礎。
為了為按鈕名稱提供一個非常簡單的理由,我們應該提到兩點:
嵌套證明可以對沖節點實施和證明系統中的漏洞和風險,因此在出現漏洞的情況下,即使一個證明被破壞,其他證明也不太可能允許多個的漏洞被利用; 以太坊的終局,是假設使用零知識證明(ZL)來驗證L1;
與以太坊的多節點實作類似,這種方法已經多次挽救了網路免於崩潰,證明了L1區塊需要採用時鐘驗證的方法。對於ZK和非ZK場景來說,這意味著需要使用多個節點和不同的證明系統。
多重客戶系統和L1終局
Vitalik 在他的文章《What might an “enshrined ZK-EVM”look like?》中描述說,多客戶端系統有兩種方法:「開放式」和「封閉式」。
在一個封閉式的多客戶端系統中,協議內已知一組固定的域名,將其列入“白名單”以產生域名。而根據Vitalik 的分類,所有ZK L2 都是封閉式的,因為他們只接受自己實現的證明; 在一個開放式的多客戶端系統中,證明被放置在“區塊之外”,並由各個節點分別進行驗證,任何用戶都可以使用任何他們想要的節點來驗證區塊;
如果需要用戶驗證某塊區塊,在最簡單的實作即直接運行對應的節點重新執行該區塊,或向已知的Prover請求滿足證明。如果收到了一定數量符合「白名單」標準的證明,則認為該區塊合法。但是,如果沒有符合「白名單」標準的零知識證明(ZKP),並且我們想避免重新執行,我們應該使用哪種零知識證明呢?
根據Vitalik 的願景,這是在協議之外透過進行社會(或加密經濟)的共識來解決這個問題:
在共識層上,我們增加了一個驗證規則:只有當節點對區塊中每個狀態變化都看到了有效的證明時,才接受該區塊。該證明必須是一個ZK-SNARK 證明,用於證明transaction_and_witness_blobs 的連接是(Block, Witness) 對的序列化,並且基於pre_state_root 和Witness(i)執行區塊是有效的,並且(ii)輸出正確的post_state_root 。潛在地,節點選擇可以等待多種類型的M -of-N 證明。
想像一下,一個誠實的建造者擁有一個type-1 的區塊,他希望能夠提供功效;L2 層已經提供了幾個選擇,例如Polygon、ZkSync 和Scroll。
假設他們的ZK-EVM 已經發展到了type-1,並且良好且經過實戰檢驗,然後Builder 分散者這些可用的證明系統信譽中進行選擇,而驗證他的區塊的人將運行相應的驗證軟體,最好的是創建多種類型的證明,並通過多次驗證。相似的L1鏈規範,如果有任何一個驗證者不同意,區塊驗證就成為了一個共識問題,開放式的系統將透過共識來達成驗證結果的一致性。
論證系統將透過說服使用者信任他們而獲得影響力,而不是透過說服協議治理過程。
根據Vitalik的說法,這意味著ZKP生態系統正在開放,以實現直接市場化。如果有激勵措施,現有的L2實現可能涉及L1市場的競爭。
Taiko 在睡眠說明方面的吸音
在Taiko 協議中,Proposer 必須找到一個Prover 來提出一個區塊,並且被指定的Prover,將入TKO 作為保證金,以保證自己交付的證明沒有問題。 Taiko 協議並沒有規定Proposer 如何找到和補償Prover,所以他們甚至可以預約見面,並用現金進行交易。
因此我們的供應鏈就像一個自由市場一樣運作,提議者可以選擇任何他們喜歡的證明者。
除了經濟優勢之外,還有一些技術特性使Taiko 成為多客戶端系統的理想選擇:
Taiko 是一種type-1 的ZK-EVM ,具有兩個優點:首先,在執行多樣性方面,現有的EVM 實作(如Geth、Besu、Reth 等)可以直接評估L2;其次,為了基於測試L1設計的吸力,我們需要一個標準化的ZK-EVM來進行開放式多客戶端驗證,因為驗證者需要根據相同的轉換來得出結論並驗證結果。在這種情況下,type-1 ZK-EVM將是修改最合適的選擇,因為它明確遵循以太坊規範。對於Rollup 特定邏輯方面,Vitalik 也提到如何透過預編譯支援ZK-EVM,並利用這些預編譯就足以支援Taiko 的BBR(Based Booster Rollup) )設計; Taiko 將資料可用性發佈在以太坊上,而不是像是一些L2 探索替代的資料可用性選項。只要資料發佈到L1,Taiko 可以輕鬆適應Vitalik 的實施提案,該提案介紹了ZKEVMClaimTransaction 來覆蓋狀態轉換、證明和資料可用性;
Taiko 在多個論證系統上相容,現有的測試網絡已經支援PSE 的ZK-EVM、SGX 和Reth。基礎設施被配置為適應多個節點和論證系統,這將在最後一節中討論。在這個基礎設施之上,Taiko 在零知識論證方面將圍繞著編譯。
一個客製化和開放性的路線圖
等級
在零知識證明(ZKP)的背景下,考慮到多客戶端,Taiko 利用現代編譯器獲得通用組件,如Risc-V 或WASM。然後將這些指令轉換為各種證明系統(AIR 或PIL)的算術化表示,並最終使用不同的SNARKs對化執行軌跡進行編碼。
由此可見,這個流程是在一個多重證明系統中最可行的方法,因為它充分利用了兩個面向的優勢。在節點編譯過程中,現代編譯器為我們帶來了以下好處:
節點升級與證明相關,因為消耗為最新EIP或硬分叉實施電路,只需要保持原始碼更新;可以從像LLVM這樣的工具鏈中免費獲得程式碼最佳化; 交叉編譯產生更多多樣性;以上述範例為例,Taiko 有Geth 或Reth 編譯成RICS-V 或WASM 指令集,已經具備四套證明;
SNARKs 編譯是Taiko 未來發展重點。請注意,在PLONK 和R1CS 等算術化方法與Halo2、eSTARK 或Supernova 等進行編碼時,並不限制於單一ZK 協議;而整體式ZK-VM/EVM 則針對隨著越來越多的採用項目統一以提高組件效能,整體技術堆疊可能會網格客製化。
由於ZKP研究領域發展迅速,在彈性方面比直接實施最新結果更為重要。為了保持靈活,在Powdr Labs和Risc Zero等專案上合作進行交叉編譯模擬工作,並解決問題實現模組化。
對於技術精通的讀者來說,請參考以下具體好處:
我們可以透過優化編譯器針對不同的角度目標進行最佳化,例如偏好「高度閘控」(高度閘)或使用更多查找參數; 像Keccak 和Poseidon 雜湊函數這樣的加速電路可以作為函式庫來實現; 我們可以逐步將ZK功能(如LogUp)添加到語言中,並實現相應的耳機支援; 整合新的ZK 快速框架以更加緊密,在一些研究導向的ZK 專案中,只有概念驗證結果程式碼形式開發的,這使得它們能夠在生產環境中使用起來適應。透過讓編譯器承擔重要的工作,我們可以輕鬆地應用早期階段的框架; 現有的掛鉤電路,例如使用Halo2 編寫的PSE ZK-EVM 元件,仍然可以透過直接呼叫重複使用;
在合作努力下,Taiko 已經在開發過程中整合了Risc Zero 的zeth 和ZK-VM,並順便開發了額外的SGX 頭。 Taiko 工程師將Powdr 整合到多證明系統、開發PIL 語言和函式庫、最佳化編譯、增加更多的頭部,並進行一般低階加速處理。在硬體層面上,Taiko的零知識加速層(ZAL)制定了標準化證明系統(Halo2、Arkworks、Risc Zero、Polygon等)與加速庫(CPU、GPU、FPGA等)之間的協作關係。
開放性
節點、證明系統和整合隊列越多,開放性就越好,因此Taiko 努力將整個聚集社區放在一起,Taiko 團隊與其他項目有著悠久的合作歷史,例如,在ZK-EVM 和Risc Zero 上與PSE合作。
現在透過建立更客製化的ZK 堆疊,Taiko 可以有效地對API 進行抽象,以實現更好的普及和整合。 Taiko 將作為一個平台,在生產中輸送論證系統,並在鏈上進行實戰測試。真誠邀請所有專案加入,共同打造更好的零知識技術。
太鼓堆疊
一個可擴展、靈活的基礎設施,適用於Taiko 的多重防範式關鍵。
ZK 空間證明的來源是節點的狀態日誌(Execution Trace)和儲存證明(Storage Proofs),這些用於建立見證資料(witnesses)和公共輸入。需要注意的是,witnesses 是於證明的,而公共特定輸入則與協議相關。擁有強大的基礎設施來處理見證產生非常重要。因此,我們使用一個輕量級主機從多客戶端進行狀態日誌,並把其轉換成多種見證提供相應的證明系統。
在證明端,該設計支援優先和整體式堆疊,同時我們從目標節點(目前為Geth)中提取相同的公共輸入。
在未來,如果狀態日誌格式相容的話,Geth作為Taiko節點可以被另一個節點取代。另外,運行在論證系統上(目前是Reth)的輕節點也可以被編譯成迭代語言的任何實作所取代。
關鍵點
Taiko 相信權益證明=Multi-Client + 多SNARKs(以及像SGX 這樣的TEE); Taiko協議非常適合多客戶端系統,因為它有一個開放的多證明供應鏈,具有type-1執行,在L1上發布資料可用性; Taiko設想了一個具有模組化和開放性的多重證明架構,與Powdr Labs合作利用節點和ZKP的交叉編譯,並與Risc零合作,在他們的ZK-VM和TEE上實現Taiko的執行, Taiko也將繼續努力與PSE 改進ZK-EVM 專案; Taiko 的靈活基礎設施包括客製化和單晶片ZKP 堆疊;
資訊來源:0x資訊編譯自網際網路。版權歸作者Taiko所有,未經許可,不得轉載!