以太坊 2.0 與 1.0 預計將在明年第 2 季迎來合併,這意味著屆時以太坊將正式從 PoW 過渡至 PoS。以太坊核心開發者 Tim Beiko 近日撰文,詳述合併後對以太坊應用層的影響,並指出在合併後若要進行重組攻擊,需銷毀總質押 1/3 的以太幣,目前相當於超過 100 億美元。
(前情提要:以太坊基金會協調人 : PoW 將在3-6 個月結束!礦工準備過渡PoS)
據動區此前報導,以太坊 2.0 與 1.0 預計將在明年第 2 季迎來合併。以太坊基金會生態建設協調人埃普斯(Trenton Van Epps) 上月 17 日表示,以太坊將在 3 到 6 個月內結束工作量證明(PoW)共識機制,呼籲以太坊礦工們為此做好準備。
以太坊核心開發者 Tim Beiko 11 月 29 日在以太坊基金會官方部落格撰文,解釋合併後對以太坊應用層的影響,指出合併被設計為僅對以太坊終端用戶、智能合約、Dapps 的運作方式產生最小影響,但還是有一些小的變化值得強調。
在文章中, Tim Beiko 總結出五個合併後值得注意的變化,包括區塊結構、挖礦與叔塊(Ommer Block)場、BLOCKHASH 與 DIFFICULTY 操作碼改變、區塊時間、安全頭塊與最終塊等方面。
以下由動區編輯編譯原文,整理如下:
區塊結構
Tim Beiko 指出,在合併後,POW 區塊將不再存在於網路中,以前 POW 鏈的內容,將成為信標鏈(Beacon Chain)上所創建區塊的組成部分,這可以理解為信標鏈將成為新的以太坊 POS 共識層,取代了先前的 POW 共識層。
Tim Beiko 表示,信標鏈區塊將包含 ExecutionPayloads,它是合併後當前 POW 鏈上的區塊等價物,下圖顯示了這層關係。
對於終端用戶和應用開發者而言,這些 ExecutionPayloads 是與以太坊交互的地方,在這一層的交易,仍將由執行層客戶端(Besu, Erigon, Geth, Nethermind 等)處理;幸運的是,由於執行層的穩定性,合併只會帶來最小的破壞性變更。
挖礦和叔塊場
Tim Beiko 指出,在合併後,先前包含在 POW 區塊頭的幾個字段將無法使用,因為它們與 POS 不相關,為了盡量減少對工具和基礎設施的影響,這些字段都會設為 0,而不會完全從數據結構中刪除,區塊字段的完整變更可以在 EIP-3675 中找到。
Tim Beiko 指出,由於 POS 不會像 POW 那樣自然產生 ommers (叔塊),因此在每個區塊裡的 ommers 列表將是空的,而它的哈希值將會變成一個空列表的 RLP 編碼哈希值;此外,由於 difficulty 和 nonce 都是 POW 的特點,這些字段都會被設為 0,同時遵守它們以字節大小為單位。
BLOCKHASH 與 DIFFICULTY 操作碼改變
Tim Beiko 指出,在合併後,BLOCKHASH 操作碼仍可使用,但由於它不再能被透過 POW 哈希計算的過程來產生,所以此操作碼提供的偽隨機性將大大減弱。
Tim Beiko 進一步表示,與此相關的是, DIFFICULTY 操作碼 (0x44) 將會更新、並重新命名為 RANDOM。合併後,它將會返回由信標鏈提供的隨機性輸出,這個操作碼會因此成為應用開發者可以使用的隨機性來源,它比 BLOCKHASH 更強,儘管仍有偏差。
另外,RANDOM 暴露的值將儲存在 ExecutionPayload ,這也是 mixHash (一個與 POW 證明計算相關的值)儲存的地方。數據的 mixHash 字段也將被重命名為 random。
Tim Beiko 以下圖說明 DIFFICULTY 跟 RANDOM 操作碼在合併前、合併後的運作方式:
區塊時間
Tim Beiko 指出,合併將影響以太坊平均出塊時間。目前在 PoW 機制下,平均出塊時間大概是 13 秒,實際出塊時間仍有顯著差異,而在 POS 機制下,出塊時間將精確到每 12 秒就會出一個區塊,除非是驗證者離線、或沒有即時提交區塊,因而錯過了一個時間段,實際上,目前這種情況只在 <1% 時間段中發生過。
Tim Beiko 總結道,這意味著網路的平均出塊時間將減少 1 秒,那些有在計算中假設一個特定平均出塊時間的智能合約,將需要考慮這一點。
安全頭塊與最終塊
Tim Beiko 指出,在 PoW 下,總是會有出現重組的可能性,應用程式通常會等待幾個區塊在一個新的區塊頭被挖出,因為這樣一來,這些區塊不太可能從權威鏈(canonical chain)中被移除,或者等區塊被「確認」。
而在合併後,有了「最終塊」(finalized block)和「安全頭塊」(safe head block)的概念,這些區塊比 PoW 下的「被確認」區塊更可靠,但理解上有區別,需要轉變觀念才能正確使用。
Tim Beiko 指出,「最終塊」意味著它被大於 2/3 的驗證者接受為權威鏈的一部分,因此,若有攻擊者想創建一個衝突區塊,它必須燒毀至少總質押金額的 1/3 以太幣,以目前來說,相當於約 250 萬顆以太幣,價值超過 100 億美元。
「安全頭塊」則是指正常的網路條件下,預期會被包含在權威鏈上的區塊,假如網路延遲少於 4 秒,大多數驗證者是誠實的、且沒有對分叉選擇規則攻擊,安全頭塊將永遠不會成為孤塊。
Tim Beiko 分享了一份報告,詳細介紹在各種情況下如何計算安全頭塊,並表示在即將發表的論文中,安全頭塊的假設和保證將被正式定義和分析。
Tim Beiko 表示,合併後,執行層的 API(例如 JSON RPC) 將在詢問 latest 區塊時默認返回安全頭塊,在正常網路條件下,安全頭塊和鏈的實際頂端將是相等的(安全頭塊只落後幾秒鐘),因此,安全頭塊被重組比現在 POW 的 latest 區塊被重組的可能性還要低。
Tim Beiko 補充道,如果要公開 POS 鏈的真正鏈頭,將會有一個 unsafe 的標記添加到 JSON RPC 中;最終塊的區塊也將通過 JSON RPC 公開,會出現一個新的 finalized 的標記,這些都可以作為比 POW 中的確認更強的替代品。
Tim Beiko 以下圖對這些內容進行總結:
結論:下一步
Tim Beiko 最後表示,希望這篇文章能夠幫助應用開發者做好準備,迎接眾所期待的 POS 過渡,在接下來數週,存在已久的測試網將被提供給更廣大的社群進行測試,還有一個可向基礎設施、工具和應用程式開發人員提問、並了解最新合併技術進度的合併社群線上會議即將到來。
📍相關報導📍
DeFi犯罪頻傳!今年迄今已損失超過 120 億美元,九成發生在以太坊和 BSC遭
科普 | 作為以太坊可擴展性未來,分片 (Sharding) 是什麽?有沒有潛在風險?
Grayscale|Q3灰度「以太坊信託」持倉量成長19%,GBTC反下滑2.6%
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務