在Scroll,我們正在開放構建zkEVM,并希望將我們正在構建的協議的所有方面保持公開透明。
這篇文章中描述了我們稱之為“證明溢出”的問題—?一個由于ZKrollups中執行和證明生成分離而引起的問題。
背景
Scroll的rollup流程大致可以理解為:
1.用戶向Scroll的內存池提交交易。
2.排序器(sequencer)節點將一些交易打包到一個區塊中。
3.批處理程序(bather)將一些區塊打包成一個批次(batch)。
批次的數據被發布或“提交”到以太坊L14.證明者獲取批次并生成證明。
該證明可以證明該批次中的所有交易均已正確執行。該證明提交給以太坊L1進行驗證。相應的批次被認為是“最終確認的”。我們在Alpha測試網中遇到的一個問題是無法證明某些批次。愿意是它們“太大”而無法放入我們的zkEVM電路中。
Animoca Brands授權ALTAVA Group使用其持有的BAYC NFT形象:5月10日消息,Animoca Brands宣布與奢侈時尚品牌ALTAVA Group達成合作,Animoca Brands將向ALTAVA Group授權其持有的BAYCNFT,供后者高爾夫主題衍生品項目Bored Ape Golf Club使用。[2023/5/10 14:55:19]
人們可以認為zkEVM電路由許多子電路組成,比如n個子電路,它們通過查找表互連。每個子電路用于約束特定的操作——例如,Keccak電路計算Keccak哈希,求冪電路計算求冪。我們的zkEVM電路設計中當前限制是每個子電路必須具有相同的行數,比如m行。
根據每個子電路中消耗的行數,每個所傳入的交易都具有唯一的配置文件。例如,可能有一個交易需要許多Keccak操作,因此在Keccak電路中占用許多行,而在求冪電路中不占用任何行。相反,可能有一個交易在Keccak電路中占用很少的行,而在求冪電路中占用很多行。
《富爸爸窮爸爸》作者:將在市場崩盤時買入更多比特幣:金色財經報道,《富爸爸窮爸爸》作者羅伯特·清崎(Robert Kiyosaki)硅谷在2022年裁員144,000人,到2023年再裁員超66,000人,Stansberry Research已經預測了情人節大崩盤,一切都會崩潰,包括黃金、白銀、比特幣的價格。但不要恐慌,屆時我會用“假”美元購買更多黃金、白銀、比特幣等“真”錢。[2023/2/12 12:01:41]
由于批次由區塊組成,而區塊由交易組成,因此批次的行消耗配置文件由組成它的交易所決定。如果一個批次的行消耗超過最大行數m,則該批次將無法證明。當一個批次無法證明時,它無法在L1上最終確認,任何后續的批次也無法證明。
值得注意的是,即使只包含單個交易的批次也可能會溢出電路。
美眾議院立法者將于12月13日首次就FTX破產舉行聽證會:金色財經報道,美國眾議院金融服務委員會將于12月13日舉行首次以FTX為重點的聽證會。該聽證會名為“調查FTX的崩潰,第一部分”(Investigating the Collapse of FTX,Part I),很可能是一系列聽證會的一部分。該委員會沒有公布聽證會的證人名單。共和黨眾議員Patrick McHenry此前曾表示,他們希望前FTX首席執行官SBF以及包括Alameda Research和競爭對手交易所幣安在內的相關公司參與。
據此前消息,參議院立法者也在密切關注FTX危機。參議院農業委員會將于周四舉行FTX聽證會。[2022/11/29 21:08:13]
要解決“證明溢出”問題需要解決以下問題:如何防止創建超出電路容量的批次?
ZkSync發布Java、Go和Python編程語言的新SDK:金色財經報道,zkSync宣布,為了讓開發者更容易使用zkSync 2.0的功能,ZkSync新發布了Java、Go和Python編程語言的SDK。[2022/11/2 12:06:49]
長期解決方案
問題源于我們電路架構的局限性:所有子電路都必須有一些預先確定的、固定數量的行。我們正在研究重新設計我們的架構,以便可以獨立地動態調整子電路的大小——每個子電路的大小都可以根據批次證明的要求放大或縮小。例如,如果一個批次在Keccak電路中需要2^20行,但在求冪電路中只需要2^14行,則子電路可以獨立縮放。
這種類型的動態設計帶來了挑戰,我們正在努力解決這些問題。然而,與此同時,我們需要解決固定尺寸電路的問題。
Flamengo與MoonPay合作開展web3忠誠度計劃:10月6日消息,巴西最大的體育特許經營權之一Flamengo周四宣布,它將通過與MoonPay的多年合作伙伴關系推出一系列web3產品。Flamengo將試圖通過票務、營銷和商品來幫助提高球迷在足球俱樂部的參與度。(The Block)[2022/10/6 18:41:11]
當前解決方案
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:GASProofPROROOugas幣最新進展0XPROOF價格KLEVA ProtocolShroom.Finance
24小時,7300萬美元BTC出逃;13天,2.2萬枚比特幣被提。在“BitMEX正在被美國商品期貨交易委員會調查”的消息傳出后,BitMEX平臺出現劇烈異動.
1900/1/1 0:00:00注:本文來自@cruis_scutdeng推特,MarsBit整理如下:BRC-20,你虧錢了嗎?推主本人在4月30號左右花了幾百塊錢買了10張$bank,在5月7.
1900/1/1 0:00:00想掌握Brc-20生態中最全的網站信息?看這一篇就夠了!從怎么鑄造、如何計算成本、到怎么查Gas、如何交易。八類網站帶你玩轉Brc-20生態.
1900/1/1 0:00:00MEV是加密世界最重要的議題之一。它是指驗證者通過添加、刪除并更改區塊中的交易順序,在超過標準區塊獎勵和Gas費用的區塊生產中所能提取的最大價值.
1900/1/1 0:00:00引言 硅谷銀行擠兌事件后的危機決策,使人們對銀行業作為公私合營的地位產生了懷疑,因為政府現在隱含地對私人信貸資金提供了無限的公共支持。這是解決與貨幣和信貸之間關系有關的古老問題的一個尷尬的方式.
1900/1/1 0:00:00地平線上似乎出現了一個新的“紀元”。在加密之旅中,每隔一段時間,開拓者就會發現一種新的原語,從而改變整個行業的格局.
1900/1/1 0:00:00