Block Filter
Pronunciation: BLOCK FIHL-tur
Definition
A block filter is a compact probabilistic summary that lets lightweight clients test whether a block may contain relevant script data. Filters can produce false positives but should not produce false negatives when constructed correctly for the defined element set. Clients still need authenticated filter headers or another commitment chain to detect peers serving inconsistent filters, and a match does not prove a payment exists.
Overview
Meaning and scope
A block filter is a compact probabilistic summary that lets lightweight clients test whether a block may contain relevant script data. Filters can produce false positives but should not produce false negatives when constructed correctly for the defined element set. Clients still need authenticated filter headers or another commitment chain to detect peers serving inconsistent filters, and a match does not prove a payment exists.
Mechanism and operation
A block filter is a compact searchable summary that helps a client decide whether a block might contain elements relevant to that client. Bitcoin compact filters such as those defined by BIP 158 encode selected script data in a probabilistic structure. A lightweight wallet downloads filter headers and filters, checks their consistency, then fetches candidate blocks when its addresses or scripts may match. False positives may occur: a filter hit does not prove the block contains the wallet’s transaction. The actual block must still be downloaded and verified. Filter designs differ from bloom filters that ask remote peers to filter on the client’s behalf, which can reveal different information and have different trust properties.
Practical payment example
A lightweight wallet matches its script patterns against a compact block filter and retrieves the relevant block only when needed.
Operational checks
Verify filter-header continuity, the recognized filter type, client-script matching and any retrieved block evidence. Design around false positives and gaps in peer availability. A block filter summarizes selected elements from a block in a compact structure, commonly using a probabilistic encoding. A lightweight wallet tests the filter for scripts or patterns it cares about and downloads the full block only when the result may match. Wallets should retrieve and validate the corresponding block before updating balances. Privacy depends on the download strategy because querying a peer directly for specific matches can reveal addresses of interest.
Distinctions and limits
A block filter narrows search work; it does not itself validate a transaction, prove a payment, or replace consensus verification.
Related reading
Related definitions: block.
Example
A lightweight wallet matches its script patterns against a compact block filter and retrieves the relevant block only when needed.
Comparison
A lightweight wallet tests the filter for scripts or patterns it cares about and downloads the full block only when the result may match. Filters can produce false positives but should not produce false negatives when constructed correctly for the defined element set.
Key Takeaway
Block filters help lightweight wallets find possible activity efficiently, but matched blocks still require complete validation.
Sources
- Ethereum Foundation Documentation: Accounts — Ethereum Foundation (2026-07-30)
- Ethereum Documentation: Transactions — Ethereum Foundation (2026-07-30)
- Bitcoin Developer Guide: Transactions — Bitcoin.org (2026-07-30)