- Bitcoin & Blockchain/
- P2P Network Overview/
- BCH Specification/
- Historical Upgrades
- May 2023 Upgrade
- Bigger Script Integers
- May 2022 Upgrade
- Native Introspection
- ReverseBytes
- May 2021 Upgrade
- Multiple OP_RETURNs
- Accept more tx in mempool
- ASERT DAA
- November 2020 Upgrade
- May 2020 Upgrade
- SigCheck protection
- November 2019 Upgrade
- MinimalData
- Schnorr multisig
- Segwit Recovery
- May 2019 Upgrade
- Schnorr
- November 2018 Upgrade
- op_checkdatasig
- Schnorr signatures
- May 2018 Upgrade
- Reenable Opcodes
- November 2017 Upgrade
- Bitcoin Cash
- Tx signing digest
- BIP-0157
- BIP-0158
- BIP-0159
- BIP 152
- BIP 133
- BIP 9
- BIP-0112
- BIP-0113
- BIP-0068
- BIP-0066
- BIP-0065
- BIP-0037
- Mempool message
- BIP-0034
- BIP-0016
- Block Versions
- Protocol Versions
- Transaction Versions
Bitcoin Cash Protocol Upgrades
BIP-35
BIP: 35
Layer: Peer Services
Title: mempool message
Author: Jeff Garzik <jgarzik@exmulti.com>
Comments-Summary: No comments yet.
Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0035
Status: Final
Type: Standards Track
Created: 2012-08-16
Abstract
Make a network node’s transaction memory pool accessible via a new “mempool” message. Extend the existing “getdata” message behavior to permit accessing the transaction memory pool.
Motivation
Several use cases make it desireable to expose a network node’s transaction memory pool:
- SPV clients, wishing to obtain zero-confirmation transactions sent or received.
- Miners, to avoid missing lucrative fees, downloading existing network transactions after a restart.
- Remote network diagnostics.
Specification
- The mempool message is defined as an empty message where pchCommand == “mempool”
- Upon receipt of a “mempool” message, the node will respond with an “inv” message containing MSG_TX hashes of all the transactions in the node’s transaction memory pool, if any.
- The typical node behavior in response to an “inv” is “getdata”. However, the reference Satoshi implementation ignores requests for transaction hashes outside that which is recently relayed. To support “mempool”, an implementation must extend its “getdata” message support to querying the memory pool.
- Feature discovery is enabled by checking two “version” message attributes:
- Protocol version >= 60002
- NODE_NETWORK bit set in nServices
Note that existing implementations drop “inv” messages with a vector size > 50000.
Backward compatibility
Older clients remain 100% compatible and interoperable after this change.