SPV ověřuje hlavičky, ne celý stav
Sekce 8 whitepaperu popisuje simplified payment verification: klient drží hlavičky řetězce s největší prací a Merkleovou větví ověří zařazení. Kontroluje proof of work a pořadí hlaviček, aniž stahuje všechny transakce.
Nevytváří však UTXO set ani nekontroluje každý podpis, skript a emisní pravidlo. Více spoléhá na pobídky těžařů a na to, že mu peeři nezatají relevantní informace.
BIP 37 odhaluje filtr serveru
Peněženka podle BIP 37 pošle Bloomův filtr vytvořený ze sledovaných klíčů, skriptů a výstupů. Peer vrátí shody a částečný Merkleův strom; falešně pozitivní shody zastírají přesný zájem, ale zvyšují provoz.
Opakované filtry mohou přesto spojovat adresy navzájem i se síťovým připojením. Škodlivý peer může data vynechat a důkaz přítomnosti neprokazuje úplnost odpovědi.
BIP 157 a 158 obracejí směr
Plný uzel vytvoří pro každý blok deterministický kompaktní filtr. Klient jej stáhne, místně hledá své skripty a po shodě získá celý blok, místo aby každému peeru posílal dotaz odvozený z adres.
BIP 157 řetězí hlavičky filtrů a definuje jejich P2P přenos. Porovnání peerů pomáhá odhalit vadný filtr, pokud je alespoň jeden zdroj poctivý; stažení odpovídajícího bloku ale stále může zanechat síťové stopy.
Dva významy slova compact
Filtry BIP 157/158 pomáhají lehkým klientům nalézt relevantní historické bloky. Compact block relay podle BIP 152 skládá nově oznámený blok z transakcí, které už plný uzel má v mempoolu. Řeší jiné problémy.
Vlastní plný uzel nabízí nejsilnější nezávislé ověřování, ale vyžaduje prostředky a údržbu. Lehký klient je legitimní kompromis pro omezené zařízení, pokud poctivě uvádí, co ověřuje a odkud bere data.