一文讀懂以太坊“柏林硬分叉”始末

整理 | 晉兆雨

出品 | 區塊鏈大本營 (ID:blockchain_camp)

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

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

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

  1. EIP-2565:變更 求模/求冪 運算的 Gas 開銷。EIP-2565 提案是對此前的 EIP-198(大數求模求冪運算)的重定價;一開始,EIP-198 為求模求冪運算引入了一個預編譯模塊,該模塊使我們能引入許多需要求模求冪運算的密碼學算法,比如 RSA 簽名的驗證。EIP-2565 降低了該模塊的 Gas 開銷,使之與執行其它操作的開銷相持平,
  2. EIP-2718:標準化的事務信封。該 EIP 引入了一種新的事務類型(transaction type),其本身可以作為一種信封,以更加便利地啟用對多種事務類型的支持。
  3. EIP-2929:提高狀態訪問操作碼的 Gas 開銷。該 EIP 提高了一筆事務在首次調用 SLOAD、*CALL、BALANCE、EXT* 以及 SELFDESTRUCT 時候的 Gas 消耗量,
  4. 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 萬個區塊,隨著時間的推遲,這枚難度炸彈預計在未來幾年內都不會再次“引爆”。升級取名“繆爾冰川”,也是為了紀念地質學家繆爾,他是準確提出冰川活動概念的第一位學者,

無論如何每次硬分叉升級都代表以太坊的一次優化和完善,據說“柏林升級”將觸發以太坊網路功能的重大變化,對此你怎么看?歡迎評論區與我們分享,

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