2

Let's say a miner pulls from the node the available transactions to be included in the next block. He receives transactions A, B and C. For whatever reason he discards transaction B and so he mines a block that includes only A and C. Meantime, before the miner pushes the new block, the node has received a new transaction D.

What happens with the transactions B and D? I suppose the node verifies which transactions were not included in the mined block and keeps them available for the next block, is that correct?

2 Answers 2

5

Transactions A,B,C will be validated and added to the miners memory pool just like any other node does. If A and B are the only ones added to the next block then c will remain in the memory pool and will later be joined by D. So C and D will remain in the memory pool until they are added to a new block while A and B will form part of the new block. If the miner is successful in solving the proof of work then his block will be propagated to other nodes and if it is accepted it will added to a chain. When the miner receives a new block from the network, then the software does check if the new block has transactions that are in its memory pool and will remove any transactions from the memory pool if it is in the new block.

3

There is a fundamental concept called the MemPool. It is the pool, stored in memory, of all transactions that have not yet been included in a block but are apparently eligible for inclusion.

You can see the size of the MemPool on a site like Blockchain.info.

Unlike the Blockchain, where everyone is working off a single agreed upon chain, the mempool may differ from node-to-node. Not all nodes may have all transactions, and different nodes may choose to discard a transaction for various reasons.

When a miner seeks to make a new block, they pick the most desirable transactions from their available mempool (typically, the ones with the highest fees, but other considerations may factor in). When a block is successfully created, those transactions are removed from the mempool, while the remainder of the pool is eligible to be included in the next block.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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