Hot answers tagged

50 votes
Accepted

How do transactions leave the memory pool?

As of Bitcoin Core 0.14.0, these are the ways a transaction can leave the mempool: The transaction was included in a block. The transaction or one of its unconfirmed ancestors conflicts with a ...
Pieter Wuille's user avatar
21 votes
Accepted

What is the minRelayTxFee?

The minRelayTxFee specifies a feerate acting as a lower bound for a node's mempool. A node will not admit unconfirmed transactions below that feerate to its mempool and thus will not relay them to its ...
Murch's user avatar
  • 74.5k
15 votes
Accepted

What is the purpose of indexing the mempool by these five criteria?

The mempool is the short-term memory of a full node. We use its content e.g. to: exchange information with peers build block templates estimate feerates track pending payments to our wallet The ...
Murch's user avatar
  • 74.5k
13 votes

What if the mempool exceeds 300 MB?

Each node maintains a separate, individual mempool. While the default limits its size to 300 MiB, each node operator can set their own value. Note that the mempool size limit does not pertain to the ...
Murch's user avatar
  • 74.5k
11 votes
Accepted

Why doesn't the protocol allow unconfirmed transactions to expire at a given height?

This question was answered by Satoshi. My attempt to paraphrase: Suppose a transaction T specified an expiration height, X, and was mined in block X. Then its outputs were spent, possibly many times ...
Larry Ruane's user avatar
10 votes
Accepted

Can you explain some of the dynamics that drive the variations in mempool depth?

Mempool basics When a bitcoin user wants to pay another user, they craft an announcement to the whole network. This announcement takes the form of a transaction which specifies the funds that are ...
Murch's user avatar
  • 74.5k
10 votes

What is the purpose of indexing the mempool by these five criteria?

