Network

最大的、實際的 P2P 消息有效負載大小是多少?

  • March 29, 2022

在 Bitcoin Core 中,MAX_SIZE將最大有效 P2P 消息有效負載大小定義為 32MB。對等點發送接近 32MB 的消息負載是否現實?最大但仍然現實的消息有效負載大小是多少?

由於 Bitcoin Core拉取請求 5843,大於 MAX_PROTOCOL_MESSAGE_LENGTH 的傳入消息被拒絕。該常數最初設置為 2 MiB,但後來(作為 segwit 更改的一部分)增加到 4 MB。

其目的是記憶體DoS保護。設法打開與受害者節點的許多連接的攻擊者可能會開始發送 32 MiB 的消息(所有序列化對象的 MAX_SIZE),但永遠不會發送最後一個字節。那些剛剛低於 32MiB 的消息需要在最後一個字節到達之前保存在記憶體中,然後再處理它們。限制最大有效消息大小可顯著降低此類攻擊的影響。

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