Built off of #6654, this implements an exponential rising effective min relay feerate. This version implements 50 bands of 10% increase which is slightly over 100x at the top end. Thus 100x the configured min relay rate must be more than enough to dissuade spam.
Simple mempool protect #6673
pull morcos wants to merge 5 commits into bitcoin:master from morcos:simpleMempoolProtect changing 11 files +1022 −75-
morcos commented at 7:54 PM on September 14, 2015: member
-
bb93e2cb5d
TxMemPool: Change mapTx to a boost::multi_index_container
Indexes on: - Tx Hash - Fee Rate (fee-per-kb)
-
5b6c1c25a5
Track transaction packages in CTxMemPoolEntry
Associate with each CTxMemPoolEntry all the size/fees of descendant mempool transactions. Sort mempool by max(feerate of entry, feerate of descendants). Update statistics on-the-fly as transactions enter or leave the mempool. Also add ancestor and descendant limiting, so that transactions can be rejected if the number or size of unconfirmed ancestors exceeds a target, or if adding a transaction would cause some other mempool entry to have too many (or too large) a set of unconfirmed in- mempool descendants.
-
Add documentation for mempool package tracking d6401c1547
-
Implement GuessDynamicMemoryUsage 990143dfd6
-
jonasschnelli commented at 10:08 PM on September 14, 2015: contributor
Seems to work (bitcoind master with -maxmempool=1):
Green line (dynamic mem usage) keeps under 1MB: <img width="1093" alt="bildschirmfoto 2015-09-14 um 18 05 58" src="https://cloud.githubusercontent.com/assets/178464/9863118/54af99b0-5b0b-11e5-9534-541d3c7d80ad.png"> <img width="1129" alt="bildschirmfoto 2015-09-14 um 18 06 09" src="https://cloud.githubusercontent.com/assets/178464/9863119/54e0d49e-5b0b-11e5-8910-028b812e6f88.png">
-
dcousens commented at 10:44 PM on September 14, 2015: contributor
concept ACK, a lot of code though
-
jonasschnelli commented at 4:37 PM on September 15, 2015: contributor
Somehow I can't see the new log messages "insufficient fee for mempool size" or "mempool full hard cap" in my debug.log. Maybe its worth analyzing why.. it looks like that the transactions get always rejected because of
mapOrphan overflow, removed 1 tx. -
495dd9be35
Exponentially increasing minimum relay fee rate.
Introduce a maximum mempool size and a mininmum relay fee rate multiplier that increases by 10% for every 2% of the maximimum mempool size. Free transactions are disallowed after the first 2% band.
- morcos force-pushed on Sep 15, 2015
- laanwj added the label Mempool on Sep 23, 2015
- morcos closed this on Oct 8, 2015
- MarcoFalke locked this on Sep 8, 2021
Contributors
Labels