Bitcoin-Core

孤立或陳舊的塊在比特幣核心節點記憶體中保留多長時間?

  • July 17, 2019

如果有一個鏈重組,例如:

區塊鏈:

0a1a2a3a

變成……

0a1a2b3b

塊在節點上的記憶體中保存2b多長時間?3b

2b如果我稍後向節點查詢塊( getblock(2aBlockHash, VERBOSITY_LEVEL = 2)),它還會返回給我嗎?

謝謝!

您指的是陳舊的塊。孤立塊是前一個(父)雜湊欄位指向未知塊或本地節點尚未處理的塊的塊。由於比特幣核心遵循標頭優先方法,因此在下載區塊數據之前首先下載並驗證區塊標頭。因此,完整節點將永遠不會收到它不知道其父節點的塊。因此,使用目前的標頭優先方法,您的比特幣核心節點不會下載孤立塊。

現在,來到陳舊的街區。所有塊都儲存在磁碟中的blocks/blk*.dat文件中。您從對等方收到的塊數據(如果有效)將永久儲存在該目錄中。但是,為了接收陳舊的塊,您需要在您的對等方從不同的鏈視圖向您廣播塊時線上。對等點只會從他們的角度廣播他們從目前活動鏈中查看的那些塊。因此,使用該命令,您將只能檢索線上時收到的陳舊塊。

您可以使用該bitcoin-cli getchaintips命令返回有關塊樹中所有已知提示的資訊,包括主鏈以及其他分支。

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