<p>Nodes don’t compete. It is in the interest of node operators to spread the current state of the blockchain to help that all participants converge on a shared state. For many node operators, their bandwidth allowance exceeds the demand they encounter, so sharing the blockchain is basically free to them. You could absolutely request the entire blockchain from one peer over and over again. If this attack were to spread, people would probably limit the amount of bandwidth they permit to be used for uploading by setting the startup option <code>maxuploadtarget</code>.</p>

CC BY-SA 4.0
2024-12-20T16:17:28.287Z
2024-12-20T16:17:28.287Z
Murch
<p>I'm certain this has an obvious answer, but I haven't been able to find it -
Since it doesn't cost a transaction fee to request block data from another node, what stops an attacker from (D)DoSing a node with spurious GetBlocks?</p>
<p>Relatedly: why would a node bother to spend its bandwidth fulfilling GetBlocks requests when it would help a competing node?</p>

<synchronization><attack><bandwidth><getblock>
Denial of Service during Initial Block Download
Spencer Fleming
# Denial of Service during Initial Block Download

(Asked by: username_0 on 2024-12-16)

I'm certain this has an obvious answer, but I haven't been able to find it -
Since it doesn't cost a transaction fee to request block data from another node, what stops an attacker from (D)DoSing a node with spurious GetBlocks?

Relatedly: why would a node bother to spend its bandwidth fulfilling GetBlocks requests when it would help a competing node?

**Tags:** synchronization, attack, bandwidth, getblock


---

## 1 answers

### Answer by username_1 on 2024-12-20. Score: 2 | Accepted answer

Nodes don’t compete. It is in the interest of node operators to spread the current state of the blockchain to help that all participants converge on a shared state. For many node operators, their bandwidth allowance exceeds the demand they encounter, so sharing the blockchain is basically free to them. You could absolutely request the entire blockchain from one peer over and over again. If this attack were to spread, people would probably limit the amount of bandwidth they permit to be used for uploading by setting the startup option `maxuploadtarget`.


---

