3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
暴走時評:雖然中本聰留下了一個完整的代碼庫,但是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提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