買以太坊 買以太坊
Ctrl+D 買以太坊
ads

BED:讀懂 Bedrock:Optimism 落子布局 Rollup 生態的第一步_Roller Inu

Author:

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

Bedrock是OPStack有史以來第一個正式版本的名稱,作為一組免費和開源的模塊化組件,它旨在為Optimism的發展提供動力。

改進總結

Bedrock在其前身的基礎上進行了改進,主要包含:

使用經過優化的批量交易壓縮以及將以太坊作為數據可用性層,從而降低交易費用;通過更好地處理L1重組,縮短了將L1交易打包到rollups中的延遲;通過代碼重用來啟用模塊化證明系統;通過消除設計負債來提高節點性能。更低的費用

Bedrock使用了經過優化的數據壓縮策略,以最大限度地降低數據成本。我們目前正在對這一變化的影響進行基準測試,但我們預計它將大幅降低費用。?

Bedrock還消除了向L1提交數據時與EVM執行相關的所有Gas成本,與之前版本的協議相比,這將額外減少10%的費用。?

更短的存款入賬時間

Bedrock在節點軟件中引入了對L1重組的支持,這大大減少了用戶等待存款入賬所需的時間。

該協議的早期版本最多可能需要10分鐘來確認存款入賬,而使用Bedrock后,我們預計存款會在3分鐘內確認入賬。

改進的模塊化證明

Bedrock從OPStack中抽象出了證明系統,以便rollup可以使用故障證明或有效性證明來證明在rollup上輸入后的正確執行,這種抽象也將允許使用Cannon來證明系統中的故障。?

改進的節點性能

通過在單個rollup「區塊」中執行多筆交易,而不是之前版本中「每個區塊一筆交易」的模型,節點軟件性能因此得到了顯著提高。

這使得MerkleTrie更新的成本能在多筆交易中進行分攤,在當前的交易量下,這會使狀態數據的增長幅度每年減少大約15GB。

通過消除之前版本的協議中的技術負債,節點性能也得到進一步提高,這包括不再需要一個單獨的「數據傳輸層」節點來為L1編制索引,并更新節點軟件以有效地查詢來自L1的交易數據。

改進的以太坊等效性

Bedrock從一開始就被設計成盡可能與以太坊「一致」,先前版本協議中與以太坊的多項偏差已被消除,包括:

「每個區塊一筆交易」的模型;自定義操作碼以獲取L1的區塊信息;在JSON-RPCAPI中分離L1/L2費用字段;ETH余額的自定義ERC20表示形式。Bedrock還增加了對EIP-1559、區塊鏈重組和L1上存在的其他以太坊功能的支持。

Bernstein:在未來五年內,代幣化的規模可能高達5萬億美元:金色財經報道,Bernstein在周二的一份研究報告中表示,代幣化的好處是在這個過程帶來了運營效率以及流動性和可訪問性的提高。Token化是將現實世界的資產轉換為基于區塊鏈Token的過程。

Bernstein估計,在未來五年內,代幣化的規模可能高達5萬億美元,其中以穩定幣和CBDC、私募市場基金、證券和房地產為首。報告稱,通過穩定幣和CBDC實現的貨幣代幣化將應用于鏈上存款和支付,未來五年全球貨幣供應量的約2%將被代幣化,約為3萬億美元。[2023/6/20 21:49:41]

設計原則

Bedrock被構建為模塊化和可升級的設計,同時可以復用以太坊的現有代碼,并盡可能達成?100%以太坊等效的目標。

模塊化

通過使用定義良好的接口和版本控制方案,Bedrock可以輕松地更換OP堆棧中的不同組件,并添加新功能。

這就允許其借助一個靈活的架構,適應以太坊生態系統的未來發展,例如:

rollup節點與執行客戶端分離;模塊化防故障設計。代碼復用

Bedrock盡可能地使用現有的以太坊架構和基礎設施,這種方法使OPStack能夠從以太坊主網使用的經過實戰測試的代碼庫中繼承安全性和林迪效應優勢。

