mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-13 12:33:42 +02:00
Let's say an attacker wants to use/exhaust the network's bandwidth, and has the choice between renting resources from a commercial provider and getting the network to "spam" itself it by sending unconfirmed transactions. We'd like the latter to be more expensive than the former. The bandwidth for relaying a transaction across the network is roughly its serialized size (plus relay overhead) x number of nodes. A 1000vB transaction is 1000-4000B serialized. With 100k nodes, that's 0.1-0.4GB If the going rate for commercial services is 10c/GB, that's like 1-4c per kvB of transaction data, so a 1000vB transaction should pay at least $0.04. At a price of 120k USD/BTC, 100sat is about $0.12. This price allows us to tolerate a large decrease in the conversion rate or increase in the number of nodes. Github-Pull: #33106 Rebased-From: 6da5de58cabc4133c379baa50845e30e5bc6b3e4 |
||
|---|---|---|
| .. | ||
| crypto | ||
| __init__.py | ||
| address.py | ||
| authproxy.py | ||
| bdb.py | ||
| bip340_test_vectors.csv | ||
| blockfilter.py | ||
| blocktools.py | ||
| coverage.py | ||
| descriptors.py | ||
| key.py | ||
| mempool_util.py | ||
| messages.py | ||
| netutil.py | ||
| p2p.py | ||
| psbt.py | ||
| script.py | ||
| script_util.py | ||
| segwit_addr.py | ||
| socks5.py | ||
| test_framework.py | ||
| test_node.py | ||
| test_shell.py | ||
| util.py | ||
| v2_p2p.py | ||
| wallet.py | ||
| wallet_util.py | ||