買比特幣 買比特幣
Ctrl+D 買比特幣
ads

BLO:模塊化結構下 EIP-4844 的設計邏輯_以太坊

Author:

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

引入

合并(TheMerge)的關鍵里程碑已于9月15日完成,根據Vitalik在2021年底發布的以太坊協議開發路線圖,下一個重要階段是TheSurge——解決以太坊可擴展性問題,降低交易費并提高吞吐量。TheSurge圍繞以rollup為中心的路線圖開發,在繼承以太坊網絡安全性的同時,進一步提高L2rollup的可擴展性。

cr:https://twitter.com/ethereumcn/status/1466731320537612296?s=46&t=9yOAkX-0nd_xvSJIJ8_Pmw

本文主要介紹這一技術路線圖中的一個關鍵工作:EIP-4844Proto-danksharding,它如何使得rollup所需要使用的數據變得更加便宜以及獲得更多存儲數據的容量(capacity)。EIP-4844是對以太坊網絡的一次升級,它將使得rollup的開銷降低10-100倍。它通過向以太坊引入一種新的交易類型來實現,這種交易類型攜帶短暫存在的blob數據。這種新的數據存儲方式是為了存放rollup的一些數據,它會比目前calldata的方式便宜得多。此外,4844是完整版Danksharding(在前面的基礎上再擴容10-100倍!)的前提條件。

以太坊分片技術路線圖

對于以太坊分片設計的現狀,前以太坊基金會開發者Protolambda做了一個簡潔的描述:

帶有“crosslink”的可執行的“分片鏈”已被淘汰,而是更新為:在信標鏈中實現EVM;使用“數據可用性采樣”的以rollup為中心的以太坊路線圖,擴容以太坊基礎層而無需增加應用環境的復雜性。

以太坊開發者:Shapella提款測試出現問題,但不會影響Shapella升級時間:金色財經報道,以太坊核心開發者Tim Beiko發推稱,開發者Marius Van Der Wijden發現了一個公共測試網Shapellabug,該bug在空塊(沒有交易或取款)的完全同步期間出現,其他幾個客戶端也遇到了這個問題,不過,這個問題很容易測試,可以快速修補。團隊認為這不會影響Sepolia升級的時間表,仍計劃在2月28日12:00點進行。另外,Barnabas Busa更新了最新的對Shapella進行壓力測試的提款Devnet。該Devnet有60萬驗證者,其中36萬驗證者在分叉時執行取款憑證更新。客戶端看到RAM+CPU使用率激增的情況,devops團隊將在未來幾天監控開發網絡,以查看有多少憑證更新消息被包含和丟失。該測試還揭示了Prysm<>Besu問題,其中Besu限制了它通過RPC發送的響應數量以防止DoS,但Prysm預期的響應數量高于Besu的當前限制。Besu團隊目前正在調查此事。此外,開發者還計劃進行另一次主網影子分叉,將在上面做一些Mev-Boost測試。2月10日以太坊基金會表示,Shanghai+Capella(Shapella)主網升級正在進入最后的預發布序列——公共測試網。Shapella包含許多功能,但對質押者和共識層來說最重要的是支持提款。退出的驗證者可以全額取款,而活躍驗證者余額超過32ETH的可以部分取款。另外,第一個長期存在的公共測試網Sepolia計劃于2月28日進行升級。[2023/2/17 12:12:44]

之所以做這樣的簡化,主要有兩個原因:

避免添加更多的L1復雜性。分片的規范已重寫多次,許多研究都過于抽象乃至實現的日子遙遙無期,并且讓L1變得僵化。而如果能夠巧用封裝復雜性和應用區塊鏈模塊化結構,以太坊基礎層作為rollup的數據可用性層,將計算的重任交給作為執行層的L2。這樣L1只專注于解決數據問題,不同的rollup團隊解決各自的開發問題,從而大大地提升擴容的效率。封裝復雜性和模塊化在以太坊上的應用

工行發放首單基于智能合約的數字人民幣供應鏈貸款:金色財經報道,工商銀行上海市分行成功實現了數字人民幣智能合約在供應鏈金融場景的創新試點應用,發放首單基于智能合約的數字人民幣供應鏈貸款,開辟了“數字人民幣+供應鏈金融”的合作新模式。[2023/2/11 12:01:10]

