Skip to content

Conversation

morcos
Copy link
Contributor

@morcos morcos commented Sep 14, 2015

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.

ashleyholman and others added 4 commits August 11, 2015 11:23
Indexes on:
- Tx Hash
- Fee Rate (fee-per-kb)
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.
@jonasschnelli
Copy link
Contributor

Seems to work (bitcoind master with -maxmempool=1):

Green line (dynamic mem usage) keeps under 1MB:
bildschirmfoto 2015-09-14 um 18 05 58
bildschirmfoto 2015-09-14 um 18 06 09

@dcousens
Copy link
Contributor

concept ACK, a lot of code though

@jonasschnelli
Copy link
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.

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
Copy link
Contributor Author

morcos commented Oct 8, 2015

Closing in favor of #6722

@morcos morcos closed this Oct 8, 2015
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants