pull down to refresh

I didn't realize how the fact that nodes create this flooding dynamic is actually such a risk: every node broadcasts a new transaction to all other nodes that don't know about it. So each new transaction quickly floods the network. You might think this was not a great attribute to have in a permissionless peer-to-peer pseudonymous network.

So instagibs came up with some rate-limit rules for such a network:

  • should keep your CPU available for validating blocks and transactions, not use it all up for resorting the same set of txs for each peer
  • should cope cleanly with large backlogs of transactions
  • should smooth out large transaction bursts, focusing on relaying the txs in the top of the mempool (per cluster mempool rules, of course)
  • introduces a new bandwidth ratelimit that should prevent excessive numbers of large transactions that never confirm from blowing out your VPS’s monthly limit, even if you have a couple of hundred peers to relay those txs to

Every time I hear about something that people are working on in Bitcoin, it opens a huge door where I discover all kinds of things I didn't know.

Interesting historical context here: way back in the day Mike Hearn advocated to use rate limiting to make nSequence based transaction replacement “work”.

What that means is while replace-by-fee allows a transaction to be replaced by a higher fee, nSequence replacement just lets you replace a transaction an essentially unlimited number of times without paying anything extra.

Of course, that was insane, so we got replace-by-fee instead.... but all these years later we're still adding rate limiting to cut down on any issues left over in edge cases.

Belt and suspenders!

reply

This has nothing to do with this topic. I just wanted to say congrats on your talk yesterday!

[LIVE] bitcoin++ Consensus Edition: Fork Strategies Panel #1534103

reply
Every time I hear about something that people are working on in Bitcoin, it opens a huge door where I discover all kinds of things I didn't know.

+1

reply