模塊化區塊鏈是擴容中一個非常重要的概念。模塊化意味著“封裝復雜性”,這允許我們在不同的模塊中添加可擴展性。根據Vitalik的文章《協議設計中的封裝復雜性和系統復雜性權衡》中的解釋,當一個系統包含著一些復雜的子系統,但對外提供一個簡單的“接口”時,就會出現“封裝復雜性”;當系統的不同部分甚至不能完全分離,并且相互之間具有復雜作用時,就會出現“系統復雜性”。

2020年10月,Vitalik發布了文章《以Rollup為中心的以太坊路線圖》,確定了為L2rollup擴容協議保駕護航的基本思路:將執行層(L2)和數據層(L1)分離,以太坊共識層(L1)為其提供安全保障。

分離執行層和數據層的好處是,數據層的發展可以保持相對穩定,而執行層(即rollup)則可以更加多自主性、更加創新地快速迭代,無需獲得L1核心開發者社區的的許可進行升級。

上面簡單介紹了以rollup為中心的以太坊路線圖中的區塊鏈分層情況,那在PoW與PoS、L1與L2之間的模塊化架構是怎樣的呢?

cr:Protolambda

圖中展示了合并前的單一型PoW鏈vs.合并后的L1共識層(PoS)和L1執行層(EVM)之間的模塊化關系。而PoS和EVM之間的合并技術是通過一個叫做”EngineAPI“的東西實現的。下圖是合并后完整客戶端的樣子,中間的API使得以太坊共識層(PoS)和執行層(PoW)之間可以實現通信。這是以太坊主網上的首個模塊化設計。

Ledger通過Pontem錢包集成Aptos生態DApp:據官方消息,硬件錢包Ledger通過Pontem錢包集成Aptos生態DApp,Ledger用戶可以連接到Aptos區塊鏈并與Pontem錢包上的DApp交互。

Ledger用戶只需將其設備連接到Pontem錢包并導入一個帳戶,即可存儲和交易APT代幣。此外,用戶可以在Liquidswap DEX上執行交易,直接在Ledger上確認所有操作。[2023/1/12 11:07:16]

cr:DannyRyan

那么L1和L2之間是如何連接的呢?

cr:Protolambda

可以看到上圖中,L1和L2之間會有一個API,它們分別是兩套軟件。

cr:Protolambda

這是以太坊加上欺詐證明和有效性證明之后的示意圖,相當于將L2作為一個執行層連接以太坊EVM,然后你維持當前的L2執行層。但這也會有一個問題,因為就算可以堆疊執行層,但是這樣效率不高,所以我們需要一個數據層。

cr:Protolambda

如上示意圖,L1作為數據層,L2負責執行計算。

Jake Chervinsky:希望比特幣與以太坊都能蓬勃發展:金色財經報道,美國非盈利組織區塊鏈協會政策主管Jake Chervinsky在社交媒體上稱,比特幣應該保持PoW,以太坊應該轉移到PoS,我們應該盡可能地保護兩者免受審查。我們應該希望兩者都能蓬勃發展。除此之外,將由市場(而不是Twitter上的小內斗)決定。[2022/9/9 13:19:58]

數據可用性是擴容的關鍵瓶頸

以太坊目前面臨的一大瓶頸就是數據可用性,這是我們接下來一年里增加可擴展性所需要提高的范疇。

首先我們看一筆rollup交易包含哪些開銷:

執行開銷(網絡中所有節點執行交易并且驗證其有效性的開銷)存儲/狀態開銷(使用新的值更新區塊鏈“數據庫”的開銷)數據可用性開銷(將數據發布至L1的開銷)其中,前兩筆開銷都是Rollup網絡上的花費,占總開銷的比例非常低。而數據可用性開銷才是擴容的關鍵瓶頸。

我們為什么需要這種數據呢?

保證數據的可用性可以讓任何人都可以無需許可地重構狀態。

L2提供的可擴展性是通過將執行檢查和保證數據安全這兩項工作分離而獲得的。這讓我們有機會同步以及獲取驗證狀態的數據,而這個過程中定序器不會對其有直接影響。

目前,rollup上傳數據到L1都是以calldata的形式。這種方式非常貴,calldata是一種沒有修剪過的非常沒有效率的數據形式,需要以一種迂回的方式將數據存放在以太坊,一個非0字節就需要花費16gas。所以出現了兩種粗暴的降低這種開銷的方法:

calldata壓縮,不少rollup項目都已經開始研究壓縮calldata的算法并集成到他們的系統中。EIP-4488,將每個非0字節的calldata開銷從16gas降低到3gas。但是使用calldata的方式始終是不可持續的,因為這會帶來L2不需要的遺留開銷。那么有沒有更優雅的方法呢?

