Bitcoin-Core

與 bitcoin-qt 同步非常慢 (0,01%)

  • August 23, 2020

我的問題是我的節點的同步非常慢。我落後了 14 週,估計需要 12 週才能同步。每小時的同步率僅為 0.01%。我有一個快速的寬頻連接,這台電腦沒有其他問題。它應該能夠在幾個小時內下載整個區塊鏈。但是,平均傳輸速率約為 0.5 KB/s。知道問題可能是什麼嗎?我正在執行 v0.14.2,傳出連接數為 3。我已經將記憶體記憶體更改為 800 MB,但這並沒有改變任何內容。

比特幣核心同步非常慢

比特幣核心能夠在相對較短的時間內完全同步,主要取決於硬體。

完成的大部分工作實際上並不是下載塊,而是驗證它們以及它們包含的每筆交易。它不僅取決於下載塊,還取決於每筆交易的數量和復雜性。如果您連接(出站)到多個節點,則塊本身的下載通常不是問題。當我離線並趕上我受限的本地 256Kbps 連結時,我通常能夠在 45 秒內下載塊(包括請求時間等和驗證以及傳輸)。我的上傳速度低,延遲高。以每四十五秒一個區塊的速度,目前完成整個區塊鏈需要超過 263 天,因為截至本文撰寫時有超過 506822 個區塊。

根據我的個人經驗,在執行 Fedora 和 Bitcoin Core v0.15.1 的 4GB RAM 的 2.5GHz Core i5 筆記型電腦上完成初始同步實際上需要 5 天多的時間。為此,我使用了 ADSL2+ 並且從未意識到實際下載塊是問題所在。

初始同步的性能

如果您的網際網路良好,初始同步的性能很大程度上取決於您電腦的個人性能。

始終使用從官方網站www.bitcoin.org下載的最新版本的 Bitcoin Core(包括 bitcoin-qt 和 bitcoind)。wallet.dat升級既安全又簡單,只需先安全退出比特幣核心並在升級前對您的設備進行新的安全備份。

調整參數

根據您的系統,您可以查看和考慮一些參數。在進行任何更改之前,請務必備份您的錢包。這些參數可以在命令行中輸入,也可以通常在您的bitcoin.conf文件中輸入,在這種情況下,您需要退出並重新啟動 Bitcoin Core 才能看到效果。一些需要考慮的事情可能會有所作為:

我在這裡假設您正在執行 bitcoin-qt,它是 GUI 版本,而不是 bitcoind。

如果bitcoin.conf文件中使用了參數,則省略前導-.

  • -datadir=您可以將數據目錄放在快速驅動器上。如果您移動整個 .bitcoin 文件夾,則需要在命令行上指定此參數。請注意,如果您更改 datadir 並且不首先將 .bitcoin 文件夾複製到新位置,它將創建一個新錢包並從頭開始再次下載區塊鏈。
  • -dbcache=預設值為 450。如果您有 8GB 的​​ RAM,您可以輕鬆地將其設置為 4096
  • par=此設置的預設值為自動,但我不知道自動設置的作用。您可以嘗試將其設置為 -1,這樣可以釋放一個核心。
  • -banscore=您可以嘗試將其設置為 10 以更快地啟動行為不端的節點。
  • -listen=您可以暫時將其設置為 0 以在完成初始同步時禁用傳入連接。您的繁忙節點不需要額外的工作。

初始同步後,您可以將這些設置恢復為預設值,但可能會將您的數據目錄留在您放置的任何位置。

其中一些參數可作為 bitcoin-qt 設置 > 選項菜單中的選項使用。

**TLDR;**如果您想要快速,簡短的回答是,獲得一台快速的電腦、大量的 RAM、快速的硬碟和快速的網際網路。就像您想要在電腦上快速獲得任何東西一樣。

在現實世界中,根據個人經驗,在我的範例係統上,使用 SSD 的同步速度比上述性能提高了 10 倍以上。

軼事

不同系統性能的真實範例:我個人認識一個必須處理一個相當大但不是特別大的 Illustrator 文件的人。他在他大約 12 個月大的高規格 Mac 上打開它,它通常性能很好,但幾乎無法使用(響應緩慢)。只是為了好玩,他認為他會在沼澤標準 PC 上嘗試相同的文件,在 Illustrator 中打開它,這是完全正常的。一些硬體/軟體建構對某些流程存在瓶頸。對於某些操作,相反的結果可能是正確的。

另請注意,我觀察到在初始同步期間退出並重新啟動比特幣核心似乎會在它再次連接到節點後加速一段時間。

再次參考個人經驗,在 Windows 10 64 位上同步似乎比在相同硬體上的 Linux 上同步要快幾個數量級——即使 Windows 在 Gnome-Boxes 中執行,它在初始階段也很容易達到每秒 100 個塊的速度的下載。

備擇方案

如果您在等待同步比特幣核心(全節點客戶端)時遇到嚴重問題,並且您不需要比特幣核心提供的其他功能,您可以考慮嘗試不需要執行的Electrum (不是全節點客戶端)初始同步。在 Fedora 27 上,獲取 Electrum 就像sudo dnf install electrum.

引用自:https://bitcoin.stackexchange.com/questions/58369