Proposal for new "disabletx" p2p message



Summary:

In a bitcoin-dev discussion, Matt Corallo inquired about the interaction between fRelay and bloom disabling. He asked if it was possible to set fRelay later if bloom filters were not enabled due to resource constraints or new limits. The current bitcoin implementation does not allow for this. You either set m_tx_relay->fRelayTxes to true via the VERSION message or enable it later with FILTERLOAD or FILTERCLEAR, both of which will cause a disconnect if bloom filters are not supported. Bloom filter support is indicated via a service bit (BIP 111) which can be assumed to know whether they're supported as soon as you receive the VERSION line. BIP 37 specifies fRelay as a 1-byte field where if false, broadcast transactions will not be announced until a filter{load,add,clear} command is received. If missing or true, no change in protocol behavior occurs. BIP 60 defines the field as "relay" and references BIP 37 but it is not referenced in any other BIPs.


Updated on: 2023-05-21T00:31:57.989847+00:00