以太坊推遲柏林硬分叉是因為擔心中心化問題?

買賣虛擬貨幣

以太坊推遲柏林硬分叉是因為擔心中心化問題?以太坊開發人員再一次推遲硬分叉升級,這次是“柏林”(Berlin)。那麼,為什麼以太坊又雙叒叕推遲升級了呢?下面鏈報小編就來和大家一起來解讀一下。

目前,依賴以太坊客戶端Geth的使用者數量非常多,以至於只要該客戶端出現漏洞,就有可能暫時凍結以太坊網路——而這,似乎與區塊鏈去中心化的核心思想有所衝突。鑑於此,以太坊核心開發人員在上週五(6月27日)決定將“柏林”硬分叉叉的開發工作至少推遲到八月,這麼做的目的只有一個,即:讓以太坊其他客戶端有機會增加自己的網路份額。

根據Ether Nodes的說法,Geth客戶端只是以太坊旗下11個規範客戶端中的一個,但是竟然有79%的以太坊節點在這個客戶端上面執行。自2019年12月以來,Geth客戶端在乙太網網路內的客戶端數量佔比增長了5%。對此,開發人員開始擔心一旦Geth客戶端出現嚴重漏洞就極有可能會破壞整個以太坊——特別是在以太坊網路計劃過渡到Eth 2.0下的權益證明(PoS)共識演算法之前,會持續對Eth 1.x進行滾動更新。

上週五(6月27日),Geth團隊負責人佩特·西拉吉(Péter Szilágyi)在以太坊核心開發者小組電話會議上表示:

“以太坊網路中的大多數人都使用了Geth客戶端,這麼做當然無可厚非,但有一點至關重要,那就是我們不能承受不正確的後果。”

以太坊程式語言

毫無疑問,擁有多樣化的客戶端對以太坊網路來說是有利的。從最小的創業公司到摩根大通這樣的大企業,以太坊允許不同的專案加入開發者社羣。以太坊於2015年推出,一年後就在完整性的不同級別上支援了八種程式語言。以太坊基金會目前以五種程式語言開發客戶端,包括Go、Solidity、Java、JavaScript和Python。

但是,就像人類的語言一樣,每種程式語言都有其細微差別,因此在客戶端實現方面也存在缺陷。當以太坊開發人員進行更新時,這些細微差別可能會變成令人討厭的錯誤。

獨立開發人員阿列克·謝諾夫(Alexey Akhunov)在一次私人聊天中表示:

“(推遲柏林硬分叉升級)的主要原因,是以太坊社羣希望減少對Geth客戶端的依賴,最終目標是要確保即便Geth客戶端出現問題,也不會破壞整個以太坊網路。由於確保Geth客戶端正確執行非常重要,所以目前以太坊開發人員的工作負擔變得非常重,他們需要要完成大部分工作以確保一切正常。”

隨著Parity Technologies在2019年12月宣佈以太坊網路棄用Parity Ethereum客戶端,以太坊對Geth客戶端的依賴似乎越來越嚴重了。當時Parity團隊在其官方部落格發文中寫道:

“Parity客戶端已經無法獲得所需的資源,不僅無法投入到後續開發,甚至連簡單維護工作都難以為繼。”

Parity以太坊客戶端專案的程式碼庫現在已移交給由ConsenSys衍生公司Gnosis資助的去中心化自治組織(DAO)。現在,該專案以“開放以太坊”(Open Ethereum)的名稱執行。根據Web Archive的資料顯示,自2019年12月以來,該客戶端已經丟失了近60%的節點。 (需要注意的是:自2019年12月以來,Geth客戶端也失去了大約14%的節點。)

多元化的以太坊客戶端

Gnosis創始人馬丁·科珀爾曼(Martin Köppelmann)在釋出的一條私人訊息中說道:

“在理想情況下,以太坊應該擁有多個客戶端,而且每一個客戶端的市場份額都不應該超過33%。雖然Parity——也就是開放以太坊(Open Ethereum)確實達到了執行以太坊客戶端所要求擁有的節點數量,但我們並不認為節點數量下降是有問題的。恰恰相反。當Gnosis確認接管開放以太坊客戶端的時候,我們的市場份額為0.”

不管馬丁·科珀爾曼對開放以太坊客戶端的熱情如何,Geth團隊負責人佩特·西拉吉的擔憂仍然值得關注。由於龐大的市場佔有率,想要讓個人使用者、企業、或是交易所刪除Geth以太坊客戶端是非常困難的,然而一旦Geth客戶端出現技術問題,這種嚴重依賴性就會導致致命問題。

那麼,為什麼以太坊網路會如此會暴露出對Geth客戶端的嚴重依賴問題呢?答案正是Eth 2.0啟動過於緩慢。一旦硬分叉遇到一個或多個問題,Eth 2.0研究人員每次都會同意延遲升級,然後與各種各樣的客戶端開發人員開會討論問題,以防止任一客戶端在升級之後出現問題。

相比之下,比特幣和大多數其他加密貨幣的升級效率要高得多,至少不像以太坊這樣需要與那麼多客戶端進行溝通協調。不得不說,以太坊現在的確遇到了一些束縛:如果想要100%正常執行,就需要取決於其專案複雜,但同時他們有需要在每六到十二個月滾動進行一次硬分叉。

相比之下,比特幣和大多數其他加密貨幣的使用頻率並不高,或者執行的應用程式數量不多。以太坊面臨一些束縛:100%的正常執行時間取決於它的專案負載,但每6到12個月滾動一次硬分叉。

問題源自Geth客戶端過於倦怠嗎,或許不是?

需要注意的是,如何吸引以太坊使用者使用其他客戶端、以減弱Geth客戶端的市場領導力,似乎一直是個懸而未決的問題。

以太坊開發人員格雷格·科爾文(Greg Colvin)在開發人員電話會議中表示,吸引以太坊使用者使用其他客戶端已經成為一個業務問題,不太可能透過開發人員計劃來解決。事實上,專案可以選擇與市場佔比較小的客戶端合作,因為他們有Geth客戶端無法解決的迫切需求,例如程式碼未開源等等。可話雖如此,據格雷格·科爾文透露,Geth客戶端一直在試圖招募用更多的員工,目的很可能就是希望進一步鞏固市場“統治地位”。

暫停測試“柏林”硬分叉升級的以太坊改進提案(EIP)是開發人員的一種選擇,儘管如此,正如Geth團隊負責人佩特·西拉吉所說,為了確保以太坊客戶端能夠24/7全天候穩定執行,其實已經耗盡了其團隊很多精力和資源。

2020年6月,佩特·西拉吉透露以太坊測試客戶端Geth最新版本即將釋出,新版本中將會新增一個功能,即手續費大於1ETH的交易將會被拒絕。“有趣”的是,六月初Geth還專門為“柏林”升級釋出了最新版本1.9.15.除了常規修復漏洞之外,本次更新中已經實現了下一次硬分叉升級“柏林”(Berlin)已經規劃的所有改進提案,針對這些EIP的臨時測試網路Yolo也已經上線。但現在看來,反而是以太坊社羣“出爾反爾”,擔心Geth的中心化問題而延遲升級。

如果一切順利的話,希望以太坊能夠如其計劃的那樣,在今年八月實施“柏林”硬分叉升級,但到時候還會有其他狀況發生嗎?就讓我們拭目以待吧!

免責聲明:

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

推荐阅读

;