LOADING...
LOADING...
LOADING...
當前位置: 玩幣族首頁 > 區塊鏈資訊 > BTC軟件版本7年變遷 最大的變化在哪兒

BTC軟件版本7年變遷 最大的變化在哪兒

2019-12-06 老李說幣圈 來源:區塊鏈網絡

研究團隊進行了35次初始區塊下載,將初始區塊下載時間作為一個基準測試的指標,以此來測試Bitcoin Core的性能。測試中使用了2012年至2019年的Bitcoin軟件版本。

這段測試中,我們使用了2012年至2019年期間的Bitcoin軟件版本,結果表明,該軟件在性能上有了相當大的進步,但也存在很大的差異。即使使用了最新的電腦硬件,老版本的Bitcoin也難以克服2015年至2016年期間交易量上升的障礙。因此,我們得出結論,如果沒有增強軟件性能,今天的快速初始同步幾乎是不可能的。

圖1-比特幣初始區塊下載時間(天)-3次嘗試的平均時間

BTC軟件版本7年變遷,最大的變化在哪兒?

綜述

為了測試Bitcoin Core在初始同步過程中的性能,我們嘗試了35次初始區塊下載,并記錄了每次嘗試所花費的時間。結果如圖1所示,說明在2016年2月推出Bitcoin Core 0.12.0時,由于簽名驗證從OpenSSL升級到libsecp256k1,比特幣的速度有了明顯的提升。

Libsecp256k1是專門為比特幣構建的。此后,速度上的改進步伐慢了許多,由于初始區塊下載時間的差異很大,只有多次嘗試下載才能看出明顯的改進。但發布Bitcoin Core 0.12.0版之后,相繼發布0.13.0到0.19.0.1版本,每個Bitcoin Core版本的性能都有一個小的逐步提升。

當然,初始區塊下載時間只是一個衡量標準,還可以從其他角度和條件來評估Bitcoin Core的性能。雖然初始區塊下載時間(IBD)不是衡量軟件性能的最佳指標,但它占用了大量資源,因此是一個成為基準測試的良好指標。

本報告延續了之前的兩個實驗:

· 2018年11月,Jameson Lopp嘗試了一次類似的研究,但分析的重點是舊版本Bitcoin Core的獨立實現(或簡稱“Bitcoin”,因為一些較老的軟件在“Bitcoin Core”之前命名為Bitcoin)。

· Sjors Provoost也在2017年7月嘗試了這項實驗,但Sjors的同步次數較少。

完整的測試結果和原始數據如下

圖2-比特幣初始區塊下載時間(天)

BTC軟件版本7年變遷,最大的變化在哪兒?

(來源:BitMEX研究)

(注:區塊高度同步到602,707)

系統規范和其他說明

BTC軟件版本7年變遷,最大的變化在哪兒?

完整的結果表格

BTC軟件版本7年變遷,最大的變化在哪兒?

(來源:BitMEX研究)

結果分析

如圖2所示,即使用相同的軟件和具有相同規范的計算機嘗試初始區塊下載,所報告的時間也有相當大的差異。

圖3- 初始區塊下載時間與客戶端發布日期(天)- 3次嘗試的平均時間

BTC軟件版本7年變遷,最大的變化在哪兒?

(來源:BitMEX研究)

(注:針對比特幣0.8.6客戶端,以上數據來自2次嘗試的平均結果)

圖3表明,除了Bitcoin Core 0.12.0具備強大的性能沒有改變外,其他軟件的性能隨著發布而逐步提高。然而,雖然圖3中呈現明顯的性能提升趨勢,但每次嘗試的初始區塊下載時間有巨大差異,可能表明性能提升存在相當大的不確定性。關于自2016年來性能不斷提升的結論,需要更多的樣本數據來坐實。這種差異可能是由于比特幣P2P網絡或互聯網的連接問題。因此進一步研究的最好方法可能是,重新掃描速度,即一旦下載完,完整地驗證區塊鏈所需的時間。

Bitcoin Core 0.12.0在上述分析中表現良好。可能是因為,Bitcoin Core 0.12.0啟用了libsecp256k,但沒有驗證隔離見證人的交易輸入簽名。因此,Bitcoin Core 0.12.0并沒有驗證2017年8月后區塊鏈的所有簽名,這賦予了它某種“不公平的優勢”。

然而,Bitcoin Core 0.13.0也具備這種優勢。當然,在0.12.0之前的所有版本都具有同樣的“不公平”優勢,這與使用OpenSSL的缺點相比就相形見絀了。

同步客戶端至它的發布日期

圖4說明了同步一個客戶端到它發布日期的區塊高度所需的時間。

圖4-同步初始區塊下載到客戶端發布日期所需的時間(天)

BTC軟件版本7年變遷,最大的變化在哪兒?

(來源:BitMEX研究)

(注:在Linux上運行的節點數據。Bitcoin Core 0.19.0.1只同步區塊高度到602,707)

從圖中可以看出,從Bitcoin Core 0.8.6到Bitcoin Core 0.14.0的變化趨勢較為平緩,此時可擴展性沒有跟隨時間的推移和區塊高度的增長速度,但也呈現上升的趨勢。近年來軟件提升的速度降下來了,可能是那些容易實現的改進都實現了,剩下的是難以實現的改進。交易量增加可能也是原因之一。未來提高可擴展性可能更具挑戰性,即使維持400萬的區塊高度限制,進一步升級軟件和提升軟件性能,初始區塊下載的時間也會持續變長。

初始區塊下載失敗

我們成功編譯并運行了Bitcoin 0.8.6之前的版本,但到了2015年-2016年期間,節點同步速度變慢。0.8.6之前版本的節點,例如0.7.0的節點,通過手動更改鎖定限制,成功地在2013年完成硬分叉,但是2015年由于交易量增加,太具挑戰性,節點暫停處理區塊。我們重啟了節點,確實有所幫助,但不久節點又停止了。

后面我們甚至在自己的全新本地計算機(匹配64 GB的RAM和8個Intel i9處理器)上運行0.7.0版的Bitcoin Core,但這個節點依然無法跨過2016年。由于涉及的許多換算因數(scaling parameter)都是非線性參數,不能簡單地在這個問題上投入更多的硬件就能解決。

當節點被卡在一個區塊上我們會重新啟動,4次重啟失敗后我們放棄同步。對于MacBook Pro上的0.8.6 Bitcoin Core,領頭區塊在2016年時停止了同步。雖然有點令人失望,但剩下的35次嘗試都順利同步,沒有出現重啟的情況。

結論

除了在發布MacBook Pros的BitMEX研究報告時應該更加謹慎之外,數據還顯示過去7年來的擴容性能大大提升。libsecp256k遷移是最重要的改進。初始區塊下載時間的大幅減少和舊節點無法完全同步表明,可擴展性對于比特幣的重要性,否則即使用戶使用最高配置的硬件,Bitcoin現在也基本宣告死亡了。此外,數據還表明,技術創新不太可能同步于區塊鏈的增長速度,初始區塊下載的時間將繼續延長。

—-

編譯者/作者:老李說幣圈

玩幣族申明:我們將尊重作者/譯者/網站的版權,促進行業健康發展,如有錯誤或不完整之處請與我們聯系。

LOADING...
LOADING...
新快3