以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

ZK rollups 中的“證明溢出”問題探究_GAS

Author:

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

在Scroll,我們正在開放構建zkEVM,并希望將我們正在構建的協議的所有方面保持公開透明。

這篇文章中描述了我們稱之為“證明溢出”的問題—?一個由于ZKrollups中執行和證明生成分離而引起的問題。

背景

Scroll的rollup流程大致可以理解為:

1.用戶向Scroll的內存池提交交易。

2.排序器(sequencer)節點將一些交易打包到一個區塊中。

3.批處理程序(bather)將一些區塊打包成一個批次(batch)。

批次的數據被發布或“提交”到以太坊L1

4.證明者獲取批次并生成證明。

該證明可以證明該批次中的所有交易均已正確執行。

該證明提交給以太坊L1進行驗證。相應的批次被認為是“最終確認的”。

Matter Labs團隊推出模塊化工具包ZK Stack:金色財經報道,Matter Labs團隊宣布推出ZK Stack,這是一個模塊化工具包,用于在以太坊Layer 2解決方案zkSync Era之上構建超鏈網絡。開發人員表示,ZK Stack將給予開發者完全的主權。從選擇數據可用性模式開始,到使用您自己的實用代幣來分散排序器結束。該開源框架與EVM兼容、經過實戰測試且面向未來。[2023/6/27 22:03:06]

我們在Alpha測試網中遇到的一個問題是無法證明某些批次。愿意是它們“太大”而無法放入我們的zkEVM電路中。

人們可以認為zkEVM電路由許多子電路組成,比如n個子電路,它們通過查找表互連。每個子電路用于約束特定的操作——例如,Keccak電路計算Keccak哈希,求冪電路計算求冪。我們的zkEVM電路設計中當前限制是每個子電路必須具有相同的行數,比如m行。

ZK Rollup訂單簿式DEX ZigZag將于6月24日開啟ID0:6月21日消息,據官方消息,ZK Rollup訂單簿式DEX ZigZag將于6月24日23時在自身DEX上開啟ID0,第一輪公開發售將允許用戶在早期階段成為DAO的一部分,擁有對Token用例的投票權,同時決定空投的詳細信息。

ZigZag總量共計1億枚,本次ID0供應量為200萬枚,僅支持USDC支付。目前,由于基礎設施限制,ZigZag將僅在zkSync上提供現貨交易。在zkSync2.0和StarkNet發布后,將引入杠桿交易和無需許可上市的永續合約。

金色財經此前報道,6月20日,ZK Rollup訂單簿式DEX ZigZag疑似已在以太坊上部署Token ZZ的智能合約,總量1億枚。[2022/6/21 4:41:02]

根據每個子電路中消耗的行數,每個所傳入的交易都具有唯一的配置文件。例如,可能有一個交易需要許多Keccak操作,因此在Keccak電路中占用許多行,而在求冪電路中不占用任何行。相反,可能有一個交易在Keccak電路中占用很少的行,而在求冪電路中占用很多行。

StarkWare推出ZK Rollup擴容方案StarkNet Alpha 1版本:StarkWare推出ZK Rollup擴容方案StarkNet Alpha 1版本,該版本更新包括實現了L1、L2交互功能、實現了L1鏈上數據可用性,可通過L1數據構建StarkNet的狀態等,此外,StarkNet還發布了StarkNet操作系統的代碼,包括合約部署、交易執行等細節。[2021/7/20 1:03:37]

由于批次由區塊組成,而區塊由交易組成,因此批次的行消耗配置文件由組成它的交易所決定。如果一個批次的行消耗超過最大行數m,則該批次將無法證明。當一個批次無法證明時,它無法在L1上最終確認,任何后續的批次也無法證明。

值得注意的是,即使只包含單個交易的批次也可能會溢出電路。

要解決“證明溢出”問題需要解決以下問題:如何防止創建超出電路容量的批次?

