9月,我們將一起見證以太坊“合併”完成。
“合併”是以太坊2.0升級過程中的重要步驟之一,具體來說是推出“分片鏈”之前進行主網與信標鏈權益證明系統的“合併”,這將讓“挖礦”在以太坊網絡成為歷史。
以往的區塊鍊網絡升級一般會指定在某一區塊高度發生,因此可以相對準確地預估在某一天發生。而這一次以太坊“合併”發生並不基於特定區塊高度,而是根據以太坊基金會宣布的終端總難度(TTD)來執行。
TTD 是以太坊由PoW過渡到PoS之前將要開采的最終區塊所需的總難度,因此“合併”完成時間受每一個區塊難度和實時算力的影響。
也就是說,這次合併完成的時間只能以時間段來預估,比如以太坊基金會在8月26日的公告中就預告“合併”完成的時間在9月10日至9月20日期間。
據OKLink的以太坊合併倒計時顯示,目前合併的整體進度已超過98%,距離合併完成還有大約9天。那麼在這段等待的時間內,我們不妨了解一下如何預估以太坊合併完成時間。
圖片源:www.oklink.com/zh-cn/eth/merge
以太坊的“合併”已經在三個測試網Ropsten、Sepolia 以及Goerli上成功進行了測試,與這三個測試網執行合併的流程一致,以太坊主網與信標鏈的合併將分兩個步驟進行。
共識層網絡升級,代號Bellatrix
該升級,由特定的“時段高度(Epoch)”觸發。時段高度是以太坊共識層網絡區塊認證機制的有機組成部分,一個時段高度包含32個“插槽(Slot)”,每個插槽只能創建一個有效區塊,在每一個時段高度的期限內,將隨機由驗證節點處理交易並將數個交易打包進區塊放入插槽。信標鏈Bellatrix升級安排在時段高度144896進行,即北京時間9月6日19:34:47。
PoW過渡到PoS的Paris升級
該升級,由特定的終端總難度Terminal Total Difficulty (TTD) 觸發,目前TTD的觸發值被設定為58750000000000000000000。
達到設定TTD 的確切日期直接決定了合併完成的具體時間,因此何時觸發設定的TTD 就是預估以太坊合併時間的關鍵。
一種簡單的預估方法是,計算當前TTD 與目標TTD 之間的差值,然後用這一差值除以平均區塊難度,這樣我們就能計算出達到目標TTD以前還需要挖出多少個區塊,最後用計算出的區塊數量乘以平均出塊時間,就可以粗略地得到合併前的剩餘時間。
即:(目標TTD-當前TTD)/平均區塊難度*平均出塊時間
不過這種方式預估的時間是不夠精確的,要想更加準確地預估TTD,可以參考Mário Havel 在他的一篇技術博客中介紹的方法。當然,你也可以參閱bordel.wtf 和797.io/themerge 更加直接地獲得比較精確的時間。
最後,在以太坊的執行層總難度達到或超過TTD 後,後面的區塊將由信標鏈驗證節點負責生成。
也就是說,主網/執行層第一個觸及TTD的區塊生成後,信標鏈上的驗證節點會接過接力棒抓緊對區塊進行確認,確認後合併過渡即視為完成。