時間:2023-07-05|瀏覽:207
在以太坊Layer2擴展網(wǎng)絡(luò)Arbitrum和Optimism網(wǎng)絡(luò)宣布主網(wǎng)公開測試版正式啟動后,Layer2的整體數(shù)據(jù)增長非常明顯。這也標志著以太坊Layer2擴展解決方案之一Optimistic Rollup已正式啟動。可以說,這是一個Layer2的季節(jié)。
Optimistic Rollup和Arbitrum成為市場關(guān)注的焦點,而已被路印協(xié)議的CTO Steve Guo認證為具備最終完全可用性的Layer2網(wǎng)絡(luò)zkEVM也取得了一些關(guān)鍵進展?,F(xiàn)在,越來越多的人開始關(guān)注zkEVM在擴展以太坊方面的作用。本文將詳細介紹zkEVM的基本原理和發(fā)展現(xiàn)狀。
1、zkSync在8月31日宣布推遲了其2.0版本。基于zkEVM的zkSync 2.0有望成為第一個兼容EVM的zkRollup解決方案。
2、Polygon在8月13日宣布以5億美元收購了Layer2擴展解決方案Hermez,其核心技術(shù)就是zkEVM。
3、以太坊基金會在最近一份關(guān)于研發(fā)進展的定期更新聲明中表示,在過去幾個月中一直在資助籌建zkEVM團隊,希望通過使用所有操作碼的ZK電路將以太坊虛擬機直接轉(zhuǎn)化為零知識證明友好。
從比較中可以看出,Optimistic Rollup和ZKRollup是兩種常見的擴容解決方案。V神(以太坊的創(chuàng)始人)認為,Optimistic Rollup短期內(nèi)可能在通用EVM上獲勝,但從長遠來看,隨著ZK-SNARK技術(shù)的改進,ZKRollup在各種應(yīng)用場景中將占據(jù)優(yōu)勢。而ZK-SNARK技術(shù)的改進主要依賴于zkEVM的成功。
zkEVM的作用是在探索之前,讓我們在zkRollup網(wǎng)絡(luò)上運行的虛擬機兼容EVM并友好支持零知識證明。
目前,zkEVM的實現(xiàn)策略主要有兩種。
第一種是直接支持現(xiàn)有的EVM操作碼集,與Solidity操作碼集完全兼容。使用了這種解決方案的項目包括Hermez和以太坊基金會。
第二種是通過設(shè)計一個零知識證明友好的新虛擬機,并保持與EVM開發(fā)工具Solidity的兼容性。zkSync就采用了這種方案。
第一種策略更加兼容和安全,但工作量更大。第二種策略更加靈活,工作量較少,但需要額外的努力來進行適應(yīng)。
Hermez的zkEVM使用了第一種策略,將整個EVM操作碼集轉(zhuǎn)換為微操作碼。一些不太適用于zk電路證明的可變操作碼,如CALL、EXP、CREATE等,被轉(zhuǎn)換為更友好的微操作碼。uVM執(zhí)行微操作碼,使用大量的加密工具zk來完成,并通過Plookup算法提高證明和驗證的效率。
Hermez的zkEVM另一個亮點是,它同時使用了兩個證明系統(tǒng)生成一個STARK證明,然后使用PLONK或Groth16生成一個STARK證明進行Layer1的驗證。這種組合可以兼顧證明的效率和驗證鏈的成本,就像使用不對稱和對稱加密算法的場景一樣。
AppliedZKP的zkEVM也采用了第一種策略。AppliedZKP使用了BusMapping的思想,將存儲和計算映射分離。通過BusMapping,EVM可以讀取相關(guān)狀態(tài),并執(zhí)行操作碼,最后將新狀態(tài)寫回。State證明負責(zé)BusMapping讀寫數(shù)據(jù)的一致性和正確性,EVM證明負責(zé)EVM操作碼的正確執(zhí)行。
與Hermez和AppliedZKP不同,zkSync選擇了第二種策略。zkSync的zkEVM不是重新設(shè)計的EVM的復(fù)制品,它可以運行99%的Solidity合約,并在各種條件下正常工作(包括回滾和異常)。zkEVM可以有效地生成電路中的零知識證明。
zkSync的zkEVM使用TinyRAM來實現(xiàn)一般操作碼集,對消耗大量gas的操作碼(如SHA256和keccak)進行特別實現(xiàn),并采用遞歸聚合技術(shù)將所有證明聚合成一個,以提高效率。
zkSync還為zkEVM開發(fā)了兩個編譯器前端:Yul和Zinc。Yul是一種微型Solidity表示,可以將字節(jié)碼編譯成不同的后端;Zinc是一種基于Rust智能合約和通用零知識證明電路的語言。這為開發(fā)人員提供了更多的選擇。
此外,zkSync選擇了LLVM這是最先進的工業(yè)產(chǎn)品編譯框架,以確保編