Bitcoin-Core
初始塊下載在 P2P 層如何工作?
IBD 時的簡單 DOS 攻擊可能如下:
- 新客戶端目前正在下載塊 100。
- 然後提供 10 個高度為 101 的區塊,每個區塊都聲稱它們是最重的鏈
- 10 個替代方案中有 9 個使用假 PoW,但客戶仍然會浪費時間獲取整個區塊並驗證他們的 PoW。
目前比特幣核心中 P2P 協議的實現如何處理這種 DoS 攻擊?
比特幣核心首先同步標頭,因此它首先下載標頭並在下載塊之前對其進行部分驗證。因此,如果惡意節點發送帶有無效 PoW 的標頭,同步節點將與其斷開連接,並從另一個節點同步標頭。如果它接收到相同塊高度的多個標頭,則該節點將被視為行為不端並停止從中同步標頭。