DeFi協議總鎖倉量達718.7億美元,24小時內跌1.31%:金色財經報道,據DefiLlama數據顯示,DeFi協議總鎖倉量(TVL)達到718.7億美元,24小時內跌幅為1.31%。TVL排名前五分別為MakerDAO(75.4億美元)、AAVE(58億美元)、Curve(49.6億美元)、Uniswap(49.2億美元)、Lido(46億美元)。[2022/7/2 1:45:38]

數據可用性、數據可恢復性、長期數據可用性等等這些不同類型的名詞,它們之間的差異就是可用性的時長各不同。譬如說,你希望這些數據的可用時間足夠長來挑戰定序者、重構狀態。事實上,你不需要數據是永遠可用的。在以太坊的假設中,存儲超過一年的數據,用戶可能在某個地方找到它,可能會將它同步到某個點,而不需要一直追溯到創世區塊。

而EIP-4844這個提案則是讓我們能夠對數據做一些修剪,因為在這個提案下,數據只需要保留其可用性足夠長的時間,讓誠實的網絡參與者重構完整狀態并且挑戰定序器。

EIP-4844Proto-danksharding

EIP-4844提議什么呢?

將數據可用性添加至以太坊且不會破壞可組合性,也就是說我們可以在L1有一個執行層,同時可以在上面添加數據可用性。

cr:Protolambda

如圖所示,我們現在有L1共識層、L1執行層、L1數據層、L2執行層。在這樣的分層架構下,我們獲得了封裝性,然后我們不同的團隊可以針對不同的問題,并單獨地提高某一層的可擴展性。

引入新的交易類型Blob-carryingTransaction

EIP-4844引入一種新的交易類型,這種交易類型與普通以太坊交易相比多了一個blob的位置用來存放L2的數據。比較獨特的是,Blob數據在一個月之后就會被節點刪除,從而很大地節省了存儲空間。

那么我們如何添加這種數據呢?

圖:一個“Blob”的生命周期,cr:Protolambda

我們稱這種數據為“blob”,這是一種非常模糊的數據形式,類似于一種字符串。“Blob”會被附加到一筆交易中,這筆交易就像其他交易一樣在以太坊系統中運行。

但附加的內容具有自己的生命周期。請看上圖圖示:首先,rollup運營者會納入普通的交易,生成L2交易捆,目前是通過calldata的方式將交易batch直接發送至L1。而有了4844之后,新增了一種攜帶“blob”數據的交易類型“blob交易”。這個“blob交易”負責支付交易費,將承諾(commitment)包含進交易中以有效地證明該blob中存在的任意數據。但是附加的內容(即blob數據)本身是與“blob交易”分離的,可以把這種數據看作是一個挎斗(sidecar)。

