search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

最新發布的Core版本可以大幅度提升p2p層的速度

暴走時評:雖然中本聰留下了一個完整的代碼庫,但是Bitcoin Core背後卻存在著許多問題,因此推出了最新版本的Core,可以極大的提升速度性能。這是首次對p2p代碼進行大規模改革,使得速度至少得到兩倍提升。

翻譯:Nicole

「中本聰給我們留下了一個完整的代碼庫。」

比特幣開發者Cory Fields如是說,儘管他總是讚揚其創新力,但是Bitcoin Core的背後則是一團亂麻。

這是一個Field和其他開發者至少從2015年就開始努力解決的問題,當時他提出移動一段p2p層代碼的計劃。

開發人員經常遇到的問題是組件並不是完全分離的。因此,如果開發者改變某些組件,那麼只會影響比特幣一部分,以及其功能。Fields說,並且有可能是在無形中影響了另一個組件,比如,驗證、內存池、錢包或p2p。一方面,這給新比特幣貢獻者摸清門道增加了困難。

因此,在諸如Fields和libconsensus(允許替代實施和比特幣網路保持共識的進行中的項目)的項目中,其目標是將代碼分離成不同的塊,從而讓開發者更好的明白這些碎塊如何組合才能達到最佳效果。

Fields研究的工作,由MIT的數字貨幣倡議資助,一直致力於擺脫p2p的代碼庫。

他的大多數研究成果都會在Bitcoin Core最新軟體版本中首次亮相。

Fields對CoinDesk說:

「據我所知,這是首次對p2p代碼進行大規模改革。」

他提到,但是,隨著時間的推移,許多開發者,如Jonas Schnelli和Matt Corallo,都對p2p層做出了貢獻,而且重要的是,許多開發者都會介入審查和測試更改。

p2p層主要處理網路上成千上萬個(也許會多於50000,但是具體數字很難統計)節點之間的連接,這些節點之間經常彼此「對話」,當用戶發送比特幣或礦工創建新區塊時傳遞相關信息。

發現漏洞

有一個棘手的問題是比特幣網路價值約為190億美元,意味著對其底層代碼做出改變必須非常謹慎小心。

由於這一原因以及其他原因,重建並不是一件簡單的事。就連對Bitcoin Core最活躍的貢獻者之一Fields也是如此(他說,我幾乎將我醒著的所有時間都花在研究比特幣上)。

首先,他試圖從一個單獨的層開始。然而這項舉措卻「失敗慘重」。

接著,他努力改善當前的代碼庫,並且效果比預期的還好,發現了「中本聰時代」的漏洞。

Fields說:

「在我將東西分解的時候,我發現在首次區塊下載中,在使用Core的寬頻時發生了一些奇怪的事情。」

那個問題就是,當節點從另一個節點下載區塊時,區塊傳輸速度時快時慢,並且這種速率已經出人意料。

深入剖析,他和其他開發者發現,節點將拒絕同時發送數據和處理數據(雖然這種說法過於片面)。節點將一次處理一個流程。

速度修復

在最近Bitcoin Core代碼發布的首次亮相中,該團隊完成了速度的修復,改變了節點之間傳輸信息的速度。

Fields說:

「特別是p2p層的速度得到了很大的提升。」

他進行了一些測試,比較了最近的比特幣版本(0.13.2)和最新改進版本(0.14.0),研究了用兩個CPU和4GB RAM實例配置到亞馬遜EC2 雲上的節點。

試驗表明,在比較了兩個v0.13.2節點和兩個v0.14.0節點發送數據的性能之後,速度至少得到雙倍提升。

Fields表示,這裡需要說明的是,在現實網路中,性能提升可能會少於兩倍。

持久利益

現在,p2p層大多都是和其它層相分離的。

值得一提的是,除了以上提到的性能改進,大多數改變用戶都不會注意到,但是對開發者來說卻是一種福音。

也就是說,他們希望能有長遠影響。

Fields說:

「我希望這可以讓p2p速度得到更快提升。」

例如,如果Fields沒有成功分離代碼,就很難對最新Core版本做出改變。

他說:

「在0.14版本推出后,這是一個相對簡單的改變,之前要比這複雜的多。」



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