您會在整個設計中找到這樣的示例,包括:

最少修改的執行客戶端;EVM合約而不是預編譯的客戶端代碼。以太坊等效性

Bedrock旨在最大程度地兼容現有的以太坊開發人員體驗,但由于L1和rollup之間的根本差異,也存在一些例外情況:費用模型的不同、更快的出塊時間以及包含L1存款交易的特殊交易類型。

這些例外情況包括:

旨在證明最小修改的以太坊執行客戶端的故障證明;以太坊執行客戶端的代碼重用,以供L2網絡中的節點和排序器使用。協議

Rollups建立在數據可用性的基礎上,在最常見的配置中,rollup協議從兩個主要信息來源派生出「規范的L2鏈」:

交易數據由定序器發布到L1;存款交易由賬戶和智能合約提交到L1上的橋接合約。以下是該協議的基本組成部分:

通過直接與L1上的智能合約交互,將存款寫入「規范的L2鏈」;提款是寫入「規范的L2鏈」,并隱式觸發與L1上智能合約和賬戶的交互;Batches是與rollup上的batches相對應的數據寫入;區塊推導是如何解釋L1上的數據讀取以理解「規范的L2鏈」;證明系統定義了L1上發布的輸出根的最終性,以便它們可以被執行。存款

萊特幣昨日鏈上日交易次數超57萬筆,創歷史新高:5月10日消息,BitInfoCharts數據顯示,近日萊特幣(LTC)鏈上日交易次數持續攀升,5月9日達到576708筆,創歷史新高,接近當日比特幣鏈上日交易的598105筆。與今年早些時候相比,這是萊特幣區塊鏈平均交易數量的五倍,是2018年1月牛市峰值附近的歷史最高紀錄的兩倍多。

此外,Glassnode數據顯示,5月8日萊特幣活躍錢包地址數為71.8萬個,5月8日達81.3萬個,續創歷史新高。CoinDesk分析稱,此或因為meme幣狂熱以及隨后比特幣網絡的高額費用導致加密用戶爭相尋找替代品。[2023/5/10 14:53:53]

存款是L1上的一筆交易,并將包含在rollup中。根據定義,存款被保證包含在「規范的L2鏈」中,作為防止審查或控制L2的一種手段。

從L1傳遞的任意消息

存款交易是作為存款的一部分進行的rollup交易。通過Bedrock,存款是完全通用的以太坊交易,例如以太坊上的賬戶或智能合約可以創建「存款」合約。

Bedrock定義了一個在L1上可用的存款合約:它是一個智能合約,L1帳戶和智能合約可以與之交互以寫入L2。L2上的存款交易是從該存款合約發出的交易中派生出來的,其中包括預期參數,例如from、to和data。

有關詳細信息,請參閱存款合約協議規范部分。

在L1上購買有擔保的L2Gas?

Bedrock還明確了Gas燃燒機制和存款費用市場,存款交易在L2上花費的Gas是通過Gas燃燒在L1上購買的。

這種Gas具體是在費用市場上購買的,并且在單個L1區塊中提供給所有存款交易的Gas總量有一個硬性上限,該機制用于防止拒絕服務攻擊,這種攻擊可能發生在將交易從L1寫入L2時,因為這些交易在L2上耗費大量Gas,但在L1上卻很便宜。

提供給存款交易的Gas有時被稱為「有擔保的Gas」。GuaranteedGas的獨特之處在于它是通過在L1上燃燒Gas來支付的,因此是不可退還的。

且每單位有擔保的L2Gas所要求的必須燃燒的L1Gas總量,取決于EIP-1559式收費機制報告的L2Gas價格。此外,用戶根據計算費用機制更新所花費的L1Gas數量獲得動態Gas津貼。

如需更深入的解釋,請閱讀存款部分的協議規范。

提款

