1

I am wondering why we need Mempool (central and aggregated pool) while each miner has its own pool?

If we need the Mempool as an architectural design, how we can make sure that miners are sending their transactions to Mempool?

Is that possible for a miner to confirm a transaction on its own(Privately) but not send it to the Mempool(Shared-Public Pool?

Please correct me if my understanding from Miner pool as a private and the Mempool as a public area is not correct.

Thank you

2

The mempool is not a central or shared pool, every node has its own separate mempool (though a node does not have to keep a mempool, it will still function fine without one).


Addendum

Solo miners do not now share mempools and never have. A solo miner can mine without any specific communication or coordination with other miners. Obviously nowadays a solo miner needs an enormous amount of hashpower to have any prospect of profit.

There is nothing in the original and current core network protocols for Bitcoin that explicitly coordinates, synchronises or shares mempools. It is likely, particularly when the network is less busy that all nodes have mostly the same set of transactions in their mempool. This is simply because the time for data to diffuse across the network is typically much less than the block interval.

Nowadays, because of the huge increase in mining and the consequent huge increase in mining target difficulty (to keep block interval roughly constant) - Mining has become very expensive and so most miners pool resources rather than mine separately.

Miners who are members of mining pools exchange information using one of several completely separate network protocols (e.g. Stratum) that are different and separate from the core network protocols of Bitcoin. I don't know these mining pool protocols or whether block templates are centrally chosen or selected in some egalitarian distributed method but, in principle, I don't see it is essential for them to share or synchronise mempools either.

5
  • Thanks for the response. I am still wondering how miners are sharing their mempools? If I am a miner and I do not share my mempool, what happens in the bitcoin protocols? Is that possible for me to just mining transactions in my pool? thanks
    – Motiv
    May 11 '21 at 14:55
  • Thank you so much. I got the point. I have observations on transactions confirmed directly without waiting in mempool. But the miners are not solo. How we can interpret that? Is that discriminative behaviour among the agents requesting the service?
    – Motiv
    May 11 '21 at 15:57
  • @motiv: Miners can mine their own transactions without first broadcasting the transactions - is that what you mean? May 11 '21 at 16:07
  • 1
    There can be other explanations too. Transaction propagation is not perfectly synchronizing for various reasons (different mempool sizes, network failures, attempted double spends), so there is no guarantee that just because you didn't see a transaction in your mempool that nobody did. May 11 '21 at 19:41
  • I got the point. thanks
    – Motiv
    May 18 '21 at 17:27
0

There is only one mempool. This is where all of the transactions waiting for verification sit. Mining pool nodes take the transactions with the highest fees to fill newly discovered blocks. Mining pools may crop their version of the mempool to their desire to better allocate work to the miners.

Mining pools are 'pooled' hash rate.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.