<p>Since OP has asked for a specific reference, I'll copy some relevant text from the <a href="https://github.com/bitcoinbook/bitcoinbook" rel="nofollow noreferrer">Mastering Bitcoin</a> reference book. I cut some of the less relevant info out, and added bolded emphasis that is relevant to OP's question:</p>
<p>From <a href="https://github.com/bitcoinbook/bitcoinbook/blob/f8b883dcd4e3d1b9adf40fed59b7e898fbd9241f/ch08.asciidoc" rel="nofollow noreferrer">chapter 8 - Transaction Pool:</a></p>
<blockquote>
<p>Transaction Pools</p>
<p>Almost every node on the bitcoin network maintains a temporary list of unconfirmed transactions called the memory pool, mempool, or transaction pool. Nodes use this pool to keep track of transactions that are known to the network but are not yet included in the blockchain. For example, a wallet node will use the transaction pool to track incoming payments to the user’s wallet that have been received on the network but are not yet confirmed.</p>
<p>As transactions are received and verified, they are added to the transaction pool and relayed to the neighboring nodes to propagate on the network.</p>
<p>...</p>
<p>Both the transaction pool and orphan pool (where implemented) are stored in local memory and are not saved on persistent storage; rather, they are dynamically populated from incoming network messages. When a node starts, both pools are empty and are gradually populated with new transactions received on the network.</p>
<p>...</p>
<p>Whereas <strong>the transaction and orphan pools represent a single node’s local perspective and might vary significantly from node to node depending upon when the node was started or restarted</strong>, the UTXO pool represents the emergent consensus of the network and therefore will vary little between nodes. Furthermore, the transaction and orphan pools only contain unconfirmed transactions, while the UTXO pool only contains confirmed outputs.</p>
</blockquote>

CC BY-SA 4.0
2019-04-12T21:59:25.810Z
2019-04-12T21:59:25.810Z
2020-06-16T11:10:03.350Z
chytrik
<blockquote>
  <p>Do all the miners have one global pool filled with transactions</p>
</blockquote>

<p>Different full nodes have a different version of the mempool. Transactions are broadcasted to the bitcoin network on a best effort basis. If a transaction never reaches a node, it would not include it in the mempool. It would not learn about this transaction until it is included in the block by another miner. </p>

<blockquote>
  <p>Miner 1 takes Transaction 1 into his candidate block, so Transaction 1 won't be in the transaction pool anymore, Or does each miner has a local pool filled with transactions, so that each miner can take Transaction 1 into his transaction pool.</p>
</blockquote>

<p>The second part is correct. Every miner creates their own candidate blocks using transactions from their own mempool. In case a miner is affiliated to a managed pool, the pool operator creates a block template (by including the transactions) and sends the header to the respective miners that are attached to the pool.</p>

CC BY-SA 4.0
2019-04-12T11:23:31.000Z
Do you have some references ? Thanks for the answer!
Michael
CC BY-SA 4.0
2019-04-12T12:03:32.370Z
Reference regarding what?
Ugam Kamat
CC BY-SA 4.0
2019-04-12T13:03:54.150Z
Like a book, paper, or website, where the answer to my question is given.
Michael
CC BY-SA 4.0
2019-04-12T09:53:58.037Z
2019-04-12T09:53:58.037Z
Ugam Kamat
<p>I can't find anything in the web about that topic. 
Do all the miners have one global pool filled with transactions, i. e. Miner 1 takes Transaction 1 into his candidate block, so Transaction 1 won't be in the transaction pool anymore.
Or does each miner has a local pool filled with transactions, so that each miner can take Transaction 1 into his transaction pool. </p>

<p>If my question is unclear, I will try to describe it better. 
I hope someone knows a good reference to that topic.</p>

<mempool><transaction-selection><relay><broadcast>
Is the transaction pool global or local?
Michael
# Is the transaction pool global or local?

(Asked by: username_0 on 2019-04-12)

I can't find anything in the web about that topic.
Do all the miners have one global pool filled with transactions, i. e. Miner 1 takes Transaction 1 into his candidate block, so Transaction 1 won't be in the transaction pool anymore.
Or does each miner has a local pool filled with transactions, so that each miner can take Transaction 1 into his transaction pool.

If my question is unclear, I will try to describe it better.
I hope someone knows a good reference to that topic.

**Tags:** mempool, transaction-selection, relay, broadcast


---

## 2 answers

### Answer by username_1 on 2019-04-12. Score: 2 | Accepted answer

Since OP has asked for a specific reference, I'll copy some relevant text from the [Mastering Bitcoin](https://github.com/bitcoinbook/bitcoinbook) reference book. I cut some of the less relevant info out, and added bolded emphasis that is relevant to OP's question:

From [chapter 8 - Transaction Pool:](https://github.com/bitcoinbook/bitcoinbook/blob/f8b883dcd4e3d1b9adf40fed59b7e898fbd9241f/ch08.asciidoc)

> Transaction Pools
>
> Almost every node on the bitcoin network maintains a temporary list of unconfirmed transactions called the memory pool, mempool, or transaction pool. Nodes use this pool to keep track of transactions that are known to the network but are not yet included in the blockchain. For example, a wallet node will use the transaction pool to track incoming payments to the user’s wallet that have been received on the network but are not yet confirmed.
>
> As transactions are received and verified, they are added to the transaction pool and relayed to the neighboring nodes to propagate on the network.
>
> ...
>
> Both the transaction pool and orphan pool (where implemented) are stored in local memory and are not saved on persistent storage; rather, they are dynamically populated from incoming network messages. When a node starts, both pools are empty and are gradually populated with new transactions received on the network.
>
> ...
>
> Whereas **the transaction and orphan pools represent a single node’s local perspective and might vary significantly from node to node depending upon when the node was started or restarted**, the UTXO pool represents the emergent consensus of the network and therefore will vary little between nodes. Furthermore, the transaction and orphan pools only contain unconfirmed transactions, while the UTXO pool only contains confirmed outputs.


---

### Answer by username_2 on 2019-04-12. Score: 5

> Do all the miners have one global pool filled with transactions

Different full nodes have a different version of the mempool. Transactions are broadcasted to the bitcoin network on a best effort basis. If a transaction never reaches a node, it would not include it in the mempool. It would not learn about this transaction until it is included in the block by another miner.

> Miner 1 takes Transaction 1 into his candidate block, so Transaction 1 won't be in the transaction pool anymore, Or does each miner has a local pool filled with transactions, so that each miner can take Transaction 1 into his transaction pool.

The second part is correct. Every miner creates their own candidate blocks using transactions from their own mempool. In case a miner is affiliated to a managed pool, the pool operator creates a block template (by including the transactions) and sends the header to the respective miners that are attached to the pool.

> **Comments:**
> **username_0**: Do you have some references ? Thanks for the answer!  
> **username_2**: Reference regarding what?  
> **username_0**: Like a book, paper, or website, where the answer to my question is given.  

---

