menu-icon
anue logo
澳洲房產鉅亨號鉅亨買幣
search icon
區塊鏈

探索以太坊擴容的未來,zkEVM與zkWasm開啟承前啟後之勢

BlockBeats 律動財經 2023-11-14 14:30

cover image of news article
律動財經圖片

以太坊最終核心功能可能是 DA + Settlement + Consensus 的一個分布式賬本定位,eWASM 以 zkWasm 的解決方案更適合構建應用。zkEVM 承前優化區塊鏈生態,zkWasm 啟後接受更多的開發可能。Build Rollups with zkWasm, not just Blockchains。

前言

去年 8 月份 Vitalik 發布《The different types of ZK-EVMs一文,對當前主流的擴容方案從兼容性和性能兩個角度進行了整體對比(參見下圖),引發整個社區誕生了諸多討論和思考直到今天。

當前 zkVM 擴容的解決方案也都基本圍繞着 zkEVM 的方案,因為對既有生態的延續和支持上其他的 zkVM 方案對承前有著一定 not compatible 的問題,然而在啟後的問題上卻會是 Web2 升級 Web3 的重要組成部分。

尤其是以 zkWasm 為代表的等兼容很多 C++、Rust、Go、AssemblyScript、C# 等語言的解決方案出現後,Web2 應用的帳戶系統升級成為了可能;可期的 zkEVM 向左承前,zkWasm 向右啟後。

zkEVM 承前,zkWasm 啟後

Rollup 時代不需要創造出過多的 chain, 因為 chain 扮演的是賬本,也即帳戶層脫離於單獨的應用,回歸到通用層,所屬權回歸用戶;chain 天然是這樣一個載體,承擔着 Data Availability(DA),Settlement 和 Consensus 的本質職能。

ZKP,Zero-Knowledge Proof

密碼學中,零知識證明(英語:zero-knowledge proof)或零知識協議(zero-knowledge protocol)是一方(證明者)向另一方(檢驗者)證明某命題的方法,特點是過程中除「該命題為真」之事外,不泄露任何資訊。因此,可理解成「零泄密證明」。

最早由 MIT 的 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 在 1985 年一篇名為《互動式證明系統的知識複雜性([GMR85])的論文中提出。作者在論文中提到,證明者(prover)有可能在不透露具體數據的情況下讓驗證者(verifier)相信數據的真實性。零知識證明可以是交互式的,即證明者面對每個驗證者都要證明一次數據的真實性;也可以是非交互式的,即證明者創建一份證明,任何使用這份證明的人都可以進行驗證。

zk-SNARK(Succinct Non-Interactive Arguments of Knowledge)可能是最流行的零知識證明形式,最早出現在 2011 年的 Bit+11 論文中。到 2013 年,多虧了 Pinocchio PHGR13 論文,零知識證明可以在現實應用中使用,該論文使 zk-SNARKS 適用於一般計算,儘管速度較慢。2016 年提出的 Groth16 算法大大降低了計算複雜性,使 zk-SNARKS 非常高效,至今仍然是標準。

然而,「可信設置」對於這些零知識協議的安全性至關重要。必須使用初始過程生成加密參數,以便能夠運行零知識協議。由第三方執行此操作,以確保加密參數是隨機、不可預測和安全的。

隨後在 2017 年引入了 Bulletproofs(BBBPWM17),在 2018 年引入了 zk-STARKs(BBHR18)。與前任不同,它們是不需要初始可信設置的範圍證明類型。2019 年的 PlonK 論文實現了通用零知識證明算法,這意味著只需要啟動一次可信設置,而與之相比,Groth16 需要每個電路都有一個單獨的可信設置。

由於領域的發展,零知識證明已經從純理論過渡到在區塊鏈、安全通信、電子投票、訪問控制和遊戲中具有有用的實際應用。隨著它們繼續投入商業應用,將會有更多令人興奮的發展來推進技術。

所以,zk-SNARKS、zk-STARKS、PLONK 以及 Bulletproofs 構成了當前零知識證明主要實現方式,每種方式在證明大小、證明者時間以及驗證時間上都有自己的優缺點。在區塊鏈的擴容解決方案里,基本也是圍繞着 ZK-SNARK-friendly 為主的實現方式。

WASM, WebAssembly

