一文探究zkEVM:以太坊擴容方案的關鍵_鴕鳥區塊鏈_火星財經

發表於 2022-02-22 13:41 作者: 區塊鏈情報速遞pro

  作者:DeGate Team

  來源:Medium

  編譯:陳一晚風

  在以太坊LAYER 2擴展網絡Arbitrum和Optimism網絡都宣布其主網的公开測試版正式啓動後,Layer 2的整體數據增長都極其明顯,這也標志着以太坊Layer 2擴展解決方案之一Optimistic Rollup已經正式啓動。沒錯,這是一個屬於Layer 2的季節。

  當像Arbitrum和Optimism這樣的Optimistic Rollup成爲市場焦點時,另一個曾被路印協議CTO Steve Guo認證爲最終完全可用的Layer 2網絡zkEVM也取得了一些關鍵性的進展。現如今,我們看到越來越多地zkEVM已成爲擴展以太坊的關鍵。本文就將會帶你深入了解zkEVM的基本原理和發展現狀。

  概要

  1、zkSync宣布推遲8月31日發布其2.0版本。基於zkEVM的zkSync 2.0有望成爲第一個兼容 EVM的zk Rollup;

  2、8月13日,Polygon宣布以2.5億美元收購以太坊Layer 2擴展解決方案Hermez,其核心技術是其zkEVM解決方案;

  3、以太坊基金會在一份關於研發進展的定期更新聲明中表示,在過去幾個月中以太坊基金會資助籌建zkEVM團隊,希望能將EVM的所有操作碼直接通過ZK電路實現。

  正如我們所知,在比較Optimistic Rollup和ZK Rollup的兩種擴容解決方案時,V神認爲 Optimistic Rollups可能會在短期內贏得通用EVM計算。但從長遠來看,隨着ZK-SNARK技術的改進,ZK rollup才可以在所有的應用場景中“獲勝”。而所謂“ZK-SNARK技術的改進”主要是指zkEVM的成功。

  zkEVM的作用

  在开始探究zkEVM的作用前,讓我們先來重新認識一下以太坊。從本質上來說,以太坊就是一個基於交易的狀態機。在計算機科學中,狀態機是通過讀取一系列輸入,從舊狀態轉換到新狀態的機器。

  從創世狀態开始,以太坊通過一個又一個的交易轉換到以太坊的當前狀態。該狀態包含所有帳戶地址及其映射的帳戶狀態。

  其中,EVM或以太坊虛擬機負責處理交易。EVM作爲堆棧機運行,程序員在其中使用Solidity等高級語言編寫代碼,然後將其編譯爲EVM能夠理解的EVM字節碼。EVM以各種EVM操作碼的形式執行標准堆棧操作,最終產生一個新的狀態。

  現在問題來了。我們知道zk Rollup解決方案需要爲Layer 2上的交易生成零知識證明,並將它們傳遞回Layer 1進行驗證。爲了生成零知識證明,交易的處理需要符合zk電路證明規範。而在EVM設計之初,設計者並沒有考慮支持零知識證明。因此我們需要 zkEVM。從技術上講,zkEVM 的含義是:運行在zk Rollup網絡上的虛擬機,兼容EVM並且零知識證明友好。

  兩種實施策略

  對於zkEVM來說,目前主要有兩種實現策略。

  1、直接支持現有的EVM操作碼集,與Solidity操作碼集完全兼容。使用此解決方案的人包括Hermez和以太坊基金會zkEVM。

  2、通過設計一個零知識證明友好的新虛擬機並適應EVM开發工具來保持Solidity兼容性。該方案主要被zkSync使用。

  對於第一種策略,由於它完全支持現有的EVM操作碼集,並且使用與EVM相同的編譯器,現有的生態系統和开發工具完全兼容,也更好地繼承了以太坊的安全模型。而第二種策略,它不受原始EVM操作碼集的約束,因此可以更靈活地將代碼編譯爲對零知識證明更友好的操作碼集。它還免去了與所有原始EVM操作碼集兼容所需的繁重工作。

  總的來說,第一種策略更兼容、更安全,但工作量更大;第二種策略更靈活、工作量更少,但需要額外的努力來適應。

  主要解決方案對比

  Hermez zkEVM

  Hermez使用第一種策略,將整個EVM操作碼集轉換爲微操作碼。

  衆所周知,有一些可變的EVM操作碼,例如CALL、EXP、CREATE 等,它們對zk電路證明本質上是不友好的,而這些操作碼的邏輯可以使用微操作碼以一種更友好的方式來表達。微操作碼在uVM中執行,uVM使用大量加密工具實現zk完成,並使用Plookup算法提高證明和驗證效率。

  Hermez zkEVM的另一個亮點是它同時使用了兩個證明系統,專門生成一個STARK證明,然後使用PLONK或Groth16生成一個STARK證明的證明並在Layer 1上進行驗證,就像一個證明的證據。原因是STARK的證明量大,驗證鏈上的成本高,而Groth16或PLONK的證明量小,驗證速度快。兩者的這種組合各有優勢,很容易被認爲是一種組合使用非對稱和對稱加密算法的場景。

  AppliedZKP zkEVM

  與Hermez一樣,AppliedZKP zkEVM也使用第一種策略。AppliedZKP使用Bus Mapping映射思想來分離存儲和計算。基於Bus Mapping映射提取的正確存儲數據,State證明證明了數據的一致性,EVM證明證明了計算邏輯的正確性。

  具體流程如下:

  1. EVM通過Bus Mapping映射讀取所需的相關狀態。狀態由存儲、內存和堆棧組成;

  2. EVM執行操作碼;

  3. EVM通過Bus Mapping映射寫回新狀態;

  4.State證明負責Bus Mapping讀寫數據的一致性和正確性,EVM證明負責EVM操作碼執行的正確性。

  zkSync EVM

  與Hermez和AppliedZKP不同,zkSync選擇了第二種策略。zkSync的zkEVM不是EVM的復制品,而是新設計的,可以運行99%的Solidity合約,並確保它在各種條件下(包括回滾和異常)正常工作。同時,zkEVM可用於在電路中高效生成零知識證明。

  zkSync EVM使用TinyRAM來實現通用的操作碼集,而消耗大量GAS的操作碼,例如SHA256和keccak,將特別實現其電路,最後使用遞歸聚合技術將所有證明聚合爲一個以提高效率。

  zkSync還爲zkEVM开發了兩個編譯器前端:Yul和Zinc。Yul是一種微型Solidity表示,可以爲不同的後端編譯成字節碼;Zinc是一種基於Rust的語言,用於智能合約和通用零知識證明電路。這爲开發人員提供了更多選擇。

  另外,zkSync在構建編譯器時,選擇了LLVM這個生產工業級產品最先進的編譯器框架,以確保編譯器足夠完整,並具有所有經典優化。

  總結

  從上述這些擴容項目中,我們看到在團隊的不斷努力下,zkEVM技術正在走向成熟,並將在大約六個月內實現與EVM兼容的zk Rollup擴展解決方案。

  如今,區塊鏈技術正在進入一個前所未有的充滿爭議的時代。從公鏈之爭到以太坊擴容方案之战,甚至到一個具體擴展解決方案,不同的項目都在相互競爭、追趕和超越,這其中蕴含着對現實世界的巨大遊戲,很幸運,我們處於區塊鏈技術技術最具活力的時代。

標題:一文探究zkEVM:以太坊擴容方案的關鍵_鴕鳥區塊鏈_火星財經

地址:https://www.coinsdeep.com/article/135.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

你可能還喜歡
熱門資訊