ZK Labs將對PlotX進行智能合約安全審計:調研機構CryptoDiffer發推特稱,ZKLabs將在PlotX主網上線前對其進行智能合約安全審計。ZKLabs將會驗證PlotX智能合約的安全性,然后將由PlotX社區開發人員重構。據此前報道,DeFi預測市場平臺PlotX更新用戶界面,允許用戶查看包括預測接受與否、處理進程、獎勵分配等各個階段的進展,以及可以同時使用PLOT代幣以及ETH來購買預測頭寸,旨在為啟動主網做準備。部分新的用戶界面功能將很快PlotX測試版中實現,不過完整的功能將在PlotX的主網版本中實現。[2020/9/11]

長期解決方案

問題源于我們電路架構的局限性:所有子電路都必須有一些預先確定的、固定數量的行。我們正在研究重新設計我們的架構,以便可以獨立地動態調整子電路的大小——每個子電路的大小都可以根據批次證明的要求放大或縮小。例如,如果一個批次在Keccak電路中需要2^20行,但在求冪電路中只需要2^14行,則子電路可以獨立縮放。

V神:ZK Rollup和Optimistic Rollup均取得巨大進展:以太坊創始人V神剛剛發推表示,Rollups(包括ZK Rollup和Optimistic Rollup)已經存在并繼續取得巨大進展。雖然分片(sharding)仍在快速發展,但我們并不依賴于分片來實現1000+的鏈上TPS。在eth2中,分片和Rollups的縮放增益將成倍增加。[2020/5/21]

這種類型的動態設計帶來了挑戰,我們正在努力解決這些問題。然而,與此同時,我們需要解決固定尺寸電路的問題。

當前解決方案

1.根據最壞情況下的操作碼設置區塊Gas限制

這里的想法是根據最壞情況下的操作碼來設置區塊的Gas限制。換句話說,設置區塊Gas限制,即使它被最昂貴的操作碼填滿,該區塊仍然可以適配我們的電路。這保證了任何區塊都無法填滿電路。

優點:簡單

缺點

非常低效

分析表明,最昂貴的操作碼(SHA)的證明行與EVMGas之間的比率約為11倍。

每個額外的Keccak字節占用約2.2行,同時消耗約6/32EVMgas。對于m=2^20,我們可以容納大約2^20/2.2個Keccak字節。這對應于(2^20/2.2)*(6/32)~=89,000gas的最大區塊限制。太小!!

2.Gas重新定價?

我們可以修改操作碼到Gas的映射表來反映證明成本,而不是執行成本。這將涉及從每個操作碼與它在所有子電路中占用的最大行數的靜態映射,然后修改我們的Geth分支以使用這個新的Gas定價。

優點:

證明溢出問題在執行層被處理為“OutofGas”錯誤

缺點

可能會破壞依賴于正常EVMGas定價的合約。

很難以編程方式將操作碼映射到行消耗。

這個映射應該是可編程的,因為zkEVM的電路庫會隨著時間的推移而改變,也因為手工分析容易出錯,這里稍有錯誤就會導致溢出漏洞

需要保持L2GethGas定價和zkEVM電路庫之間的同步-不同步將導致漏洞

3.引入額外的“ProofGas”計量

除了正常的EVMGas之外,我們還可以有一個單獨的概念“Proof?Gas”。Proof?Gas將用于量化交易在我們的電路中消耗的空間。請注意,這種“Proof?Gas”應該是多維的——因為不同的操作碼在不同的電路中占據不同的行。

一旦引入“Proof?Gas”計量的概念,就會出現在哪個級別約束它的問題。

3a.在執行層約束ProofGas

此解決方案與解決方案2類似,不同之處在于它保留了EVMGas和ProofGas的概念。這將再次涉及將每個操作碼靜態映射到它在每個電路中占用的行數,然后修改L2Geth以添加這種ProofGas的概念。如果特定交易超過了ProofGas限制,則交易將撤銷并出現一些自定義的“outofproofgas”的錯誤。這將確保沒有區塊可以超過行約束,因為執行層將在此之前停止交易。

