Skip to content

Conversation

@ptschip
Copy link
Contributor

@ptschip ptschip commented Oct 10, 2015

Auto adjusts -limitfreerelay and -minrelaytxfee up or down as the memory pool
grows or falls beyond one block in height.

A simple but effective way to block spammy transactions from getting accepted into the mempool and relayed, saving cpu, memory and valuable bandwidth.

The way it's configured now it reaches maximum choke at 10 times the maximum block size.

When the mempool begins to fall again, the values of -minrelaytxfee and -limitfreerelay slowly return to their starting values using a 24hr decay.

@morcos
Copy link
Contributor

morcos commented Oct 10, 2015

There are a few things I don't like about this implementation, such as starting the feeCutoff at 0 (instead of 1000 sat/kb). But I do think an approach like this would work to "solve" this problem in 0.10 and 0.11 backports. The problem with #6673 is there was no limit to how high the fee went, but if its capped at some value that is still potentially reasonable for a min relay fee (like in this pull), then it might be better than just changing a hard coded value.

@ptschip
Copy link
Contributor Author

ptschip commented Oct 10, 2015

Starting the feeCutoff at 0 is easily changed, (we can start it anywhere
) but it does rise quite quickly once the mempool is full. When you
compile and run use debug=mempool and the log entries show you how the
values change as the mempool increases or decreases.

On 10/10/2015 2:50 PM, Alex Morcos wrote:

There are a few things I don't like about this implementation, such as
starting the feeCutoff at 0 (instead of 1000 sat/kb). But I do think
an approach like this would work to "solve" this problem in 0.10 and
0.11 backports. The problem with #6673
#6673 is there was no limit
to how high the fee went, but if its capped at some value that is
still potentially reasonable for a min relay fee (like in this pull),
then it might be better than just changing a hard coded value.


Reply to this email directly or view it on GitHub
#6803 (comment).

@TheBlueMatt
Copy link
Contributor

I really prefer #6722 over this. It seems gratuitous to have a less-effecient implementation for mempool limiting unless we decide #6722 is overcomplicated or otherwise not mergedable.

@morcos
Copy link
Contributor

morcos commented Oct 14, 2015

Oh I meant in consideration for a backport not for master.

Sent from my iPhone

On Oct 14, 2015, at 6:04 AM, Matt Corallo [email protected] wrote:

I really prefer #6722 over this. It seems gratuitous to have a less-effecient implementation for mempool limiting unless we decide #6722 is overcomplicated or otherwise not mergedable.


Reply to this email directly or view it on GitHub.

@ptschip ptschip force-pushed the spamblock branch 4 times, most recently from 821d4db to c509c81 Compare October 15, 2015 10:02
@ptschip
Copy link
Contributor Author

ptschip commented Oct 15, 2015

Here's a plot of the last 12 hours showing the actual mempool size and cumulative blocked (spam) transactions over time (x axis in minutes, y axis in MiB).

mempool

@ptschip ptschip force-pushed the spamblock branch 10 times, most recently from 4202ea3 to 05acf0e Compare October 19, 2015 00:14
Auto adjusts -limitfreerelay and
-minrelaytxfee up or down as the
memory pool grows or falls
@gmaxwell
Copy link
Contributor

Closing this because I think it's been eclipsed by the mempool limiting thats merged and the related fixes around it in the pipeline. If I've made an error, feel free to yell at me. :)

@gmaxwell gmaxwell closed this Nov 22, 2015
@ptschip ptschip deleted the spamblock branch March 7, 2016 15:51
@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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants