摘要:除可執行分片之外,可執行信標鏈作為替代的 eth2 執行模型,通過在信標鏈上添加單個執行線程的支持來實現
Vitalik 此前發布的文章《以 rollup 為中心的路線圖》中提到,數據分片作為 eth2 執行中的主要擴容因素,允許在單個執行分片上進行擴容,并簡化了總體設計。
Eth1 分片設計基于其通過信標鏈與數據分片通信。如果階段 2 的多執行分片功能將在之后推出,那么這個方法就有意義了。有了以 rollup 為中心的路線圖,將 Eth1 放在專門的分片上 (即獨立于信標鏈、且頻繁與信標鏈交互) 會給共識層帶來不必要的復雜性,并增加在分片上發布數據和在 eth1 中訪問數據之間的延遲。
我們提議將 eth1 數據 (交易、狀態根等) 嵌入到信標區塊中,并且要求信標鏈區塊提議者生成可執行的 eth1 數據,以消除這種復雜性。也就是說將 eth1 執行和有效性作為共識核心的一等公民。
提案概覽
Eth1-引擎由系統中的驗證者維持。
當驗證者打算提議一個信標區塊時,他會通過 eth1-引擎創建 eth1 數據。然后 eth1 數據將被嵌入到其提議的信標區塊中。
如果 eth1 數據無效,其所在的信標區塊也同樣無效。
Eth1 引擎的修改
根據前面的介紹,eth1 分片為中心的設計中,eth1-引擎和 eth2-客戶端是松散耦合的,并通過 RPC 協議實現通信 (查看文章 eth1+eth2 客戶端關系 以了解更多信息)。eth1-引擎不斷維護著其交易池和狀態下載器,這需要它自己的網絡堆棧。它還應該存儲 eth1 區塊。
Web3數據平臺Mnemonic宣布完成600萬美元融資:金色財經報道,Web3數據平臺Mnemonic宣布完成600萬美元種子擴展輪融資,Salesforce Ventures領投。[2023/6/14 21:36:28]
當前的提案取消了 eth1 區塊的概念,eth1-引擎有兩種可能的方式來處理這一變化:
通過合成的方式,從信標鏈區塊的 eth1 數據中創建 eth1 區塊
修改引擎:交易處理過程不a需要使用 eth1 區塊,而是使用 eth1 數據
信標區塊根可用于保存當前狀態管理所需要的鏈的概念
兩者相比,后者為比較長期的選項。它允許 eth1 客戶端更快地轉換為 eth1-引擎,且 eth1 分片概念證明 (PoC) 已經證明了這一點。
我們使用術語“可執行數據” (executable data) 來表示包含 eth1 狀態根、交易清單 (包括收據根“receipts root“和 bloom filter)、coinbase、時間戳、區塊哈希以及 eth1 狀態遷移函數所需要的所有其他數據位。可執行數據在 eth2 規范中表示如下:
class?ExecutableData(Container):????coinbase:?bytes20??#?Eth1?address?that?collects?txs?fees????state_root:?bytes32????gas_limit:?uint64????gas_used:?uint64????transactions:?[Transaction,?MAX_TRANSACTIONS]????receipts_root:?bytes32????logs_bloom:?ByteList[LOGS_BLOOM_SIZE]Eth1-引擎的職責清單與此前 eth1 分片的職責類似。主要有:
Magic Eden已完成1685萬美元新一輪融資:金色財經報道,據SEC文件顯示,Solana生態NFT市場Magic Eden首席執行官Tan Lu已于1月24日向SEC備案該項目完成新一輪融資,本輪融資共籌集金額16,859,571美元。
此前報道,去年6月,Magic Eden以16億美元估值完成1.3億美元B輪融資,Electric Capital和Greylock領投,資金用于擴大其一級和二級市場,并探索多鏈機會。[2023/2/2 11:41:57]
交易執行。Eth2-客戶端向 eth1-引擎發送一筆可執行數據。Eth1-引擎通過處理該數據來更新其內部狀態,并且如果通過了共識檢查則返回 true ,否則返回false。諸如即時存款處理之類的高級用例也可能要求結果中包含完整的交易收據。
交易池維護。Eth1-引擎使用 ETH 網絡協議來廣播信息并跟蹤網絡上的交易。等待被打包的交易 (pending transactions) 保存在交易池中,然后用于創建新的可執行數據。
可執行數據創建。Eth2-客戶端發送之前的區塊哈希、eth1 狀態根、coinbase、時間戳和創建可執行數據的所有其他信息 (交易清單的一部分)。Eth1-引擎返回一個 ExcecutableData 實例。
狀態管理
Eth1-引擎維護狀態存儲以便能夠運行 eth1 狀態執行函數。
它涉及在最終確定性上觸發的狀態樹修剪機制 (pruning mechanism),該機制要求基于信標區塊鏈的狀態樹版本控制。
注意:長期無區塊敲定會造成大量垃圾數據的堆積,從而消耗額外的磁盤空間。
灰度GBTC負溢價率小幅回落至43.9%:1月8日消息,據Coinglass數據顯示,當前灰度總持倉量達149.97億美元,主流幣種信托溢價率如下:BTC,-43.9%;ETH,-52.54%;ETC,-68.9%;LTC, -58.68%;BCH,-50%。[2023/1/8 11:00:35]
當無狀態執行和”區塊創建“完成時,eth1 引擎可以選擇作為純狀態遷移函數運行,并在此基礎上承擔一些責任,如,可以禁用狀態存儲,從而減少使用磁盤空間的需求。
JSON-RPC 支持。為了可用性和應用性,保留以太坊 JSON-RPC 的支持十分重要。該責任將由 eth2-客戶端和 eth1-引擎共同承擔,因為 eth1-引擎可能失去了單獨處理 JSON-RPC 終端子集的能力,如那些基于區塊號和哈希的調用。這種分離將在之后解決。
信標區塊處理
可執行數據 ExecutableData 結構代替了信標區塊體中的 Eth1Data 。此外,信標鏈和 eth1 的同步處理允許即時存款。因此,存款可以從信標區塊體中移除。
以下是更新了的信標區塊體:
class?ExecutableBeaconBlockBody(Container):????randao_reveal:?BLSSignature????executable_data:?ExecutableData??#?Eth1?executable?data????graffiti:?Bytes32??#?Arbitrary?data????#?Operations????proposer_slashings:?List[ProposerSlashing,?MAX_PROPOSER_SLASHINGS]????attester_slashings:?List[AttesterSlashing,?MAX_ATTESTER_SLASHINGS]????attestations:?List[Attestation,?MAX_ATTESTATIONS]????voluntary_exits:?List[SignedVoluntaryExit,?MAX_VOLUNTARY_EXITS]我們修改了 ?process_block 函數:
FaTPay宣布跟萬事達合作,將發布聯名加密信用卡:12月2日消息,加密貨幣支付服務提供商FaTPay宣布跟萬事達達成合作,將推出聯名加密銀行卡。該卡將支持包括比特幣在內的多種加密貨幣,并能在所有銀行卡支付場景完成支付。
目前,通過加密支付服務商FaTPay可用超過40個國家法定貨幣直接購買超過20條公鏈上的數字資產,并集成了AML、KYC等反欺詐能力滿足監管要求。[2022/12/2 21:18:18]
def?process_block(state:?BeaconState,?block:?BeaconBlock)?->?None:????process_block_header(state,?block)????process_randao(state,?block.body)????#?process_eth1_data(state,?block.body)?used?to?be?here????process_operations(state,?block.body)????process_executable_data(state,?block.body)在 process_operations 完成之后處理可執行數據是合理的,因為在很多情況下,operation processing 可能會使整個區塊無效。雖然,這種方法可能不是最優的,無法讓客戶端優化達到最優效果。
訪問 EVM 的信標狀態
我們更改了 BLOCKHASH 操作碼 (此前用于返回 eth1 區塊哈希) 的語義,現在用來返回信標區塊根。這允許驗證被打包進信標狀態或區塊的數據 (包括從前 256 個 slot 到最近一個 slot 的數據)。
SBF:FTX的保證金頭寸“比想象的要大得多”,目前靠電子游戲保持頭腦清醒:11月15日消息,SBF在周日接受《紐約時報》采訪時表示,他在周日的一次內容廣泛的采訪中對公司的倒閉深表遺憾,該報道稱他“出奇地冷靜”。SBF告訴《紐約時報》:“你可能以為我現在睡不著覺,但我倒是睡了一些。但這可能會更糟。”
此外,SBF還表示FTX的保證金頭寸“比想象的要大得多”,但他不愿提供更多細節,只是透露有數十億美元,并希望自己能少承擔一些責任,并補充說他一直在“與監管機構、破產官員和公司建設性地合作,努力為消費者做最好的事情。”
SBF在采訪中提到,與Alameda Research負責人Caroline Ellison不再有戀愛關系。《紐約時報》稱SBF拒絕討論入獄的可能性,但一直在通過玩電子游戲Storybook Brawl來打發時間,SBF稱“它讓我頭腦清醒”。而對于過去幾天的神秘推文,SBF則解釋:“我不知道”“我在即興發揮”。(紐約時報)[2022/11/15 13:05:38]
異步狀態讀取有一個主要的缺點。客戶端必須要等待一個區塊產生,才可以使用鏈接到該區塊的證明或使用該區塊的狀態根創建一個事務。簡單地說,異步狀態訪問至少要延遲一個 slot。
直接狀態訪問
假設 eth1-引擎可以訪問代表整個信標狀態的默克爾樹。那么 EVM 可能可以憑借 READBEACONSTATEDATA(gindex) 操作碼,以提供直接訪問信標狀態任何部分的功能。這個操作碼有幾個良好的屬性。首先,這種讀取復雜性取決于 gindex 值并且易于計算,因此可以輕松地計算 gas 費。第二,返回數據的容量為 32 字節,完全適合 EVM 的 32 字節字。
使用此操作碼,就可以創建更高級別的信標狀態訪問庫,從而為智能合約提供便捷的 API。如:
v?=?create_validator_accessor(index)?#?creates?an?accessorv.get_balance()?#?returns?balance?of?the?validatorv.is_slashed()??#?returns?the?value?of?slashed?flag該模型消除了狀態訪問延遲。因此,通過對信標鏈操作和 eth1 執行進行適當的排序 (eth1 執行在后),并且在 slot N上可以訪問 slot N-1 分片數據的交聯,可以允許 rollup 以最快的方式對數據打包進行證明。
此外,使用這個方法不需要將證明廣播至網絡并進一步由合約驗證,從而減少了信標狀態讀取在數據和計算方面的復雜性。
注意:在一開始使 READBEACONSTATEDATA 操作碼的語義獨立于特定的承諾方案 (即默克爾樹) 是有意義的,這有益于更輕松地實現升級。
直接訪問的成本提高了 eth1-引擎的復雜性。讀取信標狀態可以通過不同的方式實現:
將可執行數據和狀態一起傳遞。該方法的主要問題是處理大容量的狀態副本。如果將直接訪問限制為狀態數據的一個子集,而該狀態數據的子集需要將一小部分狀態傳遞給執行,那么它可能會起作用。
雙工通信通道。有了雙工通道,eth1-引擎將能夠同步向信標節點詢問 EVM 請求的狀態。根據通道設置的方式,延遲可能會成為執行那些具有信標狀態讀取的交易的瓶頸。
嵌入式的 eth1-引擎。如果將 eth1-引擎嵌入到信標節點中,它可以通過節點提供的托管功能從同一個內存空間讀取狀態。
分析
網絡帶寬
當前提案通過可執行數據的容量來擴大信標區塊。不過,由于該提案允許使用更高級的存款方案,因此很有可能刪除 Deposit 操作。
取決于區塊利用率,根據 eth1 平均區塊容量 (這略微影響網絡接口的需求),預期的增長在 10% 到 20%之間。
值得注意的是,如果 CALLDATA 由 rollup 利用,那么在最壞的情況下,eth1 區塊容量可能會增長到 200kb (gas limit 為 1200 萬時),使得可執行信標區塊容量增長 60% ,容量變為 300kb 。
區塊處理時間
平均處理時間:
Toledo 上的 Lighthouse 有 1.6 萬驗證者,主網上的 Go-ethereum 的 gas limit 為 1200 萬。
很難推斷出信標鏈的處理時間,尤其是,特別是在驗證者子集相對較大以及需要處理交聯的情況下 (如果分片上線)。也許在某個時候,epoch 處理將與 eth1 執行幾乎同時進行。
減少時段邊界 (epoch boundary) 處理時間的方法是,提前處理 epoch,而不是等到下一個 slot 的開始,以防最近一個 epoch 的最后一個區塊準時產生。
異步狀態訪問模型允許另一種優化方式。在這種情況下,process_executable_data 可能與主要的 process_block ,甚至 process_epoch 的有效負載并行運行。
固化該設計
有人可能會說,當前提案將執行模型固定下來,并削弱了引進更多可執行分片的能力 (一旦我們需要它們)。
另一方面,一些可執行分片會帶來諸如跨分片通信、共享賬戶空間等問題。還有一些其他的問題,而這些問題與執行模型的預期轉變同樣重要且難以解決。
原文鏈接:https://ethresear.ch/t/executable-beacon-chain/8271
ECN的翻譯工作旨在為中國以太坊社區傳遞優質資訊和學習資源,文章版權歸原作者所有,轉載須注明原文出處以及ETH中文站。若需長期轉載,請聯系eth@ecn.co進行授權
來源 |?ethresear.ch
作者 | Mikhail Kalinin
特別感謝最初提出該想法的 Vitalik Buterin @vbuterin,感謝 Danny Ryan @djrtwo、@zilm 等給本文提供的寶貴意見。
2月16日,NFT大V @punk6529在推特上發文,分享了自己對于NFT的一些看法。他認為,NFT 是我們迄今為止發現的社交性最好的藝術平臺.
1900/1/1 0:00:00今年3月,在一些最大的交易市場上,NFT藝術品交易量激增至2億美元以上,但4月的交易額卻下降了50%。在批評者看來,這是"NFT時代的終結".
1900/1/1 0:00:00本文梳理自 NFT 玩家 Cirrus 在個人社交媒體平臺上的觀點:沒有白名單,沒有機器人,也沒有 alpha 內部群組,但我仍然通過自己的策略在 NFT 領域獲利.
1900/1/1 0:00:00建立在區塊鏈技術基礎上的非同質化代幣——NFT,不僅拓展了藝術的邊界,也改變了千百年來延續至今的藝術權益分配模式。伴隨NFT的崛起,數字藝術的熱度和價值也在全球范圍內升起.
1900/1/1 0:00:00近日,InfStones 與 imToken 合作推出的 Eth2 非托管錢包質押服務已于 imToken 錢包上線,作為 Eth2 錢包中原生集成的功能.
1900/1/1 0:00:002021年,Crypto領域對體育產業的影響是巨大的。從NBA到電子競技,加密技術滲入了體育界的方方面面,不僅體育巨頭們紛紛加注,體育明星在加密領域也十分活躍.
1900/1/1 0:00:00