以太坊完成“柏林硬分叉”,硬分叉到底是個啥?

買賣虛擬貨幣

整理 |晉兆雨

出品 |區塊鏈大本營

頭圖 |付費下載於視覺中國

繼 “繆爾冰川” 升級之後,以太坊再次實施了 “柏林” 升級。

4 月 15 日(星期四)下午 6:12 分左右,柏林硬分叉在主網的 12244000 區塊上正式啟用。近一週以太坊全網算力均值為502.37 TH/s,平均出塊時間13秒。目前已有74.6%的客戶端準備就緒。

此次柏林硬分叉主要最佳化以太坊的主網效能、最佳化合約,涵蓋 Gas 效率、以太坊虛擬機器 (EVM) 讀取程式碼方式的更新,以及防止拒絕服務 (DDOS) 攻擊等。本次升級將納入4個新的EIP改進提案:

EIP-2565:變更 求模/求冪 運算的 Gas 開銷。EIP-2565 提案是對此前的 EIP-198(大數求模求冪運算)的重定價;一開始,EIP-198 為求模求冪運算引入了一個預編譯模組,該模組使我們能引入許多需要求模求冪運算的密碼學演算法,比如 RSA 簽名的驗證。EIP-2565 降低了該模組的 Gas 開銷,使之與執行其它操作的開銷相持平。

EIP-2718:標準化的事務信封。該 EIP 引入了一種新的事務型別(transaction type),其本身可以作為一種信封,以更加便利地啟用對多種事務型別的支援。

EIP-2929:提高狀態訪問操作碼的 Gas 開銷。該 EIP 提高了一筆事務在首次呼叫 SLOAD、*CALL、BALANCE、EXT* 以及 SELFDESTRUCT 時候的 Gas 消耗量。

EIP-2930:可選的訪問列表。該提案背後的理念是:修正由 EIP-2929 對現有合約的破壞作用,並緩解由 EIP-2929 帶來的 Gas 消耗量增大問題。

硬分叉到底是什麼

一月份才進行了“繆爾冰川” 升級,“柏林”升級又開始了,升級、硬分叉到底是什麼?

任何系統都需要“升級”,區塊鏈也一樣。在中心化系統中升級軟體十分簡單,只需要在開發團隊上傳最新軟體,使用者下載即可,但是在區塊鏈系統中,“升級”並不是那麼簡單。因為沒有中心化機構,比特幣等數字資產的每次程式碼升級都需要獲得社羣的一致認可,如果社羣無法達成一致,區塊鏈就很可能形成“分叉”。

分叉即區塊鏈發生永久性分歧,在新共識規則釋出後,未升級的節點拒絕驗證已經升級的節點生產出的區塊,已經升級的節點雖然可以驗證未升級節點生產出的區塊,但是也會按照新的規則行事。因此如果大家各自延續自己認為正確的鏈,就會分成兩條鏈。

以太坊的第一次分叉其實是受到駭客攻擊後的一個解決方法。2016年駭客利用程式碼漏洞攻擊了以太坊上的眾籌專案——The DAO,不停地從The DAO 資金池裡分離資產。為了避免投資者的資產被轉移,以太坊直接選擇了硬分叉。分叉之後,形成了兩條鏈,一條為原鏈(以太坊經典,ETC),一條為新的分叉鏈(ETH),各自代表不同的社羣共識以及價值觀。

迭代升級,不斷完善

雖然第一次是不得已而為之,但是之後的硬分叉,以太坊都是“蓄謀已久”的。與其坐等他人攻擊,不如主動修復不足。自2016年以後,以太坊就多次透過硬分叉的方式進行全系統升級,2019年,被稱為“君士坦丁堡”和“聖彼得堡”的兩種升級都是以“硬分叉”的方式來實現的。

2020年 12 月 ,以太坊進行了伊斯坦布林硬分叉升級。時隔不到一月,以太坊又進行了“繆爾升級”?間隔如此之短,升級到底為那般?

根本原因是,以太坊難度炸彈已經啟動。

“以太坊難度炸彈” 指的是以太坊所用的工作量證明演算法難度調整機制中的一部分,本意是透過透過調整挖出新塊的挖礦難度使得網路的出塊時間趨於穩定,如果出塊時間太短(短於 10 秒)或者太長(長於 20 秒),則該機制會相應提高或降低挖礦難度。

難度炸彈為挖礦難度加入了一個只隨區塊高度增加而增加、不隨出塊時間改變而改變的值。該值每 10 萬個區塊增加一次,永不下降。

一開始難度炸彈增加的難度量很小,因此對出塊時間沒有明顯影響;而且這部分難度量的上升也很緩慢,但它的增長接近指數型增長。所以到了一定時機,它會使網路難度突然增加,出塊速度驟減。

2019年,難度炸彈在區塊高度達到 860 萬時開始顯現其影響,平均出塊時間顯著上升;到了 890 萬區塊高度時,出塊時間上升到 14.3 秒。

”到了 2020 年 2 月,出塊時間可能會上升到 30 秒。這會讓整條鏈變得很慢而且難以使用。”這就是所謂的 “冰河期(Ice Age)”。

解決冰河期問題的一個方法就是硬分叉,來看一下近幾年以太坊的挖礦難度變化。

圖中顯示有兩次難度出現明顯的指數級增長之後直線下落,這是因為以太坊難度炸彈啟動之後難度炸彈炸了,重新降低了挖塊難度,這一切就是伴隨著硬分叉完成的。

單獨進行一次硬分叉升級以推遲難度炸彈,這就是“繆爾冰川”硬分叉的來源。

繆爾冰川能將“難度炸彈”推遲 400 萬個區塊。隨著時間的推遲,這枚難度炸彈預計在未來幾年內都不會再次“引爆”。升級取名“繆爾冰川”,也是為了紀念地質學家繆爾,他是準確提出冰川活動概念的第一位學者。

無論如何每次硬分叉升級都代表以太坊的一次最佳化和完善,據說“柏林升級”將觸發以太坊網路功能的重大變化,對此你怎麼看?

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读