比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

以太坊:深度解析 zkEVM:工作原理、構建難度、重要性以及開發進展等

Author:

Time:1900/1/1 0:00:00

原文標題:《zkEVM知識問答--Alchemy》

原文來源:Alchemy

零知識以太坊虛擬機是一種生成零知識證明來驗證程序正確性的虛擬機。ZkEVM?旨在以支持零知識技術的方式執行智能合約。?

ZkEVM?是零知識?(ZK)?匯總的一部分,這是以太坊第?2?層擴展解決方案,通過將計算和狀態存儲轉移到鏈下來提高吞吐量。ZK-rollup?向以太坊提交交易數據以及驗證鏈下交易批次有效性的零知識證明。?

早期的?ZK-rollup?缺乏執行智能合約的能力,并且受限于簡單的Token交換和支付。但是,隨著與?EVM?兼容的零知識虛擬機的引入,ZK-rollups?開始支持以太坊?dApp。

在本文中,我們將探討?zkEVM?的工作原理、重要性以及存在哪些類型的?zkEVM。?

什么是?zkEVM?

zkEVM?是與?EVM?兼容的虛擬機,支持零知識證明計算。與常規虛擬機不同,zkEVM?證明程序執行的正確性,包括操作中使用的輸入和輸出的有效性。?

我們將進一步分解此定義以使其更易于理解:

EVM?兼容性?

EVM是執行部署在以太坊網絡上的智能合約的運行時環境。EVM?充當「世界計算機」,為運行在以太坊區塊鏈上的去中心化應用程序?(dApps)?提供動力。?

如果虛擬機可以運行為在?EVM?環境中運行而創建的程序,則它是「與?EVM?兼容的」。這樣的虛擬機可以執行用?Solidity?或以太坊開發中使用的其他高級語言編寫的智能合約。ZkEVM?與?EVM?兼容,因為它們無需對底層邏輯進行大量修改即可執行以太坊智能合約。

支持零知識技術?

EVM?從未設計為支持零知識證明,這使得構建與?EVM?兼容、對零知識友好的虛擬機變得困難。然而,研究的進步在某種程度上使得將?EVM?計算包裝在零知識證明中成為可能。

Kaiko:3月份Coinbase的市場深度腰斬,幣安下降13%:金色財經報道,據Kaiko研究的數據,USDC-USD交易對的交易量在3月11日創歷史新高,達6億美元,其中以Kraken為主。此外,Aave和Compound在3月11日收到了超過20億美元的還款,其中大部分是USDC。

同時,在交易所流動性方面,Gemini市場深度在3月份下降了74%,Coinbase下降了50%,Binance.US下降了29%,但幣安則受益于其更多的全球風險敞口,流動性僅下降了13%。[2023/3/14 13:02:49]

不同的?zkEVM?項目采用不同的方法將?EVM?執行與零知識證明計算相結合。每種方法都有獨特的權衡,我們將在本指南的后面部分進行探討。?

zkEVM?是如何工作的?

與?EVM?一樣,zkEVM?是一個虛擬機,它通過程序操作在狀態之間轉換。但是?zkEVM?更進一步,通過生成證明來證明計算的每個部分的正確性。本質上,zkEVM?使用一種機制來證明執行步驟遵循規則。?

要了解?zkEVM?的工作原理,讓我們回顧一下?EVM?當前的工作原理。?

EVM?的工作原理

以太坊虛擬機是一種狀態機,它響應一些輸入而從舊狀態移動到新狀態。每個智能合約執行都會觸發?EVM?狀態的變化。以下是智能合約交易期間發生的情況的高級概述:

1.?合約字節碼從?EVM?的存儲中加載,并由?EVM?上的點對點節點執行。節點使用相同的交易輸入,這保證了每個節點都達到相同的結果。?

2.EVM?操作碼與?EVM?狀態的不同部分交互。操作碼執行讀寫操作——從狀態存儲讀取值并將新值寫入到?EVM?的存儲。?

3.EVM?操作碼在返回新值之前對從狀態存儲中獲得的值執行計算。此更新導致?EVM轉換到新狀態。這個新狀態被其他節點復制并保持到另一個事務被執行。?