NFT市場Magic Eden與鏈游Polkastarter Gaming達成合作伙伴關系:金色財經報道,NFT市場Magic Eden宣布鏈游Polkastarter Gaming達成合作伙伴關系,Magic Eden將結合Web3游戲以及多鏈NFT,以構建更健康、更具包容性的游戲生態系統。此外Magic Eden可能還將探索內容領域,利用Polkastarter Gaming在Web3游戲領域發現、評論、指南、新聞和任務等服務優勢。(cryptonewsz)[2023/3/1 12:36:47]

提款是在L2上發起并由在L1上執行的交易完成的跨層交易。值得注意的是,L2賬戶可以使用提款來調用L1合約,或將ETH從L2賬戶轉移到L1賬戶。

提款是通過在L2上調用MessagePasser預部署合約啟動的,該合約在其存儲中記錄了消息的重要屬性,然后通過調用OptimismPortal合約在L1上完成提款,以證明包含此提款消息。

這樣,提款和存款就不一樣了:提款交易必須使用L1上的智能合約來完成,而不是依賴于區塊派生出來的信息。

分兩步的提款過程

提款證明驗證錯誤是過去幾年許多跨鏈橋黑客攻擊事件的根本原因。Bedrock版本在先前版本的提款過程中引入了一個額外的步驟,旨在為這些類型的錯誤提供額外的防御設計。

在分兩步的提款過程中,每次提款必須在最終退出前7天提交與提款對應的Merkle證明,這種新的安全機制給了監控工具整整7天的時間來查找和檢測無效的提款證明。

在此期間如果發現提款證明無效,就可以在資金丟失之前部署智能合約修復,這大大降低了跨鏈橋妥協的風險。

有關詳細信息,請參閱提款協議規范部分。

批次交易

在Bedrock中,為L1和L2之間的消息傳遞定義了一種有線格式,這種有線格式的設計目的是將寫入L1的成本和軟件復雜性降到最低。

優化數據壓縮

為了優化數據壓縮,L2交易列表被組織到對象組中,每個channel的最大規模能夠在可配置參數中定義,最初將設置為9.5M,這些channel預計將使用壓縮功能進行壓縮并提交給L1。

batch并行提交

為了并行化來自向L1提交壓縮channel數據的定序器消息,channel被進一步分解為「channelframes」,這些「channelframes」是可以適合單個L1交易的壓縮channel數據塊。?

NFT項目“隱形人”Invisible Friends宣布Kith Friend申領已上線:金色財經報道,據官方推特,NFT項目“隱形人”Invisible Friends宣布Kith Friend申領已上線,申領將在兩周后美國東部時間3月4日下午4點結束,每次checkout僅能申領一次。

此外,Invisible Friends提醒相關NFT只能在快照錢包列表中才能進行申領,同時需要在申領網站上連接錢包并在錢包上簽署免gas交易才能完成checkout流程。

據NFTgo.io數據顯示,當前Invisible Friends地板價為1.75 ETH,市值約5931萬美元,交易總額達到1.2544億美元。[2023/2/19 12:15:34]

假設「channelframes」是相互獨立的,并且順序是已知的,那么由定序器發送到L1的以太坊交易可以并行發送,從而最大限度地降低了定序器軟件的復雜性,并允許填充L1上所有可用的數據空間。

最小化以太坊Gas

Bedrock刪除了L1系統在稱為「batchertransactions」的交易中向L1提交channel數據所使用的所有執行Gas。之前發生在L1智能合約上的所有驗證邏輯都被移動到了區塊派生邏輯中。相反,「batchertransactions」被發送到以太坊上的單個EOA地址,稱為「batchinboxaddress」。

Batches仍需接受有效性檢查,batche中的單個交易也是如此,無效batches和有效batches中的無效單個交易被視為被丟棄并且與系統無關。

注意:以太坊將很快升級包含EIP-4844的新版本,它引入了一個單獨的數據寫入費用市場,并增加了以太坊協議愿意存儲的數據量上限,這一變化有望進一步降低與將數據發布到L1相關的成本。

?如需更深入的解釋,請閱讀有線格式規范。?

區塊派生

在Bedrock中,該協議的設計旨在保證L1上存款的時間與「規范L2鏈」的區塊派生有關。這樣做是通過定序器、存款和L1區塊屬性將數據寫入L1的純函數。?

