LearnBitcoin

Bitcoin Dev Archive 2020

Is Bitcoin mempool synchronized?

2 messages, 30 Jun to 1 Jul 2020. Started by Hilda.

Hilda, ZmnSCPxj

Permalink Original thread on gnusha.org

Hilda permalink original

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?

Thank you, Hilda

ZmnSCPxj in reply to Hilda permalink original

Good morning Hilda,

Quoted text (3 lines)
> 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