Bitcoin-Core

初始同步後節點是否保持下載視窗?

  • July 21, 2021

我正在閱讀比特幣 P2P 指南。<https://developer.bitcoin.org/devguide/p2p_network.html>

它表示節點在初始同步期間保持 1024 個塊的下載視窗。但是,任何時候一個節點只能並行下載 128 個塊。

  1. 假設目前視窗從 Block 100 開始到 Block 1123。如果 Block 100 還沒有下載(可能是因為有故障的對等方),但是其餘的 1023 塊被下載了。發生什麼了?節點會等到它完成下載 Block 100 嗎?還是會從 Block 1124 開始並行下載?
  2. 初始同步完成後會發生什麼。節點是否仍保持下載視窗?

這是比特幣核心中使用的網路策略,可以在未來的版本中更改以響應網路觀察,並且並非在所有節點軟體中普遍實施。節點可以以不同的方式同步。在比特幣核心 0.10 版本發布之前,使用了完全不同的機制。

但要回答你的問題:

  1. 如果一個視窗中的所有塊都被下載,除了來自一個對等點的一些未完成的請求,並且這種情況持續一段時間(我相信幾秒鐘),那個對等點將被斷開連接。
  2. 是和不是。在 IBD 之後,啟用了一種附加機制:在某些條件下,會立即請求塊以響應傳入的公告。作為備份,例如當發生大型重組時,並行下載邏輯可能仍會觸發。

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