Simple mempool protect #6673

pull morcos wants to merge 5 commits into bitcoin:master from morcos:simpleMempoolProtect changing 11 files +1022 −75
  1. morcos commented at 7:54 pm on September 14, 2015: member
    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.
  2. TxMemPool: Change mapTx to a boost::multi_index_container
    Indexes on:
    - Tx Hash
    - Fee Rate (fee-per-kb)
    bb93e2cb5d
  3. 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.
    5b6c1c25a5
  4. Add documentation for mempool package tracking d6401c1547
  5. Implement GuessDynamicMemoryUsage 990143dfd6
  6. 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:

  7. dcousens commented at 10:44 pm on September 14, 2015: contributor
    concept ACK, a lot of code though
  8. 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.
  9. 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.
    495dd9be35
  10. morcos force-pushed on Sep 15, 2015
  11. laanwj added the label Mempool on Sep 23, 2015
  12. morcos commented at 8:28 pm on October 8, 2015: member
    Closing in favor of #6722
  13. morcos closed this on Oct 8, 2015

  14. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-17 09:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me