橫琴粵澳深度合作區布支持元宇宙產業發展十方面稅收措施:11月7日消息,近日,橫琴粵澳深度合作區財政局、稅務局、經濟發展局聯合發布關于支持元宇宙產業發展十方面稅收措施的通告。根據《通告》,與發展元宇宙有關的產業行業,如5G、人工智能、區塊鏈、XR等,可對照合作區企業所得稅15%稅率優惠政策9大類150項優惠目錄,申報享受稅收優惠。對國家需要重點扶持的高新技術元宇宙企業,可享受減按15%的稅率征收企業所得稅。對于在合作區工作的元宇宙相關行業從業人員來說,符合高端人才和緊缺人才條件的,個人所得稅負超過15%的部分予以免征。在合作區工作的澳門居民,個人所得稅負超過澳門稅負的部分予以免征。[2022/11/7 12:27:51]

顯示程序如何在以太坊虛擬機?(EVM)?中執行的圖表。

zkEVM?的工作原理?

zkEVM?生成零知識證明來驗證每次計算中的各種元素:

1.字節碼訪問:是否從正確的地址正確加載了適當的程序代碼??

2.讀寫操作:程序是否在計算之前從堆棧/內存/存儲中獲取了正確的值?灣。程序在完成執行后是否將正確的輸出值寫入堆棧/內存/存儲??

3.計算:操作碼是否正確執行??

zkEVM?的架構

zkEVM?分為三個部分:執行環境、證明電路和驗證者合約。每個組件都有助于?zkEVM?的程序執行、證明生成和證明驗證。?

1.執行環境?

顧名思義,執行環境是在?zkEVM?中運行程序的地方。zkEVM?的執行環境功能與?EVM?非常相似:它采用初始狀態和當前事務來輸出新的狀態。

2.?驗證電路?

證明電路產生零知識證明來驗證在執行環境中計算的交易的有效性。使用前狀態、交易輸入和后狀態信息作為輸入來完成證明生成過程。之后,證明者獲得該特定狀態轉換有效性的簡潔證明。?

甘肅省首個5G聯合創新中心:聚焦區塊鏈等技術深度應用:8月3日消息,甘肅5G聯合創新中心近日正式建成使用,該中心是目前甘肅省規模最大、覆蓋面最廣的信息化展廳,主要聚焦區塊鏈等技術在教育、生活、政務、醫療、工業等領域的深度應用,也是推進政府數字化轉型、推動經濟社會數字化建設的一次具體實踐。(人民網)[2021/8/3 1:31:31]

顯示?zkEVM?如何為程序生成有效性證明的圖表。

3.?驗證者合約?

ZK-rollups?將有效性證明提交給部署在?L1?鏈上的智能合約進行驗證。輸入和輸出也提交給驗證者合約。然后驗證者在提供的證明上運行計算,并確認提交的輸出是根據輸入正確計算的。?

什么是?zkEVM?操作碼?

ZkEVM?操作碼是用于在與?EVM?兼容的?ZK-rollup?中執行程序的低級機器指令。與?EVM?一樣,用高級語言編寫的合約必須編譯為?VM?可以解釋的低級語言。該字節碼指定了在?VM?中部署程序時用于執行程序的操作碼。

我們需要?zkEVM?操作碼,因為常規的?EVM?操作碼在零知識證明電路中的使用效率很低。通常有兩種方法可以為?zkEVM?創建操作碼:

為原生?EVM?操作碼構建?ZK?電路

為?ZK?證明計算創建新語言

為原生?EVM?操作碼構建零知識電路?

這種方法需要在算術電路中實現所有EVM?指令集——這是一項復雜且耗時的任務。好處是開發人員可以使用現有的區塊鏈開發工具創建智能合約,或將現有的以太坊合約移植到?ZK-rollups,而無需進行大量修改。??

為?ZK?證明計算創建新語言

這種方法需要構建一種新語言——旨在支持有效性證明——并開發自定義操作碼。開發人員需要直接用新語言編寫合約,或者將?Solidity?源代碼編譯為自定義?zkEVM?操作碼。?

