Bitcoin VerityOpen comparator

Level 10 · Verification and second layers

SPV, light clients and compact block filters

What a wallet can verify without the full blockchain, where it still relies on peers and why BIP 157 reverses the filtering direction.

Article
98
Reading time
17 minutes
Reviewed
10 September 2026

In a nutshell

An SPV client checks a proof-of-work header chain and Merkle proofs for relevant transactions, but not every consensus rule in every block. BIP 37 sends a wallet's Bloom filter to a peer; BIPs 157 and 158 let the client download deterministic block filters and decide locally which full blocks to obtain.

01

SPV checks headers, not the full state

Section 8 of the white paper describes simplified payment verification: keep the headers of the most-work chain and use a Merkle branch to check inclusion. The client verifies header proof of work and ordering without downloading every transaction.

It does not reconstruct the UTXO set or check every signature, script and issuance rule. It relies more heavily on miner incentives and on peers not hiding relevant information.

02

BIP 37 exposes a filter to the server

A BIP 37 wallet sends a Bloom filter made from watched keys, scripts and outputs. A full-node peer returns matches and a partial Merkle tree; false positives obscure the exact interest but increase traffic.

Repeated filters can still link addresses to each other and to a client's network connection. A malicious peer may omit data, and a proof of presence cannot demonstrate completeness.

03

BIPs 157 and 158 reverse the direction

A full node creates a deterministic compact filter for each block. The client downloads it, checks locally for its scripts and obtains the complete block after a match, rather than sending an address-derived query to each serving peer.

BIP 157 chains filter headers and defines P2P retrieval. Comparing peers helps expose a bad filter when at least one source is honest, though fetching matched blocks can still leave network clues.

04

Two meanings of compact

BIP 157/158 filters help light clients find relevant historical blocks. BIP 152 compact block relay reconstructs a newly announced block from transactions a full node already has in its mempool. They solve different problems.

A full node provides the strongest independent verification but costs resources and maintenance. A light client is a legitimate constrained-device trade-off when its interface honestly states what it verifies and where data comes from.

Level 10 · Verification and second layers

Terms to know

SPV
Simplified payment verification using block headers and inclusion proofs.
Bloom filter
A probabilistic set with possible false positives, used by BIP 37.
Compact block filter
A deterministic filter of one block's content defined by BIP 158.

Common misconception

A wallet with headers and a Merkle proof verifies Bitcoin as completely as a full node.

A more accurate explanation

It verifies header work and one transaction's inclusion, not all transactions and consensus rules across the chain.

A more accurate explanation

Are light wallets inherently unsafe?

No. They can be a reasonable mobile compromise, but security and privacy depend on the protocol, peer set and download pattern. A personal full node minimises those dependencies.

98

Key takeaways

  1. 01SPV checks headers and inclusion, not every rule.
  2. 02BIP 37 sends a client Bloom filter to a peer.
  3. 03BIP 157/158 move block matching to the client.
  4. 04Compact filters are not compact block relay.

A child-friendly recap

In very simple terms

A light wallet checks block headers and proof for its transaction, but checks less than a full node. Compact filters help it search locally without sending a whole address list to somebody else's server.

Reviewed: 10 September 2026

Sources and further reading

Sources support particular facts and definitions; listing one does not mean the editors endorse every view of its author.

01
Bitcoin white paper: simplified payment verificationBitcoin.org
bitcoin.org
02
BIP 37: connection Bloom filteringBitcoin Improvement Proposals
bips.dev
03
BIP 157: client-side block filteringBitcoin Improvement Proposals
bips.dev
04
BIP 158: compact block filtersBitcoin Improvement Proposals
bips.dev

Educational material, not an investment recommendation.