Just adding onto Murch's answer, which does a great job at explaining the uses of each index. But I can't understand the need for sorting them based on txid and wtxid (while they are hash output, so ...
glozow's user avatar
  • 303
9 votes
Accepted

Stop bitcoin-qt from retrying transaction

Yes, Bitcoin Core will try resending the transaction until it confirms or is replaced. You can make it forget the transaction by starting Bitcoin Core with the option -zapwallettxes=<mode> ...
Murch's user avatar
  • 74.5k
8 votes

Do unconfirmed transactions expire after some time?

In addition to Mark S.'s answer, since Bitcoin Core 0.12 there actually is an expiration in the mempool, which evicts unconfirmed transactions after N hours, where N is set by -mempoolexpiry, and ...
Pieter Wuille's user avatar
8 votes
Accepted

How does the mempool work? What happens to the mempool when there are two equal length chains on the network?

Is there just one mempool or does each node keep a copy of the mempool? Neither. Every node has their own mempool of transaction they expect to see confirmed. It's not a copy as there is no ...
Pieter Wuille's user avatar
8 votes
Accepted

Why does the mined block differ so much from the block template?

The version of the mined block is 0x2fffe000 instead of 536870912. Many miners employ a strategy known as overt Asicboost. This strategy requires modifying the version number like the nonce, so we ...
Ava Chow's user avatar
  • 70k
8 votes
Accepted

DDOS attack via BRC-20 & ordinals on Bitcoin

Do we currently see a DDOS attack on Bitcoin as the mempool is flooded with low value Transactions incl. BRC-20, ordinals etc. (where the transaction fee exceeds the transferred value)? I get why ...
Michael Folkson's user avatar
8 votes
Accepted

How can the next block fee be less than the mempool purging fee rate?

2 possible explanations for this: (1) The mempool min feerate is set at 1 sat/vB (-incrementalRelayFee) above the highest score of transaction(s) evicted (this is anti-DoS / saves work; you shouldn't ...
glozow's user avatar
  • 303
8 votes
Accepted

If you have the required mining power, is it possible to mine your transaction in the next block without propagating it to the network?

Yes, since miners (pools) construct the blocks they mine, they can insert any valid transactions they want, including transactions that were never broadcasted to the wider network. They don't even ...
Vojtěch Strnad's user avatar
7 votes
Accepted

What is protecting the mempool from being DDOSd?

First of all, there is no "The mempool". Every full node has an individual mempool, and as these contain no transactions that are already in blocks (confirmed transactions), by definition nodes cannot ...
Pieter Wuille's user avatar
7 votes

How do transactions leave the memory pool?

There is no fixed expiration time for each node, but the default setting is 72 hours. https://bitcoin.stackexchange.com/a/43165/24926
inersha's user avatar
  • 3,053
7 votes
Accepted

When we can agree on mempool sorting order, we can just confirm first n-transactions that are at least 10 mins old. What's missing?

Your answer assumes different nodes can have a consistent view of the mempool. If that were the case, we wouldn't need a blockchain at all, whose sole purpose is establishing consistency between ...
Pieter Wuille's user avatar
7 votes

Why is the block size is not filled with transactions?

Miners pick transactions from the mempool which is the queue of unconfirmed transactions. When there are fewer transactions waiting than would fit into a block, the block will not be full. The miner ...
Murch's user avatar
  • 74.5k
7 votes
Accepted

What is the difference between policy and consensus when it comes to a Bitcoin Core node validating scripts?

The term "consensus checks" refers to the rules that determine whether a block is valid; specifically, if a consensus check on a block (or a transaction contained within a block) fails, then ...
sdaftuar's user avatar
  • 599
7 votes
Accepted

Is the `mempool` message reliable?

Full nodes have absolutely no use for the mempool message, it is vestigial from bip35 and has had a history of causing privacy leaks due to its poor implementation. It has previously been used to ...
Claris's user avatar
  • 15.4k
7 votes
Accepted

What's the governing motivation for the descendent size limit?

Your first point ("Excessive package comparisons") gets at the essence of the issue, though it's not exactly what you described. There are two main operations where the ancestor and ...
sdaftuar's user avatar
  • 599
7 votes

Block Health at 94.82%, why do nodes accept this?

Why do Nodes accept blocks that have so many intentionally excluded transactions? Because nodes do not get do discriminate between blocks. If a block follows the consensus rules, it must be accepted. ...
Pieter Wuille's user avatar
6 votes

What is the minRelayTxFee?

'minRelayTxFee' is the node's minimum reward (BTC/KB) for a transaction "transmission" (relay). In the p2p network there could be a node (A) with a minRelayTxFee setted at 0,0001 and a node (B) with a ...
Antony Zappacosta's user avatar
6 votes

How can an unconfirmed transaction be removed from the memory pool?

Try the removeprunedfunds RPC command. It deletes the specified transaction from the wallet. … This will effect wallet balances.
Geremia's user avatar
  • 4,606
6 votes

Why did the Mempool suddenly drop to zero

It didn't goto zero. You can look at alternate sources https://core.jochen-hoenicke.de/queue/#2d . What happened most probably is that blockchain.info's node went down/rebooted momentarily.
dark knight's user avatar
  • 2,007
6 votes
Accepted

How did these zero-transaction fee transactions make it into the Bitcoin network?

Zero- and low-fee transactions aren't relayed by default. If you attempt to broadcast one over the Bitcoin peer-to-peer network, most nodes won't pass it along for you (and they might even "ban" you ...
Nate Eldredge's user avatar
6 votes
Accepted

Why some transactions disappear from the mempool?

Skimming the source code, I found the following reasons for a transaction to be removed from the mempool: It was included in a block A conflicting transaction (i.e. one which spent at least one of ...
Nate Eldredge's user avatar
6 votes
Accepted

What will happen if transactions are being generated by multiple person with same one private key?

There is no "the mempool". Each node has its own mempool. So in your example, each node would receive each of the transactions, possibly in a different order, and at different times. It is physically ...
Ava Chow's user avatar
  • 70k
6 votes
Accepted

Why is a synchronized mempool necessary in the network?

There's no bloom filters involved, or any actual attempt at synchronization. Nodes relay transactions they hear about to one another, so there's probably some level of consistency in mempool contents ...
Claris's user avatar
  • 15.4k
6 votes

How is this 0 sat tx even possible? How can I do them?

Segwit has nothing to do with minimum fee rates. There is no consensus rule for a minimum feerate. There is a policy rule for a minimum relay fee. Transactions must pay a feerate greater than or equal ...
Ava Chow's user avatar
  • 70k

Only top scored, non community-wiki answers of a minimum length are eligible