優點:

證明溢出問題在執行層被處理為“outofproofgas”錯誤

缺點

難以生成從操作碼到行消耗的靜態映射

需要保持L2Geth和zkEVM電路庫之間的同步

需要對L2Geth和zkEVM電路庫中的邏輯進行重大更改,以支持額外的ProofGas概念

3b.在執行層之外約束ProofGas

我們可以從zkEVM電路庫中公開API來報告給定執行蹤跡所需的行數,而不是生成操作碼到電路行的靜態映射。L2Geth可以生成區塊的執行蹤跡,然后查詢電路行消耗——如果超過最大行數,則不會創建區塊。

優點:

無需以編程方式將操作碼映射到行消耗所需的復雜性。

缺點:

當必須構造一個區塊時,L2Geth會增加一些計算開銷,因為它需要進行額外的計算來估計電路行消耗。

使強制包含變得復雜。

強制包含是一種機制,用戶可以直接通過L1提交L2交易。這些交易被“強制”包含在L2鏈中,作為一種抗審查機制。

我們無法將交易映射到它在L1上消耗的電路行數,因此無法判斷它是否可證明

結語:

似乎解決方案3b是最簡單且風險最小,也是可行的解決方案。

伴隨這種方案的主要挑戰是如何處理強制交易,因為可能存在太大而無法放入電路中的強制交易。這里的一個想法是使用解決方案1中的想法來限制強制交易的Gas限制,這樣即使在最壞的情況下,強制交易也不會溢出電路。

從長遠來看,我們的目標是開發一個更靈活的證明系統,支持動態大小的子電路,從而完全避免這個問題。

Tags:GASROLROLLPROUGAS-JUN21Control2XYTROLLER價格DOGPRO幣

酷幣下載
以太坊研究員:如何在以太坊Layer1上構建原生 zkEVM?_以太坊

原文標題:《EthereumL1zkEVM》原文作者:polynya,以太坊研究員原文編譯:Kate,Marsbit似乎有一種普遍的誤解,認為以太坊只能通過L2進行擴展.

1900/1/1 0:00:00
Shapella之后,ETH收益產品賽道的新曙光_ETH

原文標題:《AfterShapella,anewdawnforETHyieldproducts》原文作者:CHRISPOWERS原文編譯:Kxp.

1900/1/1 0:00:00
坎昆升級將成為以太坊Layer 2的轉折點_以太坊

在即將到來的坎昆升級中,以太坊將迎來重大改變,將使得以太坊Layer2的速度提高10x,甚至有機會提高100倍且成本更低。本文將探討坎昆升級的影響以及可能受益的L2項目.

1900/1/1 0:00:00
Twitter Space回顧 | AI老炮兒深挖AGI前世今生_TWI

北京時間2023年5月7日上午11點,GPTDAO在Twitter上舉辦了主題為的TwitterSpace,本次AMA活動將邀請AI領域的資深專家,深度剖析AGI技術的前世今生.

1900/1/1 0:00:00
Foresight Ventures市場周報:市場喘息向上,NFT接近觸底_FOR

A.市場觀點 一、宏觀流動性 貨幣流動性改善。市場等待?5?月?4?日美聯儲議息會議,預計加息?25?個基點,大概率是最后一次加息。美國銀行危機繼續加劇,貨幣政策轉向或加快,年內有望實現降息.

1900/1/1 0:00:00
ETH周報 | Curve原生穩定幣crvUSD已部署至以太坊主網;以太坊再質押協議EigenLayer宣布即將推出第一階段主網(5.1-5.7)_ETH

一、整體概述 DeFi?協議?CurveFinance?已在以太坊主網上部署其原生穩定幣?crvUSD.

1900/1/1 0:00:00
ads