Bitcoin-Core
全節點如何獲取陳舊塊的資訊?
在比特幣中,當多個礦工同時探勘區塊時會發生許多分叉。那麼在相同的塊高度會有多個塊。我正在查看https://developer.bitcoin.org/devguide/p2p_network.html上的比特幣 P2P 開發人員指南
對於傳播塊,中繼向其對等方發送“inv”消息。對等方使用“getheaders”請求標頭資訊,中繼使用“標頭”消息響應。然後,對等點使用“getdata”請求塊資訊,中繼用“塊”消息響應。
在這種情況下,如何確保對等點在相同的塊高度獲得多個塊?中繼可以故意為同一塊高度上的一個塊傳播“inv”和“headers”消息。
同行怎麼可能知道發生了分叉?獲取有關分叉的資訊是中繼還是對等方的責任?
一個安全假設是節點連接到至少一個誠實的對等點。如果他們所有的同伴都是惡意的,那麼他們完全可行地向受害者隱瞞有關某些區塊或交易的資訊。如果您想了解更多關於這種類型的攻擊或針對它們的緩解措施,請查看 eclipse 攻擊。