[bitcoin-dev] Is Bitcoin mempool synchronized?

ZmnSCPxj ZmnSCPxj at protonmail.com
Wed Jul 1 00:53:46 UTC 2020


Good morning Hilda,

> Hi there,
>
> I have been assuming Bitcoin system to be well synchronized, including mempools. But after being challenged, I started to think that I actually cannot verify this without knocking the door of every miner in every single second (just a time slice reasonable to me; stop torturing me by asking why). Can anyone share any thoughts with me?


No, definitely not.

There is no good way to limit the amount of transactions someone can push at you, except by various heuristics.
Yet those very same heuristics mean that someone with a good knowledge of those heuristics can make your mempool desynchronized with that of somebody else.

Fortunately for Bitcoin, it is the blockchain itself that we synchronize on.
People cannot push blocks at you without doing the work of grinding towards the difficulty target, thus it is not possible to spam blocks.

TANSTAAGM - There Ain't No Such Thing As A Global Mempool

For this reason, any consensus rule has to refer only to data inside blocks, and never to data in mempools, are mempools are ephemeral and not synchronized across all nodes.

Regards,
ZmnSCPxj


More information about the bitcoin-dev mailing list