Insights on Crypto Payments, Infrastructure, and Operations

BIP 157 Client-Side Block Filtering

Abbreviation: BIP 157

Pronunciation: BIP one-fifty-seven KLY-ent-side BLOK FIL-ter-ing

Also known as: BIP157 Compact Block Filter, Client-Side Block Filtering, Neutrino Protocol, BIP 157

Definition

BIP 157 client-side block filtering is a privacy-oriented light-client mechanism in Bitcoin that lets clients query block filters from peers to identify blocks that may contain relevant wallet transactions. It defines the peer-to-peer messages and verification workflow for obtaining filters, filter headers, and related block data. The wallet checks its own scripts locally instead of revealing them to the serving node.

Overview

BIP 157 defines how Bitcoin nodes provide compact block filters and related peer-to-peer messages. Instead of a lightweight wallet sending a list of its addresses or scripts to a remote node, the wallet downloads a small filter for each block and checks the filter locally. If the filter indicates a possible match, the client requests the full block or other necessary data and verifies the transaction. False positives are possible, but false negatives should not occur when filters are constructed correctly for the specified filter type. This model improves privacy compared with server-side filtering because peers do not receive the wallet’s exact search criteria. It also supports verification across multiple peers and makes the filter chain independently checkable through filter headers.

BIP 157 defines the protocol for obtaining and validating the filters, while BIP 158 specifies the construction of the basic filter itself. The two standards are commonly discussed together but describe different parts of the system. The protocol lets clients request filters for blocks, compare filter-header chains, and obtain the relevant block when a local match occurs. Because the client does not send an address list or script set, the server learns less about the wallet than it would under server-side Bloom filtering. BIP 157 does not define which elements belong in the basic filter or how those elements are encoded; that is the role of BIP 158. The distinction matters: BIP 157 is primarily the network service and client protocol, while BIP 158 is the filter construction standard. Clients still need to validate block headers and inspect matching blocks. A filter match can be a false positive, so it indicates that further verification is required rather than proving that a wallet received a payment.

Key Takeaway

BIP 157 defines how Bitcoin light clients obtain and verify compact block filters without disclosing their exact wallet search criteria to peers.

Sources

  1. BIP 157: Client Side Block Filtering — Bitcoin Improvement Proposals (2026-07-30)