Market Cap: $3.6587T -0.270%
Volume(24h): $120.0343B -44.420%
Fear & Greed Index:

69 - Greed

  • Market Cap: $3.6587T -0.270%
  • Volume(24h): $120.0343B -44.420%
  • Fear & Greed Index:
  • Market Cap: $3.6587T -0.270%
Cryptos
Topics
Cryptospedia
News
CryptosTopics
Videos
Top Cryptospedia

Select Language

Select Language

Select Currency

Cryptos
Topics
Cryptospedia
News
CryptosTopics
Videos

How do miners select transactions from the mempool?

Miners prioritize transactions in the mempool based on fee per byte, block size limits, and dependencies, aiming to maximize profits while managing network congestion.

Jul 13, 2025 at 08:56 pm

Understanding the Mempool and Its Role in Transaction Selection

Before diving into how miners choose transactions from the mempool, it's essential to understand what the mempool is. The mempool, short for memory pool, is a temporary storage area within each node of a blockchain network where unconfirmed transactions are held before being included in a block. Every node maintains its own mempool, which may slightly differ from others due to network propagation delays or filtering rules.

Miners connect to this network of nodes and pull transactions from their local mempool to include in the blocks they are attempting to mine. The mempool acts as a waiting room for transactions, and miners have the discretion to choose which transactions to include based on a variety of factors.

Fee-Based Selection: Prioritizing Transactions with Higher Fees

One of the most critical factors in transaction selection is the transaction fee. Miners are incentivized to include transactions with higher fees because they earn those fees as part of their block reward. Therefore, transactions offering a higher fee per byte are more likely to be picked up by miners.

The fee per byte metric is calculated by dividing the total fee paid by the size of the transaction in bytes. Miners often sort transactions in the mempool based on this value and start including them from the highest to the lowest until the block reaches its size or weight limit (depending on whether SegWit is used). This process ensures that miners maximize their earnings from each block they mine.

Block Size and Weight Constraints

Each block in a blockchain like Bitcoin has a maximum size limit, which directly affects how many transactions can be included. Originally, Bitcoin blocks were limited to 1 MB, but with the activation of Segregated Witness (SegWit), the concept of block weight was introduced. Now, blocks have a maximum weight of 4 million weight units, allowing more transactions to be included without increasing the base size beyond 1 MB.

Miners must carefully select transactions to fill the block without exceeding these limits. They typically use greedy algorithms that start with the highest fee-per-byte transactions and add them until the block is full. This method ensures optimal fee collection while adhering to block size constraints.

Transaction Dependencies and Prioritization

Some transactions in the mempool may depend on others. For instance, a child transaction may spend an output from a parent transaction that hasn't yet been confirmed. Miners need to account for these transaction dependencies when selecting which transactions to include in a block.

To handle this, some miners use a strategy called Child-Pays-for-Parent (CPFP). In this case, a child transaction pays a high fee, which can incentivize miners to include both the child and its parent transaction, even if the parent has a low fee. Miners must track these relationships and decide whether including a low-fee parent with a high-fee child is worth the trade-off in potential earnings.

Replace-by-Fee (RBF) and Its Impact on Transaction Selection

Another factor influencing transaction selection is the Replace-by-Fee (RBF) mechanism. This allows users to replace a transaction in the mempool with a new one that pays a higher fee. If a transaction opts into RBF, miners may remove the original transaction from their mempool and replace it with the updated one.

Miners must be aware of RBF-enabled transactions and may choose to exclude them if there's a risk of replacement, especially if they are close to mining a block. However, if a replacement transaction offers a significantly higher fee, it may be more profitable to include it instead of the original.

How Miners Handle Low-Fee or Stuck Transactions

Not all transactions in the mempool are prioritized equally. Some transactions may have low fees and remain stuck in the mempool for long periods, especially during times of high network congestion. Miners typically ignore these unless there's available space in a block after including higher-fee transactions.

Some miners implement a "minimum relay fee" policy, which determines the lowest fee rate a transaction must meet to be considered for inclusion. If a transaction doesn't meet this threshold, it may be evicted from the mempool after a certain period or simply ignored by miners.

Additionally, some mining pools or individual miners may run custom logic or priority-based selection algorithms that allow them to include older transactions if the block isn't full, but this is relatively rare and not the standard practice.

Frequently Asked Questions

Q: Can miners include any transaction they want from the mempool?

A: Yes, miners have full discretion over which transactions to include in a block. While most follow a fee-based model to maximize earnings, they can choose transactions based on other criteria if they wish.

Q: Do all miners see the same mempool?

A: No, each node maintains its own mempool, which may differ slightly from others due to network latency or transaction filtering rules. This means miners connected to different nodes may have varying sets of transactions to choose from.

Q: How do miners handle transactions with the same fee rate?

A: When transactions have the same fee per byte, miners often prioritize based on transaction size (preferring smaller ones to fit more transactions) or time of arrival (favoring older transactions).

Q: Can a transaction stay in the mempool indefinitely?

A: Yes, a transaction can remain in the mempool indefinitely if it doesn't get included in a block. However, many nodes will eventually evict it if it hasn't been rebroadcast or updated via mechanisms like RBF.

Disclaimer:info@kdj.com

The information provided is not trading advice. kdj.com does not assume any responsibility for any investments made based on the information provided in this article. Cryptocurrencies are highly volatile and it is highly recommended that you invest with caution after thorough research!

If you believe that the content used on this website infringes your copyright, please contact us immediately (info@kdj.com) and we will delete it promptly.

Related knowledge

See all articles

User not found or password invalid

Your input is correct