(Sidecar在不改變主應用的情況下,會起來一個輔助應用,來輔助主應用做一些基礎性的甚至是額外的工作。這個sidecar通常是和主應用部署在一起,所以在同樣環境下運行。這其中還有一些性能上的考慮,sidecar如果和主程序網絡通信上有延遲就會造成性能問題。這個輔助應用不一定屬于應用程序的一部分,而只是與應用相連接。這就像是挎斗摩托車,每個摩托車都有自己獨立的輔助部分,它隨著主應用啟動或停止。因為sidecar其實是一個獨立的服務,我們可以在上面做很多東西,例如sidecar之間相互通信、或者通過統一的節點控制sidecar,形成網絡服務ServiceMesh。來源:https://blog.csdn.net/lxlmycsdnfree/article/details/126286243)

blobdatavs.calldata

要想知道兩者的區別,我們首先要了解以太坊合并前以及合并后的區塊組成。

cr:DannyRyan

上圖為合并后的信標區塊,執行層被包裹在共識層里,而EL最核心的部分就是ExecutionPayload(執行負載)。

EL和CL分別負責兩個主要功能,前者執行EVM,后者負責PoS共識。信標區塊中包含EL?的ExecutionPayload,外層的狀態根為信標鏈狀態的更新,EL內的狀態根則是EVM賬戶狀態更新。

現在我們重新來看Calldata和blobdata之間的區別。

首先,這兩種數據類型有不同的生命周期。Calldata存在于“executionpayload”中(普通的L1交易),而blob數據存儲于共識層中。也就是說“blob”存儲在一個Prysm節點或者Lighthouse節點中,而不是在Geth中。然后這些共識層節點會在特定一段時間之后對blob數據進行修剪。

“Blob”在網絡的運作流程如下圖所示:

cr:Protolambda

定序器提供數據->L1敲定數據->將Blobsidecar從Blob交易中分離出來->Blob交易中的執行發生在ExecutionPayload中->rollup驗證狀態所需要的數據則去到另一側的數據庫中,L2驗證者可以下載這些sidecar并同步L2。Blob有兩個顯著的特點:

第一就是不被合約讀取,下圖是一筆blob交易的樣子,可以看到EVM不會讀取blob。

cr:Protolambda

就像前面所介紹那樣,blobdata存儲在共識層節點中,和calldata需要被合約讀取所消耗的資源相比要便宜得多。

第二就是,一個月后,共識層節點會對blob內的值進行刪除。區塊空間一直以來主要都由交易占用著,而隨著L2的發展,L1基礎層轉而成為L2的數據層,calldat就會占用更多的區塊空間。能夠定期刪除blob數據的話,可以很好地解決L1狀態膨脹的問題。

總結

隨著Rollup技術的逐漸完善,數據可用性成為各個解決方案更進一步擴容的瓶頸。而L1作為一個為Rollup保駕護航的基礎層,它不僅可以為rollup提供安全保障,還可以充當rollup的數據層,讓可擴展性實現指數級的提升。Proto-danksharding作為完整版Danksharding的前提條件,通過引入攜帶“blobdata”的交易類型這樣的一個新設計,讓基礎層更無壓力地存放L2數據,同時不影響數據可用性的安全性。

OPinParis:Protolambda介紹EIP-4844

https://www.youtube.com/watch?v=KQ_kIlxg3QA

《以太坊分片設計的歷史回顧和未來路線圖》

https://www.ethereum.cn/Eth2/sharding-design-history

《Rollup的大補帖:Proto-Danksharding》

https://medium.com/taipei-ethereum-meetup/rollup-and-the-boost-from-proto-danksharding-85d2fe0566b6

EIP-4844提案規范

https://eips.ethereum.org/EIPS/eip-4844

以Rollup為中心的以太坊路線圖

https://www.ethereum.cn/a-rollup-centric-ethereum-roadmap

Tags:BLO以太坊ROLROLLblockidentitytoken比特幣最新價格行情以太坊實時行情TROLL BNBTROLL價格

SHIB最新價格
FTX:撤Logo、欠違約金,FTX的“體育戰略”迎來悲傷結局_MBR

曾是全球第二大交易所的?FTX??僅在經歷危機的一周后就宣告破產,SBF的身價也在一夜間從260億美元降至接近為零.

1900/1/1 0:00:00
比特幣:假設「灰度解散GBTC」傳聞屬實,這意味著什么?_金比特幣GBT

今日下午,一則關于GBTC的傳聞瞬間引爆了市場討論。消息源頭來自近期異常活躍的加密KOLAutismCapital.

1900/1/1 0:00:00
BOT:社區運營工具盤點,教你如何使用好電報&DC 管理工具_ORD

對于Web3項目而言,社區的重要性已經不言而喻,項目的成敗也與社區的建設也息息相關。而針對Web3的社區,絕大部分項目都會把運營的重心放到電報和Discord兩大社交平臺.

1900/1/1 0:00:00
ZKS:zkSync 空投大猜想_Synth iXTZ

Aptos的空投造富效應引發了一大批公鏈空投熱,各種Airdrop賬號和預測也都來了,這張是比較火的網傳圖,來源?@WagameEth?,今天主要說一說zkSync的背景、空投、交互這些事.

1900/1/1 0:00:00
CRYPTO:長推:FTX暴雷破產,Crypto路在何方?_Crypto Fight Club

本以為FTX的暴雷破產,會讓交易所洗牌盤整,泡沫進一步擠壓,整個行業會“重煥生機”。一覺醒來看到一姐YiHe吹雷預警和大家對CZ的漫天指責,瞬感那個被CEX長期占領話語權高地的Crypto行業可.

1900/1/1 0:00:00
LOCK:提升空投機會的 5 個步驟_htt幣騙局

現在每個項目都在進行空投,但許多人將一無所獲。為什么?因為項目正在不斷改進他們的方法,以排除Sybilfarmers。如何增加未來所有空投的機會?本文總結了5個簡單步驟.

1900/1/1 0:00:00
ads