最近舉行的第90期核心開發者會議幾乎全程都在討論一個問題。我強烈建議大家親自聽一下這場會議。
在這場會議上,Alexey提出了客戶端開發者負荷過重的問題。雖然我認為這場討論是一個重要的開始,但是我們太急于尋求解決方案了,充分理解這個問題才是當務之急。重要的是,我們需要花點時間來分析問題。在問題內涵的分析上,“五問法”是最簡單有效的方法之一。
事不宜遲,先來看看第一問是什么。
第一問:為什么Geth開發團隊的壓力如此之大,甚至到了超負荷的地步?
通過etherscan,我們可以看到各個客戶端的裝機量所占份額的統計數據如下所示:
Geth:75%
Parity&OpenEthereum:20%
Nethermind:1%
剩下4%由一些市場份額不到1%的客戶端組成,因此忽略不計。
重要的是,有超過51%的算力都集中在Geth客戶端上。假設在即將到來的柏林硬分叉中,Geth在實現其中一個EIP時出現了bug。即使這個客戶端的其它實現都沒出bug,只要有區塊碰上了這個bug,就會導致以太坊網絡分叉。按理來說,這個區塊是無效的,其他客戶端也會將其視為無效塊。但是,有超過51%的挖礦節點都運行的Geth客戶端,因此整個網絡都會被帶到錯誤的分叉鏈上去。
BMEX行情觀點:可在較大級別頂部結構出現之前 繼續尋找小低點波段做多:BMEX合約研究院Pony楊表示:周六比特幣再次刷新新高,最高位已經超過61800,目前頂部跡象依然是日線級別鈍化,其他周期已經被這次上漲打破,后續可能還會繼續出現,當下的行情,做空還是盡量以右側,結構形成為操作信號,做空的左側交易需要配合非常嚴格的風控,以及一定的資產回撤預期。就目前而言,依然建議保守的投資者觀望,激進者可以在較大級別沒出現頂部之前繼續尋找小低點波段做多,行情的風險在日線級別鈍化消失之前,不會解除,現在已經不是大膽做多追求利潤的階段了,做多需要非常小心。[2021/3/15 18:45:03]
這就要求Geth客戶端和開發團隊絕對不能犯錯。
因此,第一問的答案是:
因為以太坊網絡的客戶端缺乏足夠的多樣性。
值得一提的是,客戶端多樣化不會突然將客戶端開發變成一項輕松的工作。但客戶端多樣性本身依然是一個值得探索的領域,有助于我們找到提高客戶端開發的效益,同時減輕開發團隊負擔的方法。不可否認的一點是,只在Geth團隊上下功夫不太可能解決這個問題。
觀點:比特幣與其他資產的長期相關性可能繼續較低:富達數字資產(Fidelity Digital Assets)最近的一份報告總結稱,基于過去五年的數據,比特幣(BTC)與主流金融資產的價格相關性很小。在2020年的過程中,比特幣進一步被主流金融所采用,這可能會影響資產的相關性。該機構研究總監Ria Bhutoria稱:“比特幣在較短的時間內,尤其是在不確定性和動蕩時期,甚至到2020年之前,與其他資產的正相關性更高。”Ria Bhutoria表示,比特幣和其他資產之間相關性的增強是短期流動性危機的結果,影響了許多資產類別。她說:“鑒于比特幣與其他資產類別的風險和回報因素不同,以及它的動態使用案例和敘述,比特幣與其他資產的長期相關性可能繼續較低。”(Cointelegraph)[2020/10/25]
第二問:為什么以太坊網絡缺乏客戶端多樣性?
以太坊主網上線時,我們有多個客戶端。其中最主要的兩個是Geth和CPPEthereum。之后又出現了Parity,CPPEthereum被淘汰。
觀點:比特幣價格或先回落至1萬美元,然后再反彈至2020年新高:加密衍生品交易所ZUBR研究發現,比特幣價格的波動通常伴隨著相反方向上的近乎對稱的波動,從而在正面和負面都創造了機會。通常這種鏡像效應會在同一交易日內發生的,也可以在更長的時間內發生。這意味著在短期內,比特幣最近的反彈高點12000美元會對應回落至10000美元的水平,然后再開始反彈至2020年新高。許多其他因素也表明這種回調的可能性。(Cointelegraph)[2020/8/3]
從那時起,除了Parity之外,沒有一個客戶端能獲得較大的市場份額。去年,Nethermind異軍突起,成為了一顆冉冉上升的新星,但是目前只占據了1%的市場份額。最近,由于Parity遭遇了一些波折,前途一片黯淡,Parity的市場份額大幅下降。我們認為,在理想情況下,以太坊網絡需要有3個及以上的客戶端、每個客戶端占有的客戶端份額都不至于太高、沒有任何一個客戶端能占據遠遠超過51%市場份額。雖然在理想情況下應該實現客戶端多元化,但是我們已經習慣了客戶端霸權的局面。
觀點:受疫情影響私人投資者減少,中東歐的初創企業開始轉向公共資金:斯洛伐克區塊鏈初創公司Alftins的私人支持者因新冠疫情在3月退出融資交易時,它還有其他選擇——公共資助的風險投資公司Crowdberry。Crowdberry設法在第二輪談判中獲得更好的條款,Alftins得到所需的資金。Alftins創始人Richard Fetyko稱,這是阻力最小的途徑,Crowdberry是非常好的戰略合作伙伴。Alftins正在開發數字資產在線交易平臺。
該事件突顯出,隨著私人投資者從該地區的初創企業領域撤退,一些公共支持的風險投資公司正加緊努力,將種子資金流向波蘭、捷克、斯洛伐克和匈牙利等國家的初創企業。Crowdberry合伙人Michal Nespor稱,許多新興公司將別無選擇,只能動用這些資金,因為私人資金將因疫情而非常謹慎。
在疫情爆發前,中東歐許多初創企業更青睞私人投資者,他們通常會提供更好估值,并與硅谷等地的全球投資者建立聯系,以便日后進行更大規模融資。但隨著私人種子資金枯竭,他們越來越多轉向公共資助,因為希望跟隨波蘭在線市場Allegro、羅馬尼亞軟件公司UiPath和富時100成員Avast的腳步,打造下一個獨角獸。(路透社)[2020/7/31]
那么,我們為什么需要多個客戶端?
觀點:灰度比特幣信托溢價跌至低位或是BTC觸底信號:一位交易商指出,由于GBTC不能直接為比特幣贖回,因此該信托的股份與支持該信托的代幣價值之間存在溢價。圖表顯示,每當溢價很低時,BTC似乎都會觸底,上一次如此低的溢價是在2018年12月,當時比特幣最低價為3200美元。在隨后的六個月中,該加密貨幣上漲了300%。
此前崩盤期間,這一溢價也曾大幅下跌至3700美元,不過跌幅沒有現在那么大。(NewsBtc)[2020/7/2]
從我個人的經驗角度來看,構建以太坊客戶端難比登天。Geth之所以能在以太坊網絡上穩定運行,是因為它引入了很多復雜的優化。Geth團隊花費了數年時間才達到了如此高的復雜度,目前仍在繼續優化中。
有人可能會立即建議我們想辦法為落后的客戶端提供支持和幫助。我很警惕這種“人月神話”式的解決方案——在軟件開發過程中,讓更多工程師來解決一個難題很少會成功,而且我不指望這種方案會取得成功。
相反,我認為應該將關注點放在復雜性上。
注:人月神話,mythicalman-month,指出以大量人員和較短的時間,并不能縮短軟件的開發進度。一窩蜂的作業方式無助于軟件生產,且會制造麻煩,產生出更差的軟件。向進度落后的項目追加人力,只會使進度更加落后。
第三問:為什么構建以太坊客戶端會這么難?
現在,我們正越來越接近問題的根源。
事實證明,大部分困難都來自于組網協議,即以太坊客戶端軟件用于相互連接并分享區塊鏈信息的那一組工具。以太坊的組網規則,最終影響甚至決定了以太坊客戶端的設計和要求。
一些組網工具指定了未經優化的架構,甚至要求以太坊客戶端運行不必要的功能。客戶端開發者需要在這些限制下工作。
第四問:為什么網絡互聯協議提高了客戶端實現的難度?
我相信,這個問題的答案基本上可以分為兩個部分。
狀態管理
整體網絡互聯要求
就狀態管理而言,以太坊客戶端必需能夠同步網絡上的完整狀態,并維護該狀態的本地副本。這兩點都很難做到。對客戶端以及讀取并處理狀態要求的服務器來說,同步狀態需要提出數百萬個請求,并且會導致磁盤I/O飽和。新同步的狀態需要經過維護和刪減,以便數據庫能足夠快地執行新區塊。從工程上來說,這是一項嚴峻挑戰!
GetNodeData是我們用來同步狀態的唯一網絡互聯工具,針對特定的狀態數據庫格式進行了優化。由?TurboGeth?推廣的“扁平式”數據庫布局在狀態維護方面具有極大的性能優勢,但是使用這種布局會加大?GetNodeData?請求的處理難度。
一旦我們將注意力轉向網絡技術,尤其是DevP2P?ETH?協議,我們會發現還有其他因素提高了客戶端的復雜性。要想加入這個網絡,客戶端需要具備以下能力:
處理訪問最近區塊所生成的狀態的?GetNodeData?請求;
處理訪問鏈上數據歷史記錄的請求,包括區塊頭、區塊體和收據。
從根本上來說,對于許多客戶端操作而言,處理這些請求所需的基礎數據不是必需的,但是現在卻強制它們支持這些功能。這就需要所有客戶端在除了滿足自己本身的需求之外,還要另外構建大量功能。例如,主要作為交易發送網關的客戶端并不需要歷史鏈上數據,可能只需要一個很小的狀態子集。但是,就當前的以太坊版本而言,客戶端依然需要保存完整的副本。
第五問:為什么……
看來我只問了四個“為什么”就找到了根本原因。以太坊協議還沒有完全成熟。在設計以太坊協議時,我們并沒有意識到現如今發現的大多數問題,或者因為當時狀態規模較小、發展歷史較短,這些問題還不成問題。
解決方案
過去一整年,我都在關注這個問題。令我震驚的是,以太坊上許多問題的根源其實都可以追溯到網絡層。
或許最明顯的例子是,磁盤I/O歷來都是客戶端的一個瓶頸。這個瓶頸之所以存在,是因為客戶端傾向于使用樹結構的樸素表示來執行其狀態數據庫。狀態數據庫的構建方式由?GetNodeData?網絡元件決定。
為了解決這個問題,我們需要對以太坊共識層以及網絡層的各個部分進行檢修。目前,檢修工作已經啟動。大量工作已經在Alexey和我共同領導了8個月的“無狀態以太坊”名義下開展。我們所做的一些工作至少減輕了Geth團隊的負擔,因為他們用上自己開發了經年之久的SNAP同步協議。還有一部分工作需要深入理解這個問題并想到可行方案的才俊來承擔。
目前,這樣一個龐大的DevP2P?ETH?協議尚未完全解構。我們對于如何將這個網絡拆分成三個獨立的專用網絡有了基礎了解,但是目前還沒有人直接著手這塊。
另外,還有像?re-genesis?之類的想法,提供了完全回避這些問題的機制。這是一種激進的方法,如果能成功的話,或將為我們帶來很大的優勢。
首先,我們應該清楚的是,以太坊網絡還有許多艱巨的任務需要完成,只有少數人能夠勝任這些任務。雖然每天都有越來越多的開發者參與進來,但是他們需要投入時間和精力來學習必備技能。客戶端開發者在專注于解決日常用戶看不到的底層問題時,還要抽出時間來開發新的EVM功能。
如果我們希望以太坊網絡能夠取得長遠的成功,我認為整個社區都要就解決這些問題展開合作,給予其根本原因足夠的關注和討論。最重要的是,我們要攜手打造出有效的技術解決方案。
原文鏈接:?https://snakecharmers.ethereum.org/applying-the-five-whys-to-the-client-diversity-problem/作者:?PiperMerriam翻譯&校對:?閔敏&阿劍
Tags:ETH以太坊GET比特幣Compound Ether比特幣以太坊最新價格行情BITGET這個是什么平臺比特幣發行量多少
2020年7月17日,鈦媒體集團、鏈得得、六脈數字科技共同主辦的T-EDGE-X全球金融科技論壇在北京市大興區舉辦.
1900/1/1 0:00:00近期,中國證監會同意北京、上海等5家區域性股權市場參與區塊鏈建設試點工作。據悉,北京股權交易中心曾聯合其他單位共同推出區域性股權市場中介機構征信鏈,著力建設標準統一、無法篡改的中介機構執業信息共.
1900/1/1 0:00:00作者:OKEx內容策劃組?焦國鋒、胡雅璐 行情概覽 根據CoinGecko數據,截至2020年7月17日11時,加密貨幣市場總市值2748億美元,總市值7日跌幅2.3%.
1900/1/1 0:00:00在近來大熱吸睛的DeFi版塊中,預言機項目Chainlink的代幣Link無疑是最耀眼的主角——一個月內漲幅高達250%,6號以來日線更是幾乎走出了90°的步伐.
1900/1/1 0:00:00導讀 北京時間7月16日,眾多知名人士Twitter賬號被黑,提升了區塊鏈關注度,有望推動區塊鏈應用。 摘要 專題:推特安全事件提升區塊鏈關注度,有望推動區塊鏈應用.
1900/1/1 0:00:00作者:金色財經??TaylorW近日,三部門聯合發布九大新職業引發熱議,其中有兩個職業均與近年來大熱的區塊鏈有關,分別為“區塊鏈工程技術人員”和“區塊鏈應用操作員”.
1900/1/1 0:00:00