本文介紹了4種級別的EVM等效性,以太坊上的zkEVM項目概覽,構建zkEVM所面臨的的挑戰,zkEVM的競爭展望。
介紹
零知識以太坊虛擬機(zkEVM)是一項雄心勃勃且改變游戲規則的技術,可在短期和長期內提高以太坊的可擴展性。今年,三個主要的以太坊擴容項目——zkSync、Polygon和Scroll——各自宣布了其zkEVM實施的重大進展,其中許多項目已在今年的早期alpha階段啟動,如今作為獨立的第2層(L2)運行區塊鏈。隨著時間的推移,zkEVM有可能直接從以太坊的基礎層運行。
簡而言之,zkEVM是虛擬機,可以執行與以太坊虛擬機(EVM)相同的高級編程語言或低級字節碼,并使用零知識證明(ZKP)證明此代碼,加密證明可在不泄露的情況下驗證數據有關數據本身的任何信息,例如其屬性或內容。早在1982年,計算機科學家Goldwasser、Micali和Rackoff首次將ZKP作為概念引入。ZKP經常與同態加密相混淆,同態加密是密碼學的另一個分支,它允許對加密數據執行操作而無需解密數據。同態加密方案于1978年由Rivest、Adleman和Dertouzos首次提出,已成為實現云計算和存儲的關鍵技術之一。值得注意的是,同態加密也被用于一些公共區塊鏈協議,如隱私幣Grin來混淆交易金額。
在過去的40年里,計算機科學家發明了多種算法來安全高效地生成ZKP,其中許多算法屬于兩大類:可擴展的透明知識論證(STARKs)或簡潔的非交互式知識論證(SNARKs)。這些算法是為大量用例開發的,包括核裁軍、身份認證系統,以及最近通過公共區塊鏈和加密貨幣的出現來實現區塊鏈可擴展性。特別是在以太坊上,許多開發人員認為ZKP是擴展的“圣杯”,因為與其他用于驗證交易數據的加密方案相比,ZKP具有簡潔和易于驗證的特點。難以構建或破解但易于驗證是密碼協議開發人員的共同目標,因為它允許廣泛而有效的分發。
對于零知識系統的所有好處,眾所周知,它們很難推廣和應用于證明任意復雜性的代碼。構建ZKP以本地支持和證明以太坊區塊鏈上所有類型的交易活動一直是開發人員在過去幾年中進行的一項持續研究計劃。直到2021年11月,Starkware才推出了第一個用于證明基于以太坊的交易的通用ZK系統。這是通過Starkware團隊創建的自定義編程語言Cairo實現的。然而,最近,在2022年7月,三種不同的基于以太坊的L2協議——zkSync、Polygon和Scroll——宣布在利用ZKP以zkEVM的形式擴展以太坊方面取得了突破。
注意:雖然通俗地稱為zkEVM,但這些虛擬機并沒有利用ZKP的隱私優勢,而是完全受益于ZKP的安全和效率優勢。因此,這些類型的虛擬機更準確的名稱是有效性證明生成EVM,但在本報告中,將使用更流行的名稱zkEVM。
本報告旨在讓讀者熟悉zkEVM的一般概念,并檢查以太坊開發中的各種實現。由于zkEVM是一個高級主題,本報告首先簡要概述以太坊網絡的現狀,并通過介紹區塊生產、EVM和rollup等核心概念為理解zkEVM奠定基礎。然后,我們將總結以太坊上可以存在的不同類型的zkEVM,并比較目前生產中的5種主要zkEVM實現。然后,我們將重點介紹這項新興技術在實施中面臨的挑戰,以及我們對zkEVM隨時間推移的競爭格局的展望。總體而言,zkEVM仍處于以太坊開發和采用的早期階段,盡管它們成為L2區塊鏈和最終以太坊協議本身的首選擴展技術的潛力很高。
今天的以太坊
在深入研究zkEVM的復雜性之前,重要的是首先要從高層次理解交易是如何包含在以太坊的區塊中的。
區塊生產
當用戶向以太坊提交新交易時,連接到網絡的計算機將交易存儲在稱為內存池的本地數據結構中,內存池負責維護未確認交易的列表。然后,隨機選擇運行節點和抵押32ETH作為網絡抵押品的驗證者,將內存池中的交易批量處理并處理成塊。選擇將新區塊附加到以太坊區塊鏈的驗證者有時被稱為“提議者”。一些提議者在構建區塊時將依賴第三方區塊構建器而不是本地內存池,以從最大可提取價值(MEV)中獲得額外獎勵。有關MEV的更多信息,請閱讀這份GalaxyResearch報告。
區塊按順序組織,并通過父哈希鏈接在一起。每個區塊都包含其父區塊的前一個哈希,將區塊鏈接在一起并形成區塊鏈數據結構。通過父哈希鏈接區塊如下圖所示:
直到2022年9月15日,以太坊依賴工作量證明(PoW)共識機制,礦工代替驗證者負責區塊生產,礦工無需消耗大量資金,而是需要消耗大量電力處理用戶交易。如需PoS對以太坊影響的完整分類,請在此處?閱讀Galaxy的Merge研究綱要。
在PoW和PoS共識協議下,以太坊區塊鏈缺乏可擴展性的根源在于有限的區塊空間問題。區塊空間在以太坊上以gas為單位測量。需要更多計算量才能執行的交易通常以較高的gas單位定價,而計算成本較低的交易具有較低的gas成本。gas通過以太坊網絡自動設置的稱為基本費用的動態gas費率轉換為ETH。以太坊協議限制區塊,因此它們最多只能包含3000萬單位的gas。這個最大區塊gas限制保持了快速的區塊傳播時間并降低了鏈分裂的風險。有關以太坊費用動態的更多信息,請閱讀這份GalaxyResearch報告?。
Polygon:未來幾周對Polygon zkEVM的優化預計會將費用降低約20%:5月23日消息,Polygon發推稱,接下來幾周內對Polygon zkEVM的優化預計會將費用降低約20%,這不涉及任何壓縮。Polygon zkEVM上的交易費用包括數據可用性和向以太坊發布證明的成本。PolygonzkEVM發布處理的每個事務的狀態數據,此外,費用還包括運行生成證明的服務器的費用。數據可用性占網絡上交易費用的約80%。[2023/5/23 15:20:48]
以太坊虛擬機
一旦交易被包含在以太坊上的一個區塊中,這些交易就會通過稱為以太坊虛擬機(EVM)的自定義運行時環境執行。EVM旨在在以太坊上部署任意復雜度的代碼。這本質上是使以太坊成為通用區塊鏈的根本原因,有時也稱為圖靈完備系統。
EVM執行交易的方式有規則。首先,EVM將人類可讀的編程語言編譯為面向機器或“低級”語言,稱為EVM字節碼。然后,EVM將字節碼解析為稱為“操作碼”的順序指令列表。每個操作碼命令EVM執行不同的任務,并以十六進制形式在EVM字節碼中表示。例如,在鏈上執行智能合約時命令EVM保留瞬態數據的操作碼以助記符表示為“MSTORE”,以十六進制形式表示為“0x52”。為了幫助讀者概念化操作碼,以下是以太坊黃皮書中定義的簡單操作碼的快照?:
多年來,以太坊開發人員向EVM添加了新的操作碼。他們還添加了預編譯,使用戶能夠在網絡上執行更高級的操作,例如哈希函數和標量乘法。作為同類中的第一個運行時環境,EVM已被廣泛用作通用公共區塊鏈上智能合約部署的標準。然而,作為同類技術中的第一項,EVM確實存在設計限制,其中與本報告最相關的是EVM缺乏與ZKP的兼容性。
rollup
為了提高以太坊的可擴展性,有幾個L2網絡將交易執行從基礎層抽象到rollup。Rollups壓縮交易數據,使得將一批交易提交到基礎層所需的區塊空間量明顯低于通過鏈上的內存池單獨確認這些交易。rollups由被稱為“排序器”的網絡運營商運營,而不是驗證者或礦工。排序器負責驗證rollup的狀態轉換。它們是將用戶交易打包成一個rollup批次,然后將這批交易的證明提交給以太坊基礎層的實體。下圖說明了排序器在rollup中的作用:
有關以太坊L2生態系統的完整概述,請閱讀這份Galaxy研究報告?。
Rollup不同于以太坊上的其他擴展解決方案,例如Plasma和狀態通道,這些方案在以太坊的歷史進程中,核心開發人員已經研究并從以太坊的可擴展性路線圖中廢棄。rollup有兩種主要類型:Optimistic和零知識(ZK)。Optimisticrollups依賴于欺詐證明,這意味著對L2網絡狀態的更改會在沒有直接證明其有效性的情況下發布到以太坊。只要至少有一個誠實的參與者在觀察optimisticrollup的狀態轉換,就可以檢測并取消無效的狀態轉換。就Arbitrum和Optimism而言,可以提交欺詐證明的“挑戰窗口”持續一周。一旦挑戰窗口結束,optimisticrollup的狀態轉換就被認為是最終的和有效的。
另一方面,ZKrollup依賴于ZKP,每次在L2上處理交易批次時,ZKP都會生成有效性證明并發布到以太坊。自動生成所有交易批次的有效性證明,增加了ZKrollup的安全保障。這也意味著每次向以太坊提交新的有效性證明時都可以從ZKrollups中提取資金,而對于optimisticrollups通常有大約7天的等待期以允許爭議和欺詐證明的生成。ZKrollups還提供了比optimisticrollups更好的數據壓縮。下表總結了optimistic和ZK-rollup之間的高級差異:
optimisticrollup相對于ZKrollup的主要優勢是optimisticrollup的虛擬機與EVM的虛擬機幾乎相同。目前在以太坊上運行的optimsitcrollup實現,如Optimism和Arbitrum,模擬了與以太坊相同的交易執行環境,分別稱為OVM和AVM。大多數ZKrollup都是特定于應用程序的,這意味著它們不支持所有類型的基于以太坊的交易和dapp。
Loopring、StarkExrollups和zkSync1.0是特定應用程序ZKrollups的示例,它們支持特定類型的支付、代幣交換和/或NFT鑄幣。
StarkNet等某些ZKrollup是通用的,這意味著它們支持所有類型的交易和dapp。然而,這些ZKrollup要求dapp開發人員學習如何在新的自定義執行環境中執行他們的智能合約代碼,該環境針對生成ZKP而優化,而不是EVM兼容性。鑒于現有的去中心化應用程序和用戶難以加入新的執行環境,這對在以太坊上采用ZKrollups提出了挑戰。為了克服這個問題,PolygonHermez、zkSync和Scroll等ZKrollup項目正在致力于實現與EVM兼容的ZKrollup,EVM是以太坊上所有智能合約代碼的原生執行環境。
數據:Polygon zkEVM上周TVL環比增長70%,創歷史新高:5月17日消息, 據官方數據披露,Polygon宣布Polygon zkEVM的增長和交易量創下歷史新高,上周Polygon zkEVM的TVL環比增長70%,是推出以來增長最多的一周;此外,5月14日單日交易量超1.3萬,創歷史新高。[2023/5/17 15:08:25]
STARK、SNARK、Volitions和validiums
在實踐中,rollup不僅通過鏈上發布的證明類型來區分,而且還通過rollup的數據可用性策略和證明算法來區分。
如本報告前面所述,有兩大類有效性證明,稱為SNARK和STARK。
SNARKs依靠橢圓曲線密碼學,這是一種在比特幣和以太坊中最常用的數據加密技術。SNARK通常還依賴于可信設置,這意味著該算法需要由可信實體提前生成一段數據。可信設置儀式不是重復的事件,而是一個人或一群人生成核心數據的一次性過程。此數據稱為公共參考字符串(CRS),它是一個值,然后在zk-SNARK算法中用于生成可信賴的證明。如果生成CRS所需的輸入受到損害,那么這可能會導致錯誤的證明生成。因此,重要的是所有儀式參與者銷毀用于生成CRS/SRS的輸入,或者在儀式完成后使其無法恢復。基于SNARK的算法的一些示例包括Sonic、Plonk、Redshift和Marlin。STARKS不要依賴橢圓曲線或可信設置。STARKS依賴哈希函數,一些開發人員認為哈希函數有利于抗量子加密。然而,STARK更復雜,需要更多的計算資源才能運行。它們在2018年推出的時間也晚于SNARKs,而SNARKs自2012年以來一直存在。由于這些原因,作為證明算法,SNARKs比STARKs被更廣泛地使用。基于STARK的算法的一些示例包括Fractal、SuperSonic、Fri-STARKs和genSTARK。
除了生成有效性證明的不同方法外,ZKrollup的數據可用性策略也不同,這意味著它們對交易批次的哪些組件最終發布在鏈上的策略。Rollups,包括optimistic和ZK,通常在每次處理一批交易時將三份數據提交到主網以太坊。首先,rollup的驗證者將新網絡狀態的根哈希提交給以太坊。狀態記錄在一個Merkle樹數據結構中,如下圖:
根哈希是整個Merkle樹的密碼承諾,有時也稱為狀態承諾。并不要求所有ZKrollup都將根哈希提交給以太坊,但它們這樣做的目的很常見,目的是使用發布在以太坊上的數據輕松重建和驗證在rollup上執行的交易。
除了用于確認第2層區塊鏈新狀態的高級根哈希之外,以太坊上還記錄了加密證明。在optimisticrollups的情況下,此證明可以是ZKP或欺詐證明。它可以通過STARK或SNARK算法生成。最后,除了這兩條數據之外,ZKrollups還向以太坊發布了批處理交易的壓縮版本,也稱為狀態增量。Statedelta是一種將大量交易數據提交到以太坊的經濟高效的方式,這是ZKrollups獨有的。Optimisticrollups代替狀態增量,使用其他數據壓縮技術來批量處理事務并將它們提交到鏈上。
使用來自Merkle樹最低層的數據,并將其與來自Merkle樹最高層的根哈希相結合,允許任何人重建和驗證在鏈上提交的交易批次的內容。大多數匯總的一個決定性特征是能夠使用鏈上提交給以太坊的數據重新創建在第2層網絡上執行的交易。然而,某些rollup避免將狀態delta或其他壓縮交易數據提交給以太坊,而是將數據發布到其他地方以降低運營成本并提高網絡可擴展性。某些開發人員會爭辯說,避免將交易數據提交給以太坊并因此破壞交易重建保證的第2層網絡不應歸類為rollup。
rollup處理狀態delta的方式決定了該網絡是可以歸類為validium還是volition。
Validium最好將其理解為僅在鏈上提交有效性證明和根哈希,同時將狀態delta存儲在鏈下的單獨網絡上的rollup。這在理論上將rollup的交易吞吐量提高到9,000TPS,因為rollup不再依賴以太坊的數據可用性并受網絡區塊空間的限制。validiums的缺點是安全性。用于發布鏈下數據的獨立網絡不繼承與以太坊相同的安全保證。volitions讓用戶決定在鏈下或鏈上發布狀態delta。它們首先由以太坊擴展初創公司Starkware開創。這是一種新穎的方式,通過直接在鏈上向以太坊或Starkware可信數據可用性委員會(DAC)等鏈下網絡確認,讓用戶決定他們的交易是否需要增強的安全性,但成本可能更高。EVM等效的4個主要層面
給出了理解以太坊上交易執行的上述框架、EVM和ZKrollups,我們現在可以討論zkEVMs。zkEVM是一種ZKrollup,它模仿與主網以太坊相同的交易執行環境。zkEVM的實現在證明算法和數據可用性策略上有所不同。zkEVM的EVM等效級別也不同。EVM等效性有四個主要級別。以下是不同級別的高級摘要:
借貸市場0VIX已在Polygon zkEVM網絡啟動:3月28日消息,借貸市場0VIX已在Polygon zkEVM網絡啟動,成為首個在Polygon zkEVM網絡部署的DeFi協議,包括ETH、MATIC、USDT和USDC在內的四種資產市場已經上線。[2023/3/28 13:31:23]
語言層面等效
為了實現語言層面的EVM等效性,zkEVM必須能夠理解并本地編譯EVM友好的語言。換句話說,這些類型的zkEVM可以將EVM友好的編程語言翻譯成一種為生成ZKP而優化的定制語言。這被認為是在ZK-rollups中實現EVM兼容性的最簡單和最有效的方法之一。然而,這些類型的zkEVM在為用戶和智能合約開發人員提供與EVM交互相同的體驗方面最受限制。
與EVM的語言層面兼容性意味著通過編譯器運行Solidity,該編譯器將EVM的高級編程語言翻譯成定制的低級語言,可以由專為生成ZKP而設計的虛擬機解釋。對于大多數只關心通過Solidity代碼與EVM交互的以太坊用戶和智能合約開發人員來說,zkEVM的底層行為可能并不重要,只要可以通過zkEVM執行與以太坊主網上相同類型的代碼即可。另一方面,為EVM構建的復雜開發工具、框架和測試環境可能需要修改才能在僅具有語言層EVM兼容性的zkEVM上使用。
字節碼層面等效
EVM等效的第二個和第三個層面是字節碼層面,這需要ZKrollup才能解釋從更高級語言編譯下來的EVM字節碼。zkEVM可以模仿與EVM相同的高級編程語言和低級字節碼,從而實現與EVM更深層次的兼容性。這些類型的zkEVM構建起來更復雜,因為它們需要更高級的工程設計。
如本報告前面所述,虛擬機執行EVM字節碼的方式是通過稱為操作碼的特定指令列表。每個操作碼命令EVM執行不同的任務。字節碼兼容的zkEVM的目標是創建一個ZK系統,該系統可以證明EVM字節碼并解析字節碼包含的各種操作碼。這些類型的zkEVM的優勢在于它們與基于EVM的應用程序和工具的兼容性。完全字節碼兼容的zkEVM將能夠支持與基于以太坊的原生應用程序相同的調試工具和開發人員基礎設施。然而,實現完全的字節碼兼容性通常會帶來創建低效且昂貴的ZK系統的負面結果。為了降低成本和提高效率,部分字節碼兼容的zkEVM可能會刪除EVM的某些功能,例如使用ZK數學和密碼學更難證明的預編譯。
目前,有兩種字節碼兼容的zkEVM,PolygonzkEVM和ScrollzkEVM。兩者都將在本報告的后面部分進行更詳細的討論。在他們當前的設計中,這兩個實現僅部分兼容EVM字節碼。但是,隨著時間的推移,這些實現正朝著完全兼容的方向努力。
共識層等效
EVM等效的第四個也是最后一個層面是共識層。這是ZKrollups可以實現的對EVM的最高原生兼容性。它有時被稱為“enshrinedrollups”,盡管并非所有enshrinedrollups都需要基于ZK,但可以是optimisticrollups。這個想法是由zkEVM生成的加密證明不需要以任何身份在以太坊上重新執行。證明本身可用于驗證主網以太坊上生成的區塊。從某種意義上說,實現共識層面兼容性的zkEVM是zkEVM的最真實形式。
對于一些開發者來說,能夠實現共識層面兼容性的ZKrollup是唯一一種應該稱為zkEVM的ZKrollup,而其他具有語言和字節碼兼容性的ZKrollup應該分別被認為是EVM兼容的和EVM等效的,但不是一個zkEVM。關于zkEVM的精確定義及其不同層面的EVM等效性,以太坊開發人員之間存在大量爭議。事實上,EVM等效是一個范圍,上面描述的每個層面都不是嚴格的類別。zkEVM開發的早期性質意味著為語言層面兼容性而構建的項目也可能提供某種類型的字節碼層面兼容性,而字節碼層面兼容的zkEVM最終可能會發展成為具有大量共識層面等效性的混合rollup。
在本報告的下一節中,我們將深入了解目前在以太坊上生產的五個zkEVM實現。
以太坊上的zkEVM項目概覽
目前,還沒有接近生產就緒的zkEVM實現可以實現共識層面的兼容性。這是一個正在進行的研究和開發領域,以太坊核心開發人員將其描述為“多年工程努力”。然而,有些實現在語言和字節碼層面上實現了等效,這仍然為以太坊上當前主要以應用程序為中心的ZKrollupLayer2生態系統提供了改進。構建ZKrollup來執行一般的智能合約和用戶交易而不是以應用程序為中心的交易是一項艱巨的任務,到目前為止,只有少數項目在主網上成功啟動。
以下是以太坊上五個zkEVM項目的高級概述:
zkSync2.0
MatterLabs是一個區塊鏈工程團隊,成立于2018年12月。該團隊于2020年6月在以太坊上推出了自己的ZKrollup協議,稱為zkSync。zkSync是以太坊上鎖定總價值第六大L2網絡,支持有限范圍的智能合約操作,包括ETH、ERC20代幣和原生NFT的低gas傳輸,以及原子互換和限價訂單。該公司最近通過由AndreessenHorowitz牽頭的B輪融資籌集了5000萬美元,并宣布了一項2億美元的國庫基金,致力于在未來幾年擴展zkSync生態系統。
動態 | zkSNACKs首席技術官Adam Fiscor將辭職:科技創業公司zkSNACKs首席技術官(CTO)Adam Fiscor將辭去其職務,隨著該公司的成熟,Fiscor將專注于研究工作。 注: zkSNACKs是以隱私為中心的Wasabi錢包背后的公司。(CoinDesk)[2019/9/6]
zkSync2.0是一種語言級兼容的zkEVM,旨在支持所有類型的智能合約操作。zkSync2.0依賴于一種基于SNARK的證明算法,稱為UltraPLONK。它還依賴于稱為LLVM的開源編譯器基礎架構,將Solidity和其他類型的編程語言編譯成zkEVM字節碼。該項目于2022年10月在“嬰兒alpha”階段啟動,預計到2022年底將對外部用戶全面開放,盡管MatterLabs團隊仍未披露zkSync2.0證明生成的全部細節。一旦啟動,zkSync2.0將是一種volition,讓用戶可以選擇將狀態delta從他們的鏈下交易發布到一個稱為zkPorter的單獨協議,而不是在鏈上發布到以太坊。該策略理論上會將zkSync2.0的每秒交易吞吐量從2,000TPS提高到超過20,000TPS。
StarkNet
與zkSync一樣,StarkNet是Starkware團隊構建的已經在以太坊上運行的通用ZKrollup。Starknet的交易執行環境稱為StarkNetOS,其原生智能合約編程語言稱為Cairo。與其他ZKrollups相比,Starknet是功能最全面的網絡之一。StarkNet為用戶提供了一個可選的鏈下數據解決方案,以實現比非volition類型的rollup成倍降低的交易費用。StarkNet操作系統依賴于基于STARK的證明算法。與zkSync2.0一樣,在StarkNetOS上生成證明的過程不是開源的。與zkSync等競爭對手類似,隨著時間的推移,開源關于證明生成的細節,以便任何人都可以連接到網絡,運行專用硬件,并通過生成證明獲得獎勵,這是rollup長期發展路線圖的一部分。
StarkNet本身不支持與EVM的語言層面兼容性。但是,以太坊執行層軟件客戶端Nethermind背后的團隊正在積極構建名為Warp的SoliditytoCairo語言編譯器。使用Warp編譯器,StarkNet用戶可以部署基于以太坊的智能合約,而無需在Cairo重寫代碼。此外,還有一個名為Kakarot的社區驅動項目,用于構建另一個Solidity到Cairo語言的編譯器,以幫助支持StarkNet與EVM的兼容性。
Starkware團隊在7月公布了他們推出原生StarkNet代幣和新基金會的計劃。在透露初始100億供應量的三分之一將分配給StarkNet核心貢獻者后,代幣的擬議分配成為爭議的根源。今年,Starkware作為一家公司以80億美元的估值籌集了1億美元。該輪融資由投資公司GreenoaksCapital、Coatue和TigerGlobal領投。除了StarkNet之外,StarkWare還為用戶提供了一種可定制的區塊鏈可擴展性解決方案,稱為StarkEx,它利用了該公司新穎的基于STARK的ZK技術。與StarkNet不同,StarkEx是一個以應用程序為中心的ZKrollup。使用StarkEx在以太坊上實現更大可擴展性的一些值得注意的DeFi應用程序包括soRare、Immutable和DeversiFi。
polygonzkEVM
Polygon團隊構建的zkEVM實現實現了與EVM的字節碼級別兼容性。Polygon的zkEVM預計將于2023年初的某個時候在以太坊上推出,并且最近已開源供公眾審查。Polygon的zkEVM實現依賴于基于SNARK和STARK的證明。具體來說,zk-SNARKs用于證明zk-STARKs的正確性。這具有利用與zk-STARK相關的快速證明時間以及生成zk-SNARK所需的相對較輕的計算資源的優勢。關于數據可用性,Polygon的zkEVM實現不會立即支持鏈下數據解決方案。但是,Polygon正積極致力于通過開發PolygonAvail使他們的zkEVM實現成為一種意愿。
Polygon成立于2017年,是一家主要專注于以太坊不同擴展解決方案的公司。它于2020年6月推出了基于權益證明的以太坊側鏈,稱為PolygonPoS。從那時起,Polygon的產品套件得到了顯著發展和多樣化。除了該公司的zkEVM實施之外,它還在積極開發另外兩個ZKrollup實施,PolygonMiden和PolygonZero,以及結合了optimisticrollup和ZKrollup的混合rollup實施,稱為PolygonNightfall。今年早些時候,Polygon團隊完成了自首次代幣發行MATIC代幣以來的第一輪重大融資,并從40家風險投資公司籌集了4.5億美元。該輪融資由紅杉資本印度領投。
Scroll
Scroll是另一個字節碼層面兼容的zkEVM實現。Scroll由SandyPeng、YeZhang和HaichenShen于2021年創立,他們于2022年宣布為白名單用戶推出他們的pre-alpha版本測試網。值得注意的是,圍繞其zkEVM實現的所有代碼都是公開的,并在開源許可下發布。Scroll將依賴于一種基于SNARK的證明算法,并且不支持鏈下數據可用性解決方案。此外,Scroll團隊正在設計一個用于證明生成的去中心化市場,以支持他們的zkEVM。為此,他們還專注于構建可以由世界各地的用戶運行的專用硬件,以無需許可和抗審查的方式生成ZKP。
動態 | zkSNARK合約“輸入假名”漏洞致眾多混幣項目爆雷:據安比實驗室消息,大量零知識證明項目由于錯誤地使用了某個zkSNARKs合約庫,引入“輸入假名 (Input Aliasing) ”漏洞,可導致偽造證明、雙花、重放等攻擊行為發生,且攻擊成本極低。眾多以太坊社區開源項目受影響,其中包括三大最常用的zkSNARKs零知開發庫snarkjs、ethsnarks、ZoKrates,以及近期大熱的三個混幣(匿名轉賬)應用hopper、Heiswap、Miximus。 事實上,所有使用了該zkSNARKs 密碼學合約庫的項目都應該立即開展自查,評估是否受影響。修復很簡單。僅需在驗證函數中添加對輸入參數大小的校驗,強制要求input值小于上面提到的q值。即嚴禁“輸入假名”,杜絕使用多個數表示同一個點。 所幸的是,目前常見的zkSNARKs合約庫都火速進行了更新,從底層庫層面杜絕“輸入假名”。安比(SECBIT)實驗室認為,底層庫的更新誠然能夠很大程度上消除掉后續使用者的安全隱患,但若該問題的嚴重性沒有得到廣泛地宣傳和傳播,依舊會有開發者不幸使用到錯誤版本的代碼,或者是根據錯誤的教程進行開發,從而埋下安全隱患。[2019/7/29]
Scroll團隊與以太坊基金會的擴展解決方案研發團隊密切合作,稱為隱私擴展以太坊(PSE)團隊。PSE在zkEVM方面的工作將在本報告的下一節中討論。與zkSync、StarkWare和Polygon等其他團隊相比,Scroll更小,更專注于研究。他們也只專注于他們的zkEVM實施,而其他競爭團隊擁有一套其他與ZK相關的產品和服務。Scroll今年在A輪融資中籌集了3000萬美元,投資方包括PolychainCapital和BainCapitalCrypto等領先的加密貨幣風險投資公司,以及包括以太坊基金會的YingTong和CarlosAria在內的幾位天使投資人。
隱私與擴展探索(PSE)
PSE是以太坊基金會的一個研究機構,專注于探索ZKP的前沿研究及其在以太坊上的應用。他們以前被稱為“AppliedZKP”小組。與本報告中強調的其他zkEVM實施相比,PSE的zkEVM并不專注于在不久的將來成為生產就緒。PSE正在研究的zkEVM專注于根據enshinedrollup模型實現與EVM的共識層兼容性。
PSE研究中使用的證明算法是稱為Halo2的zk-SNARK,由Zcash(ZEC)加密貨幣的核心開發團隊ElectricCoinCompany開發。PSE團隊構建的zkEVM開發是開源的,任何人都可以參與。除了zkEVM,PSE團隊還在推進其他幾個項目,包括研究反共謀去中心化應用程序基礎設施、增強用戶交易隱私以及替代加密簽名方案。如需PSE正在處理的項目的完整列表,請單擊此處。
構建zkEVM的挑戰
與在以太坊上構建生產就緒的zkEVM實現有關,存在一些持續的挑戰。實施zkEVM等新技術、zkEVM的去中心化操作以及構建用于生成zkEVM證明的專用硬件的未經證實和未經測試的性質是開發人員面臨的障礙。本節提供了對這些挑戰的一些見解。
新奇點
zkEVM是以太坊上的一個新概念,工作在2022年才正式開始。這項技術面臨的一個簡單挑戰是其未經證實和未經大規模測試的性質。大多數zkEVM實現在生成證明的方式、生成證明的硬件要求以及去中心化排序器的細節方面仍然存在很大的模糊。建立對zkEVM作為可靠的可擴展性解決方案的信任是Scroll、Polygon、StarkNet和zkSync等團隊關注的一個重要領域。
去中心化的挑戰
圍繞去中心化zkEVM操作的前進道路的問題廣泛適用于所有rollup,因為有效性和欺詐證明的生成在很大程度上取決于中心化排序器。如上所述,排序器是L2利益相關者,負責批處理用戶交易并將這些批次的證明提交給以太坊的L1。
目前在以太坊上運行的每個rollup都由中心化排序器運營,并依賴于由單個實體管理的可升級智能合約。今天rollup的中心化性質的一個主要原因是由于技術的初期以及在代碼中出現意外錯誤時需要快速修復。此外,尤其是zkEVM背后的技術在不斷變化,因此很難自信地激勵用戶在自己的設備上運行這項新興技術。為rollup去中心化排序器通常意味著啟動一個代幣并充實一個共識協議,以一種無需許可的方式組織多個排序器和證明者。雖然啟動代幣和創建共識協議的挑戰對于公共區塊鏈來說并不新鮮,但它們需要時間和大量的考慮才能負責任地啟動。由于設計和最初的供應分配,StarkWare宣布的代幣計劃引起了爭議,而Polygon預計將在其zkEVM推出后改進其現有MATIC代幣的代幣經濟學。zkSync也有望在未來幾個月為其rollup推出專用代幣,而Scroll推出代幣的計劃仍不明朗。
在zkEVM的背景下,用于排序器去中心化的重要的第一步是開源項目軟件,在撰寫本文時很少有人這樣做。在去中心化zkEVM操作方面,可以依賴于大量預先存在的用戶進行rollup的zkEVM實現可能具有優勢。
zkEVM硬件挑戰
雖然zkEVM證明驗證起來很簡單,但生成它們需要大量計算,部分原因是ZKP背后的數學依賴于線性計算序列。這使得并行化工作以在機器上生成證明變得困難。最近使用遞歸證明在這方面取得了進展。遞歸證明是一種減少證明生成延遲的技術。它指的是重復生成證明的證明以進一步壓縮交易,從而可以并行處理ZK-rollup上的小批量交易。這是StarkNetVM和Polygon的zkEVM用于生成有效性證明的技術。
由于生成ZKP所需的密集計算性質,zkEVM可能不得不依賴高級硬件,例如圖形處理單元(GPU)、現場可編程門陣列(FPGA),甚至專用集成電路(ASIC)。需要專門的硬件來運行必要的計算來生成證明,這與需要專門的硬件來根據工作量證明(PoW)共識協議有效地挖掘區塊沒有什么不同。這兩個硬件行業的增長差異在于證明者與礦工的選擇過程。
證明者是負責生成有效性證明的網絡利益相關者。另一方面,排序器負責將用戶交易排序和打包成批次,并將數據提交到第1層區塊鏈。從技術上講,排序者和證明者的職責可以合并為一個角色。然而,因為證明生成和交易排序都需要高度專業化的技能才能很好地執行,所以拆分這些職責可以防止匯總功能不必要的集中。
如果證明者和排序器的選擇過程類似于礦工的選擇過程,依賴于達成中本聰共識并用最高效的硬件獎勵參與者,那么ZKP“挖礦”行業就有可能沿著相同的軌跡發展作為比特幣的PoW挖礦業。然而,有幾個原因可以解釋為什么特定證明者的選擇過程更可能是一個在設計上類似于權益證明(PoS)而不是中本聰風格的PoW共識的確定性過程。
首先,對證明者使用中本聰式的選擇過程意味著擁有最高效硬件的證明者將主導證明市場。為了避免證明者市場的壟斷,以及證明者重復用電,像Scroll這樣的項目正在尋找替代設計來選擇證明者,這需要證明者將資產作為抵押品,這與以太坊驗證者被要求抵押32ETH的方式不同。staking模型的實施確保證明者在游戲中擁有皮膚,可以因破壞網絡安全性和活躍性的行為而受到懲罰,例如未能為指定的一批交易計算有效性證明。重要的是,獎勵和懲罰證明者的激勵與在ZK-rollup上選擇排序器的模型相平衡,以便網絡利益相關者有足夠的參與來履行這兩項責任。
確定性地選擇證明者生成證明而不是讓所有證明者競爭生成證明的另一個好處是可以提高交易吞吐量和網絡可擴展性。選擇證明者意味著幾個證明者可以并行地為不同批次的交易生成證明,而不是所有證明者都為同一批交易生成證明。然而,依賴于某種形式的staking和slashing的領導人選舉系統的弱點之一是復雜性。與中本聰風格的PoW系統相比,PoS系統依靠更復雜的制衡設計來保持參與者的誠實。例如,中本聰式的共識通常只需要參與者,即礦工,產生他們工作的證明來獲得獎勵。確定性PoS系統可能對參與者提出更多要求,例如存入資產、委托資產、對交易和區塊進行投票、提議區塊以及監控其他驗證者的行為。
大多數zkEVM可能會嘗試通過選擇確定性而不是概率性的無需許可的證明者選擇過程來盡量減少rollup的用電量。以太坊聯合創始人VitalikButerin估計,根據PoW共識協議,計算zkEVM的有效性證明所需的電力不到用于開采ETH的1%。zkEVM設計人員的目標是盡可能減少證明時間,同時讓盡可能多的用戶可以經濟地訪問證明生成。實現共識層兼容的zkEVM的要求之一是將證明生成時間減少到與以太坊第1層塊時間相當。
只有當zkEVM背后的規范變得清晰和標準化后,ZKP硬件制造商才能真正成長和成熟。最后,預測有效性證明計算行業的用電量仍然很困難,直到rollups采用并實施一種無需許可地選擇證明者和排序器的模型。
zkEVM競爭展望
在短期內,各種zkEVM正在競爭成為第一個在主網上啟動。然而,從長遠來看,他們將在EVM兼容性層面和VM效率方面展開競爭。一旦支持zkEVM的技術得到更廣泛的測試、使用和理解,zkEVM很可能還必須與optimisticrollups和其他L2可擴展性解決方案競爭以吸引用戶采用。
先發優勢和后發優勢
zkSync、Polygon和Scroll團隊的zkEVM實現正在競相率先在主網上推出。首先在主網上啟動的優勢歸結為在吸引dapp開發人員方面領先于其他zkEVM實現。鑒于rollup之間的互操作性和dapp可組合性很困難,這可能是一個特別重要的收獲。Dapp可組合性是指像積木一樣在dapp之上構建dapp的能力,是以太坊去中心化金融(DeFi)生態系統的一個特別重要的特征,它使dapp開發人員更有可能被L1或L2所吸引,而這些L1或L2已經擁有最多的采用。
另一方面,由于zkEVM作為一項技術的新穎性,首批推出的zkEVM實現不太可能針對以太坊dapp開發人員進行最優化。正如本報告中提到的,在字節碼層面和共識層面上與EVM完全兼容的zkEVM實現尚未準備好用于生產。可以更原生地支持以太坊dapp部署的zkEVM實現可能不會首先啟動,而是具有更多EVM等效的后發優勢。等效性水平越深,zkEVM的開發人員入職體驗就越容易。換句話說,從2015年以來一直是主要dapp的執行環境的EVM可以轉移的工具越多,zkEVMdapp開發人員的采用就越好。
通過EVM等效性吸引dapp開發人員是zkEVM實現之間第一個明顯的競爭領域,雖然dapp開發人員采用的先發優勢很強,但該技術還處于初期階段,因此仍有進行重大迭代和改進的空間。來構建一個生產就緒的zkEVM。最終,該游戲類似于從零開始的創新者困境——成為第一個并嘗試建立分銷和社區更好,還是成為第二個并以更好的功能推翻先行者更好?
虛擬機設計
隨著時間的推移,zkEVM的另一個競爭和改進領域是效率。如前所述,EVM并未針對ZK系統進行優化,構建通用的ZKrollup可以證明基于以太坊的智能合約和dapps需要大量開銷。隨著時間的推移,為SNARK或STARK證明優化的其他VM設計可能會降低EVM兼容性,這是Starkware團隊強烈持有的觀點。將Solidity編譯為Cairo的Warp工具和其他類似工具都是社區驅動的舉措,因為內部StarkWare團隊專注于使StarkNet的VM盡可能高效,而不是簡單地與EVM兼容。
在以太坊上,值得注意的是,EVM不能在不破壞dapp向后兼容性的情況下進行重大更改或升級。自EVM于2015年發布以來,開發人員對EVM及其高級編程語言Solidity進行了修補,以在較小的方面提高可用性和安全性。例如,在2019年以太坊伊斯坦布爾硬分叉升級期間,核心開發人員向EVM添加了一個名為“CHAINID”的新操作碼,它將返回規范鏈的唯一標識號。這是為了通過允許節點檢查CHAINID來防止升級的節點連接到未升級的節點,這是一種特別有用的升級,有助于防止“重放攻擊”,在這種攻擊中,惡意行為者可以利用不良的節點發現。
以太坊核心開發人員一直堅稱,以太坊的發展路線圖中仍將對EVM進行進一步的更改。新的操作碼和預編譯可能會繼續添加到EVM中,這表明現有的zkEVM實現必須靈活地適應EVM中的變化。然而,即使有了這些改進,Mina、Sui和Aptos等替代第1層區塊鏈仍然有機會嘗試不同的VM設計和智能合約語言設計,從長遠來看,這可能會使EVM過時。zkEVM實現主要側重于在字節碼和共識層面與EVM的深度兼容性,長期押注EVM在智能合約開發中的相關性和主導地位。
Optimisticrollups過渡到ZKrollups
最后,本報告中討論的五個zkEVM實現擊敗了Optimism或Arbitrum等樂觀匯總,這并不是一個必然的結論。在技術層面上,ZKrollups比optimisticrollups更安全、更高效,并且有可能更具成本效益。但是,它們在證明為EVM設計的通用計算方面的靈活性并未經過測試和大規模廣泛部署。一旦zkEVM推出并且其背后的技術更加成熟和穩健,以欺詐為動力的樂觀匯總就有可能升級并過渡到生成有效性證明。此外,混合匯總和多證明者系統使用欺詐證明樂觀地驗證用戶交易并間歇性地發布有效性證明,隨著zkEVM背后的技術成熟,逐漸加快有效性證明的生成時間是一個活躍的研究領域,今天正在認真討論由像VitalikButerin這樣的以太坊核心開發人員和像Optimism的KelvinFichter這樣的L2開發人員。
已經在以太坊上推出的Rollup具有預先存在的用戶群的優勢,理論上可以很容易地移植到Rollup的新升級版本,類似于2022年推出的ArbitrumNitro。這種可能性可能是團隊為什么選擇zkEVM的支持者對完全開源他們項目的代碼猶豫不決,直到他們的主網啟動,直到他們的rollup建立了一個相當大的用戶群以與其他現有rollup的網絡護城河競爭。隨著時間的推移,optimisticrollups到ZKrollups的可升級性表明zkEVM實現不僅相互競爭,而且在更廣泛的以太坊L2生態系統的背景下。
結論
最近對zkEVM的興趣激增引發了幾個關于以太坊可擴展性路線圖終局的問題。在最真實的意義上,zkEVM代表了對EVM主導地位的長期押注,并且通過關聯,以太坊作為智能合約執行的主要平臺。zkEVM也是對以太坊可擴展性路線圖的長期押注,因為它以匯總和將交易執行抽象為rollup而不是與共識和數據可用性相結合。
盡管今年宣布了幾個接近生產就緒的zkEVM,但該技術仍處于起步階段。實現與EVM具有共識層面兼容性的zkEVM仍然是一項研究計劃,距離準備好投入生產可能還需要數年時間。然而,對于僅在一年前實現與EVM的字節碼級兼容性的zkEVM,情況也是如此。Polygon、zkSync、StarkWare和Scroll對zkEVM實現的快速發展繼續推動計算機科學和數學的界限,并且超出了預期。在以太坊主網上推出PolygonzkEVM和zkSync2.0將是使用真實用戶和dapp活動測試zkEVM的重要起點。
兩個生產就緒的zkEVM的可用性和可擴展性可能會不僅顛覆zkEVM協議的競爭格局,而且還會顛覆optimisticrollups和替代L1區塊鏈的競爭格局。如果zkEVM成功,optimisticrollups將不得不轉換為ZKrollup設計以保持長期競爭力。替代的L1區塊鏈還必須在其VM設計上進行創新,以與可擴展的EVM競爭。關于ZKP在以太坊上的就緒性和適用性還有很多待證明,而生產就緒zkEVM的推出應該被視為這項新技術競爭格局的開始。
zkEVM的一些持續關注和發展領域包括它們的硬件設計和代幣經濟學。用于生成ZKP的硬件環境以及哪種rollup成功地去中心化證明生成仍有待觀察。這在很大程度上將歸結為各個團隊的社區建設,以及這些匯總中的任何一個能夠在多大程度上成功地引發dapps,尤其是DeFidapps向其網絡的大規模遷移。這些發展領域需要時間和迭代才能正確。然而,鑒于zkEVM試圖在以太坊上實現的先進性,以及它們對公共區塊鏈未來的廣泛潛在影響,這一進展將受到以太坊利益相關者、研究人員、密碼學家和學者等的密切關注。
在加密行業你想抓住下一波牛市機會你得有一個優質圈子,大家就能抱團取暖,保持洞察力。如果只是你一個人,四顧茫然,發現一個人都沒有,想在這個行業里面堅持下來其實是很難的。
想抱團取暖,或者有疑惑的,歡迎加入我們-----公眾號:佩佩梭哈
感謝閱讀,我們下期再見!
12月2日消息,著名風投a16z自建媒體網站Future面臨關閉,主要編輯人員都已經離職,包括執行主編MaggieLeung、4年前加入a16z的總編輯AmeliaSalyers、密碼學編輯Je.
1900/1/1 0:00:00DearHuobiUsers,HuobiwillbelistingNCASH/USDTforspottradingat09:00(UTC)onDecember6.
1900/1/1 0:00:00由于BTC本位的部分永續合約市場流動性不足,用戶交易意向低,Gate.io將于2022年12月5日16:00UTC8下架以下BTC本位的交易市場:BCH/USD永續合約LTC/USD永續合約AD.
1900/1/1 0:00:00ForesightNews消息,Web3多鏈錢包BitKeep宣布與OpenSea達成戰略合作伙伴關系,雙方初期合作在BNBChain展開.
1900/1/1 0:00:00BitfinexAlpha|債券市場承壓,比特幣保持穩定要了解一個經濟體的狀況,檢查該經濟體債券市場的行為幾乎總是有益的。我們對美國債券市場的分析并不漂亮.
1900/1/1 0:00:00穩定幣協議HelioProtocol發推更新有關HAY錨定恢復計劃的最新進展,表示團隊已啟動了錨定恢復的流程,預計該計劃將在12月6日前完成.
1900/1/1 0:00:00