WebAssembly(簡寫 WASM)是 Web 技術家族(JavaScript、HTML、CSS)中相對較新的成員,於 2019 年 12 月成為 W3C 官方認可的標準。WebAssembly 在瀏覽器中引入了一個新的運行時,該運行時與 JavaScript 運行時協同工作。相比之下,它更輕量,擁有少量的指令集以及嚴格的隔離模型。

開發 WebAssembly 的主要動機之一是為更多的編程語言(C++、Rust、Go 等)提供編譯目標,允許開發人員使用更廣泛的工具集開發新的 Web 應用程序或移植現有的應用程序。

不論是 Web2 還是 Web3,對 Wasm 的支持和使用範圍也越來越廣泛。

zkWasm = zkp + WASM

zkWasm 作為 zkVM 的一支新秀,本質是通過鏈下解決複雜運算,鏈上儲存證明,兼容 Web2 主流語言的思路,實現 Web2 與 Web3 的連接升級,複雜的業務邏輯鏈下計算,有價值的結果和證明進行上鏈保存,用於溯源、驗真和清算,帳戶體系由現有的錢包體系構成,整個生態可由下圖來表示:

整體的數據邏輯走向可以用下圖表示:

在最初以太坊 2.0 更新的一個重要核心,也包括從 EVM 過渡到 eWASM;但是實際 2.0 的進展並不如預期,所以在最新的規劃計劃里,eWASM 並未有過多的提及。

雖然 eWASM 在近期的規劃並未提及,但是 eWASM 能帶來的好處也是被認可的。從一開始,EVM 就是為了強調正確性而非效率而設計的。這反映在網路上的所有節點必須完全準確地運行 EVM 這一事實上。

Wasm 雖然與 EVM 相似,但它是為 web 而發明的。與正確性不同的是,Wasm 強調的是效率和快速加載。以太坊開發者 Lane Rettig 表示,EVM 的創建不具備「大量的設計思想」,他認為 EVM 是從理論角度上而非實際角度設計的,因此,雖然它內部健全,但在現實世界中無法發揮最佳的作用。

Nick Johnson 同意這種看法,相比之下,Wasm 的編寫更接近於實際的硬體指令,這使得它在翻譯實際的編碼邏輯時更加有效。事實上,Wasm 指令可直接將一對一映射到機器使用的指令,這將使性能大大提高。同時 Ewasm 可以減少甚至消除對預編譯的需求,互操作性上將支持更多的語言,並將受益於比 EVM 更廣泛的工具集。

主流認可使用 eWASM 優於 EVM 的優勢主要有以下幾點:

性能:與 EVM 相比,eWASM 提供更好的性能,因為它使用 WebAssembly,其設計目的是比 EVM 字節碼更快、更高效。WebAssembly 提供接近本機的性能,這可以顯着提高以太坊網路的速度和可擴展性。

互操作性:eWASM 提供比 EVM 更好的互操作性,因為它支持多種編程語言,包括 C++、Rust 和 AssemblyScript。這使開發人員能夠用他們喜歡的語言編寫智能合約,從而提高代碼質量和開發人員的工作效率。

安全性:eWASM 提供比 EVM 更好的安全性,因為它包含多個安全功能,例如內存沙箱,它可以將智能合約彼此隔離並防止它們訪問彼此的內存。此外,eWASM 提供更好的保護,防止常見的智能合約漏洞,例如重入攻擊和整數溢出。

靈活性:eWASM 提供了比 EVM 更好的靈活性,因為它支持動態鏈接,這使得智能合約可以由多個可以獨立更新的模塊組成。這可以帶來更好的代碼組織和更輕鬆的智能合約維護。

然而,對於以太坊來說,這可能是個超長遠期的規劃,而且替換過程中的各種安全風險和現有生態的影響也不容小覷。也許這也是最新的規劃中 eWASM 並未被過多提及的原因。

很多社區成員意識到以太坊最終核心功能是 DA + Settlement + Consensus 的一個分布式賬本定位,這樣對很多拓展性上的需求並不需要以太坊本身做出過多修改而帶來其他未知風險。魚和熊掌兼得的方式便是分層分工,將 eWASM 放在二層應該是一個更合理有效的解決方案。

尤其是與 zk 結合之後,zkWasm 的技術方案就能很好繼承 eWASM 想要實現的效果,這樣,通過 zkEVM+zkWasm 兩套方案左右配合,向前可以繼承傳統的 EVM Dapp,向後可以拓展用更多語言編寫的應用,進而實現真正的「承前啟後」。

原文連結

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠






Empty