<p>The mempool is just a temporary store of unconfirmed transactions. Each node's mempool is not synchronized, and in fact a node could choose to not keep a mempool at all. So no node needs to verify whether anyone else has a transaction, before deleting it from their memory. Miners will choose transactions from their mempool, to build new block templates that they will mine on. </p>

<p>What matters is the blockchain. Each new valid block will (likely) include some transactions, so when a node hears about that block, it will update its mempool accordingly (removing transactions that have been confirmed in the block).</p>

<p>Thus, miners can all be attempting to mine a block that includes the same (or different) transactions, and it is simply the first miner to find a valid block that will 'win', with their block being appended to the blockchain. All other miners will see this new block, and start to mine on top of it, adjusting their mempool (and thus the transactions they include in their new attempts to find a block) accordingly. </p>

CC BY-SA 4.0
2019-03-06T01:56:47.153Z
So all miners will work on what they see as a full block of transactions, when a miner found a valid block it will broadcast it on the network to everyone. At that point will all other other miners stop mining and verify the new valid block? After that the miner will collect see what transactions where now verified and assemble a for a new block I assume. In the bitcoin blockchain there the miners will stop collecting transactions every 10 minutes (on average). Other parameters is the priority (fee) and congestion in the network (to many transaction). Are these assumptions correct?
Damian
CC BY-SA 4.0
2019-03-06T02:09:04.177Z
I now understand that the difficulty is adjusted my looking at the average time between verification over the last 2 weeks. The goal is to get this to about 10 minutes in bitcoin.
Damian
CC BY-SA 4.0
2019-03-06T02:17:08.627Z
Miners never stop mining. They are continuously trying to find a successor block, with a contents drawn from the mempool of that time. Whenever a new block is found, their mempool changes, and thus their next future attempts will be on top of that.
Pieter Wuille
CC BY-SA 4.0
2019-03-07T08:54:14.897Z
So when the first miner solves the hashing solution and broadcasts it, will the other miners verify that block? I assume the transactions are sealed in the block that we are trying to reach consensus on, but what if a the different blocks the miners are checking have different transactions in them?
Damian
CC BY-SA 4.0
2019-03-07T09:18:14.463Z
@Damian see: https://bitcoin.stackexchange.com/questions/8172/what-happens-if-two-miners-mine-the-next-block-at-the-same-time
chytrik
CC BY-SA 4.0
2019-03-05T21:24:39.707Z
2019-03-05T21:24:39.707Z
chytrik
<p>For example in Bitcoin, if I want a miner to verify whether other miners store a transaction, before deleting it from his mempool.</p>

<p>How can I handle the case more than one miner doing the verification at the same time?</p>

<p>Is it possible to use backoff algorithm?</p>

CC BY-SA 4.0
2019-03-05T15:17:47.653Z
It's impossible to answer this as its based on a misunderstanding of the system.
Claris
<mempool><p2p>
How to avoid conflicts in a peer-to-peer topology (Bitcoin)?
Ssd
# How to avoid conflicts in a peer-to-peer topology (Bitcoin)?

(Asked by: username_0 on 2019-03-05)

For example in Bitcoin, if I want a miner to verify whether other miners store a transaction, before deleting it from his mempool.

How can I handle the case more than one miner doing the verification at the same time?

Is it possible to use backoff algorithm?

**Tags:** mempool, p2p

> **Comments:**
> **username_1**: It's impossible to answer this as its based on a misunderstanding of the system.  

---

## 1 answers

### Answer by username_2 on 2019-03-05. Score: 2 | Accepted answer

The mempool is just a temporary store of unconfirmed transactions. Each node's mempool is not synchronized, and in fact a node could choose to not keep a mempool at all. So no node needs to verify whether anyone else has a transaction, before deleting it from their memory. Miners will choose transactions from their mempool, to build new block templates that they will mine on.

What matters is the blockchain. Each new valid block will (likely) include some transactions, so when a node hears about that block, it will update its mempool accordingly (removing transactions that have been confirmed in the block).

Thus, miners can all be attempting to mine a block that includes the same (or different) transactions, and it is simply the first miner to find a valid block that will 'win', with their block being appended to the blockchain. All other miners will see this new block, and start to mine on top of it, adjusting their mempool (and thus the transactions they include in their new attempts to find a block) accordingly.

> **Comments:**
> **username_3**: So all miners will work on what they see as a full block of transactions, when a miner found a valid block it will broadcast it on the network to everyone. At that point will all other other miners stop mining and verify the new valid block? After that the miner will collect see what transactions where now verified and assemble a for a new block I assume. In the bitcoin blockchain there the miners will stop collecting transactions every 10 minutes (on average). Other parameters is the priority (fee) and congestion in the network (to many transaction). Are these assumptions correct?  
> **username_3**: I now understand that the difficulty is adjusted my looking at the average time between verification over the last 2 weeks. The goal is to get this to about 10 minutes in bitcoin.  
> **username_4**: Miners never stop mining. They are continuously trying to find a successor block, with a contents drawn from the mempool of that time. Whenever a new block is found, their mempool changes, and thus their next future attempts will be on top of that.  
> **username_3**: So when the first miner solves the hashing solution and broadcasts it, will the other miners verify that block? I assume the transactions are sealed in the block that we are trying to reach consensus on, but what if a the different blocks the miners are checking have different transactions in them?  
> **username_2**: @username_3 see: https://bitcoin.stackexchange.com/questions/8172/what-happens-if-two-miners-mine-the-next-block-at-the-same-time  

---

