Skip to content

Conversation

@rebroad
Copy link
Contributor

@rebroad rebroad commented Apr 6, 2021

I'm not sure whether to label this WIP or not. It's a little experimental, and perhaps only needed on nodes with a small maxmempool (tested on 50MB).

It's attempting to address the issue #21558

Example in action:-
image

@JeremyRubin
Copy link
Contributor

interesting!

Can you comment the code a bit better I found it a bit confusing how it's working.

@rebroad
Copy link
Contributor Author

rebroad commented Apr 10, 2021

Upon further testing, this algo is broken as the minfee should never go up unless it's during the process of deleting TXs from the mempool - if it goes up in any other event, then this creates a band of missing TXs due to my addition of not reducing the minfee until mempool utilization goes below 90% (or 80%) - it just pads the mempool with low Sat/B TXs which never get used.

So, the algo needs to change to either remove the condition (of utilization) before reducing the minfee, OR not raising the minfee unless the mempool is actually full.

@rebroad rebroad changed the title Reduce MinRelayFee slower when Mempool utilised and faster when not. WIP: Reduce MinRelayFee slower when Mempool utilised and faster when not. Apr 10, 2021
@rebroad rebroad changed the title WIP: Reduce MinRelayFee slower when Mempool utilised and faster when not. WIP: Reduce MinRelayFee slower when Mempool utilised and faster when needed. Apr 10, 2021
@rebroad rebroad closed this Apr 10, 2021
@rebroad rebroad reopened this Apr 13, 2021
@rebroad rebroad force-pushed the MinRelayFeeReductionChanges branch from 24139b6 to c1d8d61 Compare April 13, 2021 19:07
@rebroad
Copy link
Contributor Author

rebroad commented Apr 13, 2021

I've fixed the issues with the algo, and I'm quite happy with the way it works now. Continuing to test it, but it seems to work well, with no issues so far.

Attached screenshot shows just how responsive the minrelayfee needs to be in some situations:-
image

on the other hand, with this pull, the minrelayfee changes less often, so reduces the need to keep updating peers with the new value (screenshot showing current behavior on the left, and new behavior on the right):-
image

@rebroad rebroad force-pushed the MinRelayFeeReductionChanges branch 3 times, most recently from de2f361 to 97f70bf Compare April 14, 2021 00:43
@DrahtBot
Copy link
Contributor

DrahtBot commented Apr 14, 2021

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@rebroad
Copy link
Contributor Author

rebroad commented Apr 15, 2021

Showing some comparisons between existing behaviour and new behaviour.

Reducing minfeerelay faster:-
image
Showing the result hours later:-
image

And with larger mempools, the differences are quite minor, the main difference being that when the minrelayfee does reduce, it does it in a shorter time period than the existing logic:-
image

@rebroad rebroad force-pushed the MinRelayFeeReductionChanges branch 2 times, most recently from 49778a6 to 7bce48b Compare April 15, 2021 11:36
@rebroad rebroad force-pushed the MinRelayFeeReductionChanges branch 3 times, most recently from 94abe5c to fde749e Compare April 25, 2021 22:15
@rebroad
Copy link
Contributor Author

rebroad commented Apr 26, 2021

ok, this (fde749e) broke the fuzzer - might be best to remove it for now.

@DrahtBot
Copy link
Contributor

🐙 This pull request conflicts with the target branch and needs rebase.

Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

@maflcko
Copy link
Member

maflcko commented Oct 22, 2021

Closing for now. This needs rebase and there hasn't been any activity for months.

You can leave a comment if you want this to be reopened. Though, please make sure the code is passing tests and is ready for review.

@maflcko maflcko closed this Oct 22, 2021
@bitcoin bitcoin locked and limited conversation to collaborators Oct 30, 2022
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.

4 participants