雖然這種方法通常比第一種方法更容易實現,但它也有缺點。例如,開發人員可能無法訪問現有的以太坊基礎設施和資源。?

動態 | OKEx永續合約、幣幣、期權合約上線tick by tick全量深度推送頻道:據OKEx官方消息,OKEx平臺永續合約、幣幣、期權合約產品上線tick by tick全量深度推送頻道。據了解,OKEx全業務已經上線該功能,該功能可為用戶提供更加準確、真實、實時的市場信息,便于用戶做出交易決策。[2020/2/7]

根據?EVM?兼容性分類的零知識虛擬機。

是什么讓構建?zkEVM?變得困難?

由于?EVM?在構建時并未考慮?zk-proof?計算,因此它具有對證明電路不友好的特性。下面簡要概述了使構建?zkEVM?變得困難的四件事:

特殊的操作碼

基于堆棧的架構

存儲開銷

證明成本

1.特殊的操作碼?

與常規?VM?不同,EVM?使用特殊的操作碼來執行程序和錯誤處理以及其他操作。這增加了為?EVM?操作設計驗證電路的過程的復雜性。?

2.?基于堆棧的架構?

EVM?使用基于堆棧的架構,雖然比基于寄存器的結構更簡單,但增加了計算證明的難度。這就是為什么著名的零知識?VM,例如?ZkSync?的?zkEVM?和?StarkWare?的?StarkNet?使用基于寄存器的模型。?

3.?存儲開銷

EVM?的存儲布局依賴于?Keccak?散列函數和?MerklePatriciaTrie,兩者都有很高的證明開銷。一些?zkVM,比如?ZkSync,試圖通過替換?KECCAK256?函數來回避這個問題——但這可能會破壞與現有以太坊工具和基礎設施的兼容性。

4.?證明成本?

即使解決了上述問題,仍然需要應對證明生成過程。生成零知識證明需要專門的硬件以及大量的時間、金錢和精力投入。?

聲音 | 燕趙晚報:建設多層次金融服務體系 要推進金融與大數據、區塊鏈等深度融合:9月26日,燕趙晚報發表文章《支持民企發展 金融責無旁貸》。文章指出,要徹底解決民營企業融資難、融資貴,在立足當下貫徹好、執行好各級政策的同時,還應著眼長遠,以深化金融改革化解民企融資困局。要建設多層次金融服務體系,不斷提高直接融資比重,放寬金融市場準入,發展多元金融業態,推進金融與大數據、區塊鏈等深度融合,降低民企融資成本。[2019/9/26]

盡管并非詳盡無遺,但此列表提出了一些阻礙構建與?EVM?兼容的?zkEVM?的問題。盡管如此,零知識技術的幾項突破使得緩解這些問題成為可能——導致人們對?zkEVM?解決方案重新產生興趣。?

為什么?zkEVM?很重要?

構建功能齊全的?zkEVM?將鼓勵與?EVM?兼容的ZK-rollup?項目的開發。這具有幾個優點:

安全的可擴展性

成本更低

更快的最終確定性和資本效率

網絡效應

1.?安全的可擴展性

根據協議規則,所有驗證節點必須重新執行在以太坊虛擬機中執行的所有計算。這種方法確保了安全性,因為以太坊節點可以獨立驗證程序的正確性,但它限制了以太坊網絡只能管理約?15-20?個交易的可擴展性)。

與?EVM?兼容的?ZK-rollup?可以解決以太坊的吞吐量問題,而不會破壞網絡安全。與其他擴展協議一樣,ZK-rollups?不受以太坊共識協議規則的負擔,并且可以優化執行速度。一些估計表明,ZK-?rollups每秒可以處理約?2000?筆交易,而不會產生以太坊的高額費用。

但是,ZK-rollups?與其他擴容項目相比具有更高的安全保障;他們用有效性證明來驗證鏈下計算的正確性。這意味著智能合約在?L2?上執行的交易可以在?L1上可靠地驗證,而無需節點重新執行操作。這可以在不降低安全性的情況下顯著提高以太坊的處理速度。?

2.?更低的成本

Rollups?通過將交易數據作為?CALLDATA?寫入以太坊來從以太坊主網獲得安全性。然而,樂觀匯總和零知識匯總的不同之處在于它們必須在以太坊上發布多少數據。

因為樂觀匯總不提供鏈下交易的有效性證明,所以它們需要在鏈上發布所有與交易相關的數據。如果不將所有數據都放在鏈上,挑戰者就無法構建用于對無效匯總交易提出爭議的欺詐證明。?

相反,ZK-rollups?可以將最少的數據發布到以太坊,因為有效性證明已經保證了狀態轉換的可信度。zkEVM?甚至可以省略交易輸入并僅發布最終狀態更改,從而進一步降低?CALLDATA?要求。?

3.?更快的確定性和資本效率?

除了更好的安全性之外,ZK-rollups?與樂觀?rollups?相比還有另一個優勢:更快的最終確定性。區塊鏈中的確定性是交易變得不可逆轉所需的時間;只有當網絡參與者有客觀證據證明其有效性時,交易才能最終確定。?

使用?ZK-rollups,在?zkEVM?中執行的交易通常在發布到以太坊后立即完成。由于每個交易批次都帶有即時可驗證的有效性證明,因此以太坊主鏈可以快速應用狀態更新。?

由于樂觀匯總僅在沒有證明的情況下發布?VM?事務,因此必須經過質詢期才能使事務達到最終確定性。挑戰期是?1-2?周,在此期間,任何人都可以在交易提交到以太坊后對其進行挑戰。?

較慢的最終確定性對用戶體驗有很多影響。例如,在延遲期到期之前,用戶不能從匯總中提取資產。流動性提供者可能會解決問題,但如果提款涉及高價值資產甚至?NFT,則可能無效。?

zkEVM?沒有上述問題。更快的最終確定性非常適合高級用戶,例如需要無縫移動資產的?NFT?交易者、DeFi?投資者或套利交易者。?

4.網絡效應

構建與?EVM?兼容的?zkVM?的最重要原因是利用以太坊的網絡效應。作為全球最大的智能合約平臺,以太坊擁有龐大的生態系統,為開發者和項目提供價值。?

例如,開發人員可以訪問經過實戰測試和審計的代碼庫、廣泛的工具、文檔等。創建一個與以太坊基礎設施不兼容的新?zkVM?將使項目和開發團隊無法利用以太坊的網絡效應。?

有哪些類型的?zkEVM?

當前的?zkEVM?項目分為兩大類:支持原生?EVM?操作碼的?zkVM?和使用自定義?EVM?操作碼的?zkVM。下面我們比較不同的?zkEVM?協議并解釋它們是如何工作的:

PolygonzkEVM

PolygonHermez?是一個帶有零知識虛擬機的PolygonZK-rollup,旨在支持?EVM?兼容性。為此,EVM?字節碼被編譯成「微操作碼」并在?uVM?中執行——一個使用?SNARK?和?STARK?證明來驗證程序執行正確性的虛擬機。?

結合這兩種證明類型的決定具有戰略意義。STARK證明的生成速度更快,但?SNARK證明更小,在以太坊上驗證成本更低。?

PolygonHermezzkEVM使用STARK?證明電路來生成狀態轉換的有效性證明。STARK?證明驗證?STARK?證明的正確性并提交給以太坊進行驗證。?

zkSynczkEVM

zkSync?是一個與?EVM?兼容的?ZK-rollup,由?MatterLabs?開發并由其自己的zkEVM提供支持。ZkSync?使用以下策略實現與以太坊的兼容性:

1.?將?Solidity?編寫的合約代碼編譯成?Yul,一種中間語言,可以編譯成不同虛擬機的字節碼。?

2.?將?Yul?字節碼重新編譯為專門為?zkSync?的?zkEVM?設計的自定義、電路兼容的字節碼集。?

