摘要:除可執行分片之外,可執行信標鏈作為替代的 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 區塊。
報告:過去一年部署在以太坊和相關區塊鏈上的智能合約激增12倍:金色財經報道,根據 Alchemy 的一份新報告,過去一年,部署在以太坊和相關區塊鏈上的智能合約激增了12倍,Alchemy增長分析師Blake Tandowsky 將這一繁榮歸因于建立在以太坊之上的第2層區塊鏈,例如 Arbitrum和Optimism,它們極大地降低了智能合約平臺的使用成本。Alchemy表示,雖然開發人員數量有所下降,但留下來的開發人員正在開發比以往更多的智能合約。
報告還表示,7 月份新的、用戶友好的加密錢包數量躍升超過 1,200%,即13倍,基于智能合約的錢包有近30萬活躍用戶,6月有2.2萬名活躍用戶。[2023/8/4 16:17:14]
當前的提案取消了 eth1 區塊的概念,eth1-引擎有兩種可能的方式來處理這一變化:
通過合成的方式,從信標鏈區塊的 eth1 數據中創建 eth1 區塊
修改引擎:交易處理過程不a需要使用 eth1 區塊,而是使用 eth1 數據
信標區塊根可用于保存當前狀態管理所需要的鏈的概念
兩者相比,后者為比較長期的選項。它允許 eth1 客戶端更快地轉換為 eth1-引擎,且 eth1 分片概念證明 (PoC) 已經證明了這一點。
我們使用術語“可執行數據” (executable data) 來表示包含 eth1 狀態根、交易清單 (包括收據根“receipts root“和 bloom filter)、coinbase、時間戳、區塊哈希以及 eth1 狀態遷移函數所需要的所有其他數據位。可執行數據在 eth2 規范中表示如下:
王興將個人參與王慧文\"光年之外\"A輪投資并出任董事:3月8日消息,美團創始人王興發布的朋友圈表示,王興個人將參與王慧文創業公司“光年之外”的A輪投資,并出任董事。王興在朋友圈中表示,“AI大模型讓我既興奮于即將創造出來的巨大生產力,又憂慮它未來對整個世界的沖擊。老王和我在創業路上同行近二十年,既然他決心擁抱這次大浪潮,那我必須支持。”公開報道顯示,王慧文于今年2月宣布成立北京光年之外科技有限公司,出資5千萬美元,估值2億美元,自有資金占股25%,王慧文曾在社交平臺表示,“要打造中國OpenAI”。[2023/3/8 12:49:37]
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 分片的職責類似。主要有:
交易執行。Eth2-客戶端向 eth1-引擎發送一筆可執行數據。Eth1-引擎通過處理該數據來更新其內部狀態,并且如果通過了共識檢查則返回 true ,否則返回false。諸如即時存款處理之類的高級用例也可能要求結果中包含完整的交易收據。
交易池維護。Eth1-引擎使用 ETH 網絡協議來廣播信息并跟蹤網絡上的交易。等待被打包的交易 (pending transactions) 保存在交易池中,然后用于創建新的可執行數據。
黃立成近14小時內完成136筆BAYC賣出交易,最低賣出價為58 ETH:2月25日消息,自 2 月 24 日晚 20 時至今,黃立成已完成 154 筆 BAYC 交易,其中執行賣出交易 136 筆,執行買入交易 18 筆,最低賣出價為 58 ETH。當前該地址剩余 58 枚 BAYC,其中 34 枚正處于掛單出售中。
據 NFTGo.io 數據顯示,BAYC 系列 NFT 當前地板價為 66.7 ETH,24 小時跌幅 10.46%;24 小時交易量為 1.75 萬 ETH,交易量增幅達 501.79%。[2023/2/25 12:28:49]
可執行數據創建。Eth2-客戶端發送之前的區塊哈希、eth1 狀態根、coinbase、時間戳和創建可執行數據的所有其他信息 (交易清單的一部分)。Eth1-引擎返回一個 ExcecutableData 實例。
狀態管理
Eth1-引擎維護狀態存儲以便能夠運行 eth1 狀態執行函數。
它涉及在最終確定性上觸發的狀態樹修剪機制 (pruning mechanism),該機制要求基于信標區塊鏈的狀態樹版本控制。
注意:長期無區塊敲定會造成大量垃圾數據的堆積,從而消耗額外的磁盤空間。
當無狀態執行和”區塊創建“完成時,eth1 引擎可以選擇作為純狀態遷移函數運行,并在此基礎上承擔一些責任,如,可以禁用狀態存儲,從而減少使用磁盤空間的需求。
JSON-RPC 支持。為了可用性和應用性,保留以太坊 JSON-RPC 的支持十分重要。該責任將由 eth2-客戶端和 eth1-引擎共同承擔,因為 eth1-引擎可能失去了單獨處理 JSON-RPC 終端子集的能力,如那些基于區塊號和哈希的調用。這種分離將在之后解決。
Polygon Studios已更名為Polygon Labs,原CEO轉任為總裁:金色財經報道,Polygon Studios已更名為Polygon Labs,原Polygon Studios CEO Ryan Wyatt轉任為現Polygon Labs總裁。
Ryan Wyatt于2022年2月加入Polygon Studios擔任CEO,在最近轉任為Polygon Labs的總裁一職時表示,“開始理解為什么有些人對加密貨幣的經濟非常熱心,對我而言,擁抱Web3就是要看到真正的數字所有權對未來的潛在影響。”[2023/2/19 12:15:15]
信標區塊處理
可執行數據 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 函數:
Acala攻擊者地址aUSD銷毀提案已通過,共計約12.9億枚:8月16日消息,Acala攻擊者地址aUSD銷毀提案已通過,總共1,292,860,248個錯誤鑄造的aUSD在大約1652829塊將發送到honzon協議并被燒毀。此前Acala表示,黑客攻擊系iBTC/aUSD池配置錯誤,相關被盜資產已被禁止轉移。[2022/8/16 12:28:01]
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 的數據)。
異步狀態讀取有一個主要的缺點。客戶端必須要等待一個區塊產生,才可以使用鏈接到該區塊的證明或使用該區塊的狀態根創建一個事務。簡單地說,異步狀態訪問至少要延遲一個 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無聊猿上線之后,給持有者發布了一個又一個的福利。其中比較大的福利有三次。第一次是給BAYC的持有者空投一只小狗BAKC(無聊狗).
1900/1/1 0:00:00最近幾個月NFT出現了爆炸式增長,前十大最昂貴的 NFT 銷售交易中,九個是在過去六個月內進行的,也創下了迄今為止規模最大的銷售額記錄.
1900/1/1 0:00:00毫無疑問,2021 年對于NFT 來說是重要的一年。隨著 1 月至今的銷售額接近 100 億美元,新興市場出現了前所未有的增長,比 2020 年增長了 14,500%.
1900/1/1 0:00:00隨著日本開放NFT業務平臺,韓國三大娛樂公司之一的JYP公司將目光轉向NFT市場,NFT越來越受普通人的關注.
1900/1/1 0:00:00近幾個月來,美國證券交易委員會(SEC)的法律顧問向NFT市場創建者和其他Crypto交易所發出傳票,尋求有關其項目的更多信息.
1900/1/1 0:00:00