Author: Jeff Garzik 2012-06-13 20:46:37
Published on: 2012-06-13T20:46:37+00:00
The IRC discussion covered the additional needs of lightweight clients and proposed new P2P commands with associated behavior changes. The proposed commands include filterinit, filterload, filterclear, filteradd, and mempool. Filterinit initializes a per-connection bloom filter with given parameters. Filterload input serialized bloom filter table metadata and data, while filterclear removes any filtering associated with the current connection. Filteradd adds a single hash to the bloom filter. Mempool lists TX's in remote node's memory pool.Filterload and filteradd enable special behavior changes for mempool and existing P2P commands. Only transactions matching the bloom filter will be announced to the connection, and only matching transactions will be sent inside serialized blocks. A lightweight client would issue 'filterload', sync up with blocks, then use 'mempool' to sync up to current TX's. The 'mempool' command is thought to be useful as a diagnostic, even if a bloom filter is not applied to its output. A bloom filter match would need to notice activity on existing coins (via CTxIn->prevout) and activity on a bitcoin address (via CTxOut).
Updated on: 2023-06-06T05:02:00.152614+00:00