為了實現這一點,該協議定義了保證存款入賬、處理L1和L2時間戳以及處理channel中的排序窗口以確保正確排序的策略。

保證存款入賬?

區塊派生協議的目標是這樣進行定義的:

每個「L2區塊間隔」過去后,必須有一個L2區塊,且L2區塊的時間戳與L1的時間戳保持同步。

加密游戲公司double jump.tokyo將推出《足球小將》主人公大空翼NFT:2月7日消息,加密游戲公司 double jump.tokyo 宣布將推出《足球小將》主人公大空翼官方 NFT 集合,購買 NFT 的用戶可以選擇將 NFT 轉換為靈魂綁定 Token(SBT),SBT 持有者將能收到一個由漫畫家高橋洋一原創設計的實物球。double jump.tokyo 表示,每購買一個 NFT 該公司就會捐贈一個實物足球,分發給世界各國。

此前報道,double jump.tokyo 去年 4 月完成 2400 萬美元 C 輪融資,之后于 10 月推出了世嘉授權《三國志》Web3 卡牌游戲。(雅虎財經)[2023/2/8 11:53:12]

在Bedrock中,引入了「sequencingepoch」的概念:它是由一系列L1區塊派生出來的L2區塊的范圍,每個epoch由一個「epochnumber」標識,該「epochnumber」等于排序窗口中第一個L1區塊的區塊序號。受一些限制,epoch的大小可以有所不同。?

batch派生channel將與「epochnumber」相關聯的L1區塊的時間戳視為確定L2上交易順序的錨點。該協議保證一個epoch的第一個L2區塊永遠不會落后于所匹配epoch的L1區塊的時間戳。一個epoch的第一個區塊必須包含L1上的存款,以保證存款將被處理。

請注意,在Bedrock版本中,L2上的區塊間隔目標配置為2秒。?

處理L1和L2時間戳

Bedrock試圖解決將L2上時間戳與存入交易中存在的L1上時間戳進行協調的問題。

它通過允許一個很短的時間窗口來進行排序,以便在epoch之間的L2交易上自由應用時間戳來實現這一點。

排序窗口是L1區塊的序列,從中可以導出epoch。一個排序窗口中,其第一個L1區塊的編號N包含epoch的「batchertransactions」。?

排序窗口包含區塊,其中取決于排序窗口的大小:一個固定的rollup級別配置參數必須至少為2,增加它會為定序器提供了更多關于存款的L2交易排序機會,降低它為定序器提交「batchertransactions」引入的更嚴格時間窗口。這是在創造MEV機會和增加軟件復雜性之間的權衡。

稱為「最大定序器漂移」的協議常量控制一個區塊在其?epoch?內可以具有的最大時間戳,有了這種漂移,定序器就可以在連接到L1出現臨時問題時保持活躍。

區塊派生管道

「規范的L2鏈」可以從頭開始處理,方法是從L2創世狀態開始,將L2鏈起始設置為第一個epoch,然后處理所有排序窗口,以便根據以下簡化的順序確定定序器batches和存款的正確順序管道:

故障證明

在定序器處理一個或多個L2區塊后,從這些區塊中執行交易計算得出的輸出將需要用L1寫入,以實現L2到L1消息傳遞的無信任執行,例如提款等。

在Bedrock中,輸出以樹形結構的形式進行哈希處理,從而最大限度地降低了證明輸出捕獲的任何數據片段的成本。提議者定期向L1提交作為整個「規范L2鏈」的Merkle根的輸出根。?

OPStack的未來升級應該包括一個故障證明變體的規范,其中包含綁定,以激勵提議者提出正確的輸出根。

有關完整詳細信息,請閱讀?L2輸出根提案部分的協議規范。?

執行

在Bedrock中,OPStack通過鏡像以太坊執行層和共識層之間的分離,在很大程度上不得不依賴于以太坊指定的技術關注點分離。

所以Bedrock以同樣的方式引入了執行客戶端和rollup節點的分離。

執行客戶端