與?PolygonHermez?一樣,zkSynczkEVM?在語言級別而不是字節碼級別實現?EVM?兼容性。例如,zkSync?的?zkEVM?不支持傳統的乘法和加法操作碼。?

ScrollzkEVM

Scroll是一個正在開發的新的零知識?EVM?實現。Scroll?團隊計劃為每個?EVM?操作碼設計零知識電路。這將允許開發人員在?Scroll?上部署以太坊原生智能合約?EVM,而無需修改底層?EVM?字節碼。?

除此之外,ScrollzkEVM?將使用「密碼累加器」來驗證存儲的正確性。這用于證明合約字節碼是從給定地址正確加載的。?

它還提供了一個將字節碼與執行跟蹤鏈接起來的電路。執行跟蹤是一個序列,指定執行了哪些?VM?指令以及執行順序。證明者將在證明生成期間提交執行跟蹤,以驗證計算與原始字節碼是否一致。?

AppliedZKPzkEVM

AppliedZKP是由以太坊基金會資助的一個項目,旨在開發與?EVM?兼容的?ZK-rollup?以及為以太坊區塊生成有效性證明的機制。最后一部分至關重要,因為將塊與有效性證明配對將消除節點重新執行塊的需要。?

AppliedZKP?的創新在于計算與存儲的分離。它使用兩種類型的有效性證明——狀態證明和EVM?證明:?

狀態證明

檢查涉及存儲、內存和堆棧的操作是否正確發生。狀態證明本質上是驗證讀寫操作的準確性。?

EVM?證明

檢查計算是否在正確的時間調用了準確的操作碼。EVM?證明驗證計算本身,并確認狀態證明為每個操作碼執行了正確的操作。?

AppliedZKPzkEVM?使用總線映射來鏈接狀態證明和?EVM?證明。此外,在以太坊區塊被視為有效之前,必須驗證這兩個證明。

我們在?zkEVM?的開發進度中處于什么位置?

除了?zkSync,大多數零知識?EVM?仍在開發中。然而,零知識技術的不斷發展意味著功能齊全的?zkEVM?的前景比以往任何時候都好。?

Tags:以太坊ROLLROLUPS以太坊幣最新價格行情分析TROLL幣ROLS幣WELUPS幣

火幣下載
WEB3:WEB3 XMAS 圣誕狂歡活動,AvatarDAO 多重驚喜等你來

十二月的年末, 我們送走了疫情,走過了熊市,結束了顛沛流離的一年, 這一年你過得好嗎? 寒冬因圣誕而變得浪漫,WEB3世界的寒冬也因每個參與者而變得溫暖.

1900/1/1 0:00:00
加密貨幣:路透社特別報告:幣安深陷財務迷霧,但仍試圖提振信心

原文標題:《SpecialReport:Binance''sbooksareablackbox,filingsshow.

1900/1/1 0:00:00
SHI:SushiSwap CEO:將提高財務透明度,新代幣經濟學將重新設計流動性引導方式

SushiSwap新任CEOJaredGrey在推特上表示,目前正在采取多種方案,旨在2023年第一季度改進Sushi和商業模式破裂的長期問題.

1900/1/1 0:00:00
NFT:NFT 項目 Doodles 2 將于明年開啟內測,測試網合約已部署

NFT系列Doodles創始人JordanCastro在官方Discord宣布,Dooplicator的效用公布和GenesisBox的開圖將于2023年1月后陸續進行.

1900/1/1 0:00:00
BIG:Big Time 榮獲 Gam3 評選的 2022 年度最佳游戲大獎

作者:BigTime 被稱為web3游戲格萊美獎的PolkastarterGAM3大獎的獲獎者已經加冕。16位獲獎者在12月15日的現場活動中揭曉,標志著首屆行業大獎的結束.

1900/1/1 0:00:00
AEX:AEX 擬每月將部分平臺資產打折轉讓給客戶以換取 AUSD 銷毀

ChainCatcher消息,加密交易平臺AEX發布《平臺情況說明及解決方案(2)》,稱當前部分平臺高管的強制措施仍未解除,預計短期內不具有解除的可能性.

1900/1/1 0:00:00
ads