以太坊開發(fā)者為什么要推遲“難度炸彈”的啟動
上月中旬提出的以太坊改進(jìn)提案(EIP)2387 暫定于 1 月 6 日進(jìn)行硬分叉,以將以太坊 “難度炸彈,difficulty bomb)” 或 “冰河期(Ice Age)” 推遲 400 萬個區(qū)塊,或 611 天后再啟動。這次分叉被命名為 “繆爾冰川(Muir Glacier)”,以紀(jì)念正在消融的阿拉斯加冰川(Alaskan glacier)。
此次硬分叉將在區(qū)塊高度 9,069,000 時進(jìn)行,以將當(dāng)前基于工作量證明(PoW)共識機(jī)制的區(qū)塊鏈和以太坊 2.0 向 PoS 過渡的第一階段信標(biāo)鏈(Beacon Chain)連接起來。
隨著以太坊生態(tài)系統(tǒng)中的多個項目紛紛轉(zhuǎn)向 EOS、Binance Chain 和 Substrate 等其他網(wǎng)絡(luò),開發(fā)人員在上周五的一次電話會議上表達(dá)了當(dāng)前鏈在向以太坊 2.0 過渡時健康狀況的擔(dān)憂。更為復(fù)雜的是,該網(wǎng)絡(luò)的下一個重要升級 — — 伊斯坦布爾(Istanbul)硬分叉 — — 預(yù)定在本周六進(jìn)行。
雖然開發(fā)者在上周的電話會議中達(dá)成了初步共識,但如果他們不能很快就 “繆爾冰川” 達(dá)成共識的話,以太坊的出塊時間將繼續(xù)上升,交易費(fèi)會讓用戶望而卻步,從而大大限制當(dāng)前網(wǎng)絡(luò)的容量。
什么是 “難度炸彈”?
難度炸彈是于 2015 年嵌入以太坊網(wǎng)絡(luò)的一段代碼,是逐漸增加以太坊區(qū)塊鏈哈希難度的兩個組件之一,它旨在通過目前計劃于 2021 年啟動的 “寧靜”(Serenity)網(wǎng)絡(luò)更新迫使網(wǎng)絡(luò)向 PoS 過渡。
與比特幣類似,以太坊也有一個用來控制網(wǎng)絡(luò)上以太幣(ETH)獎勵輸出的挖礦難度調(diào)整方案,而難度炸彈就是其中的一部分。
與比特幣不同,以太坊的 “難度炸彈” 在每挖出 10 萬個區(qū)塊后,會增加出塊時間(通常為 10 - 20 秒之間)。由于 “難度炸彈” 以區(qū)塊開采時間為基礎(chǔ),因此知道網(wǎng)絡(luò)什么時候會生效更像一項藝術(shù)工作而非科學(xué)工作(more art than science)。
EIP 2387 將是該 “炸彈” 自 2015 年以來第 3 次被推遲引爆。第一次是在 2018 年的拜占庭(Byzantium )硬分叉,當(dāng)時被延后了 300 萬個區(qū)塊啟動;第二次是在 2019 年 2 月的君士坦丁堡(ConstanTInople )硬分叉中延遲 200 萬個區(qū)塊啟動。
交易處理時間上升對以太坊來說并不陌生。據(jù)數(shù)據(jù)提供商 Etherscan 上顯示,在拜占庭和君士坦丁堡硬分叉之前,出塊時間就已經(jīng)大幅增加了,分別達(dá)了 30 秒和 20 秒以上。
“看起來自從君士坦丁堡硬分叉以來,由于出塊時間的加快,開發(fā)者顯然低估了高昂的交易費(fèi)再次出現(xiàn)的時間,” 以太坊開發(fā)人員埃里克·康納(Eric Conner)在一條私人信息中表示,“伊斯坦布爾硬分叉后,大家一直以為下一次分叉之前才會發(fā)生這種情況,但實(shí)際上它正在慢慢形成?!?/p>
鑒于出塊時間比預(yù)期更早上升,康納起草了 EIP 2384,提議推遲啟動伊斯坦布爾/柏林難度炸彈,并將之納入 EIP 2387。康納表示,在六周多一點(diǎn)的時間里,出塊時間從 13.1 秒增加到了 14.3 秒。而且,由于難度炸彈是以太坊的一個指數(shù)特征,一秒鐘的變化都會對未來產(chǎn)生很大的影響。
同步網(wǎng)絡(luò)
盡管難度炸彈是以太坊最初嵌入的一項功能,但一些開發(fā)者呼吁徹底取消難題炸彈。畢竟,每次當(dāng)它變得不方便的時候,它都被拋棄了。
然而,有些人認(rèn)識到了維持這一最初設(shè)計的邏輯。它確實(shí)可以迫使以太坊客戶端與網(wǎng)絡(luò)保持同步,否則客戶端在網(wǎng)絡(luò)上運(yùn)行的成本將越來越高。
“保留某種協(xié)議失效的最有力理由是,必須確保不能選擇 ‘什么都不做’,” 以太坊開發(fā)者邁卡·佐爾圖(Micah Zoltu)在一條私人信息中這樣說道。
“利益相關(guān)者不再關(guān)注他們的客戶端,也不再升級客戶端,這才是更大的問題,” 他說道,“難度炸彈是為了確保人們在面對定期網(wǎng)絡(luò)升級時可以做出明智的決策?!?/p>
目前,EIP 2384 正等待以太坊開發(fā)人員的最后討論。EIP 2387 在上周五的電話會議上已達(dá)成了初步共識,但在網(wǎng)絡(luò)實(shí)現(xiàn)之前,它還需要等待 EIP 2384 的最終定案和 Parity 或 Geth 等以太坊客戶端的兼容。
“我認(rèn)為要么完全取消難度炸彈,要么調(diào)整它的工作方式,” 佐爾圖說道,“我反對讓難度炸彈保持原樣?!保–oinDesk中文版注:在以太坊最近一次公開會議中,所有開發(fā)人員和其他非開發(fā)人員與會者都同意推遲啟動難度炸彈。)