執行客戶端是定序器和其他類型的節點操作員運行以確定「規范L2鏈」狀態的系統。它還執行其他功能,例如處理入站交易和點對點通信,以及處理系統狀態以處理針對它的查詢。

借助Bedrock,OPStack旨在重用以太坊自己的執行客戶端規范及其許多執行操作。在此版本中,Bedrock展示了對以太坊客戶端go-ethereum的極其有限的修改,其差異小于2000行代碼。

存在差異的根本原因有兩個:處理存款交易和收取交易費用。

處理存款交易

為了在rollup中表示已存入的交易,引入了一種額外的交易類型。執行客戶端實現這個新的交易類型是根據EIP-2718類型的交易標準。

收取交易費用

Rollups從根本上說還有兩種與交易相關的費用:

一個是定序器費用。使用與以太坊相同的Gas表和相同的EIP-1559算法計算操作定序器的成本,這些費用用于操作排序器的協議,并根據網絡擁堵情況隨時波動。

另一個數據可用性費用。數據可用性成本與將批次處理交易寫入L1相關,這些費用旨在支付定序器向L1提交批次交易所需支付的費用。

在Bedrock中,費用的數據可用性部分是根據稱為GasPriceOracle的rollup系統智能合約中的信息確定的,該智能合約在區塊派生過程中,是根據從每個epoch開始時插入的L1區塊屬性中檢索到的Gas價格信息進行更新。

Bedrock指定在使用JSON-RPC時將這兩種費用加到一個字段中。

rollup節點

與以太坊不同,Bedrock沒有PoS共識。相反,「規范的L2鏈」的共識是由區塊派生定義的。OPStack的執行客戶端與一個新組件通信,該組件實現了稱為rollup節點的區塊派生,該節點使用與以太坊完全相同的引擎API與執行客戶端通信。

rollup節點是一個無狀態組件,負責通過讀取L1上的數據和存款來推導系統的狀態。在Bedrock中,rollup節點可用于對來自用戶或其他匯總節點的傳入交易進行排序,或者通過單獨依賴L1來驗證在L1上發布的已確認交易。

rollup節點的多種用途概述如下:

驗證「規范的L2鏈」

運行rollup節點的最簡單模式是只遵循「規范的L2鏈」。在這種模式下,rollup節點沒有對等節點,嚴格用于從L1讀取數據并根據區塊派生協議規則對數據進行解釋。

這種節點的一個目的是根據協議定義驗證由其他節點共享或發布在L1上的任何輸出根是否正確。此外,打算將輸出根提交給L1的提議者自己可以使用optimism_outputAtBlock生成他們需要的輸出根,并返回對應于L2輸出根的32字節哈希值。

為此,節點應該只需要跟隨「最終確定」的區塊頭。術語「finalized」指的是以太坊PoS共識,而「最終確定」的L2區塊頭是僅從「最終確定」的L1區塊派生的「規范L2鏈」的區塊頭。

參與L2網絡

使用rollup節點的最常見方法是參與其他rollup節點的網絡、跟蹤L2的進程和狀態。在這種模式下,rollup節點同時讀取數據和它從L1觀察到的存款,將其解釋為區塊,并接受來自其他rollup節點網絡中的用戶和對等方的入站交易。

參與網絡的節點可以使用它們正在同步的L2的安全和不安全區塊頭。

安全的L2區塊頭表示可以構建的rollup,其中每個區塊都可以完全從參考L1鏈中導出,在L1必須「最終確定」之前;不安全的L2區塊頭包括尚未從L1派生的不安全區塊。這些區塊要么來自將rollup節點作為定序器操作,要么來自不安全的同步與定序器。這也稱為「最新」區塊頭。在出現分歧的情況下,總是選擇安全的L2區塊頭而不是不安全的L2區塊頭。當出現分歧時,該鏈的不安全部分將重組;在大多數情況下,對于終端用戶應用程序,L2網絡中的rollup節點將引用不安全的L2區塊頭。

交易排序

使用rollup節點的第三種方法是對交易進行排序。在這種模式下,rollup節點將在不安全的L2區塊頭之上創建新區塊。目前,每個OPStack網絡只有一個定序器。

定序器還負責將批次交易發布到L1,以便網絡中的其他節點從中同步。

Batcher

定序器的作用是生產批次交易,為此,排序器可以運行rollup節點并具有單獨的進程,這些進程通過從它們運行的??受信任的rollup節點讀取來執行批處理。

這保證了OPStack的一個附加組件,稱為批次交易處理程序,它從rollup節點讀取交易數據并將其解釋為要寫入L1的批處理交易,batcher組件負責讀取由定序器運行的rollup節點的不安全L2區塊頭,創建batcher交易,并將它們寫入L1。

標準橋接合約

Bedrock還包括一對用于最常見類型存款的橋接合約,稱為標準橋接合約。這些合約封裝了存款和提款合約,為ETH和ERC-20代幣的存款和提款提供簡單的接口。

這些橋接合約的設計是在跨鏈橋的一側為本地代幣,另一側包含一個可以管理鑄造和銷毀的封裝代幣,橋接原生代幣涉及將原生代幣鎖定在合約中,然后在跨鏈橋的另一側鑄造等量的封裝代幣。

有關詳細信息,請參閱標準跨鏈橋協議規范部分。

Cannon

雖然在Cannon中實現了防故障構建和驗證,但故障證明游戲規范和將輸出根挑戰者集成到rollup節點中是后續規范里程碑的一部分。

延伸閱讀

協議規范

協議規范定義了OPStack的技術細節,它是協議內部運作的最新事實來源。

Bedrock差異

要深入了解Bedrock與先前版本之間的差異,請參閱「Bedrock有何不同」。

責編:Lynn

Tags:ROLROLLBEDDRORoller InuQrolliBEDOGE幣DROVERS

酷幣交易所
區塊鏈:Bankless:當前鏈游的虛假承諾及真正的 Web3 游戲架構_MOD

撰文:DonovanChoy,Bankless編輯 編譯:DeFi之道 圖片來源:由MazeAI工具生成當以太坊在2087年最終成為主流,美聯儲不再存在時.

1900/1/1 0:00:00
GOE:Arbitrum上的域名項目ARB ID領取教程_RBI

請事先準備:MetaMask錢包請知曉3條Arbitrum鏈:ArbitrumOne——最廣泛的L2和DeFi之家。ArbitrumNova——針對社交和游戲的鏈.

1900/1/1 0:00:00
CRY:香港Web3 峰會小作文_DOGETF幣

臺上西裝革履的官員用蹩腳的普通話支持虛擬資產行業,臺下是美國/迪拜的飛回來的幣圈老OG舉起啤酒聚會,再加上努力辦理高才和優才的大陸builder,都折疊在港島這一個時空里,各講各的故事互不干擾.

1900/1/1 0:00:00
以太坊:回顧2019小牛市20個10倍幣的共同特征:對23年反彈行情的啟示_AGI

首先是2019年4月-7月四個月小牛市行情簡單小結:1、行情中有一條主線:減產貫穿始終,四個月內不斷有相關標的暴漲,本次的主線是?2、一年內上市的新幣、新概念更容易得到市場的青睞.

1900/1/1 0:00:00
LLC:Datamallchain(DMC)和CYFS 合辦的第一期web3黑客松完美落幕,下一個10億美元的項目會從這次比賽開始嗎?_WEB3ALLBI幣

Web3——互聯網的下一個迭代——即將到來,為了加速向Web3的過渡,由DMC的合作伙伴CFYS于2022年10月15日在美國舉辦了首場區塊鏈黑客松,以分享其對Web3的愿景.

1900/1/1 0:00:00
BNB:Binance新鏈BNB Greenfield究竟是什么?_NBG幣

2023年2月1日-全世界日活躍用戶最多的智能合約區塊鏈BNBChain公布了新的基于區塊鏈的Web3基礎設施的白皮書,將革新用戶對自有數據的自由和控制.

1900/1/1 0:00:00
ads