SPV overuje hlavičky, nie celý stav
SPV znamená simplified payment verification, teda zjednodušené overovanie platby. Klient sťahuje hlavičky blokov najpracnejšieho reťazca a kontroluje ich proof of work aj vzájomné nadväzovanie. Merkle vetva mu dokáže zaradenie konkrétnej transakcie.
Taký klient nesťahuje všetky transakcie, preto neprepočíta celý UTXO set. UTXO set je zoznam všetkých neminutých výstupov a klient nekontroluje každý podpis, skript ani pravidlo emisie. Potrebuje tiež peery, ktorí mu nezamlčia potrebné údaje.
BIP 37 odhaľuje filter serveru
BIP 37 používa Bloom filter, teda pravdepodobnostný zoznam hľadaných prvkov. Peňaženka doň vloží sledované skripty a výstupy a potom filter pošle plnému uzlu. Peer vráti zhodné transakcie a čiastočný Merkle strom.
Bloom filter zámerne vytvára aj falošné zhody, ktoré sa nazývajú falošné pozitíva. Trochu maskujú skutočný záujem, ale zvyšujú prenos dát. Opakované dotazy môžu napriek tomu spájať adresy s IP. Škodlivý peer môže výsledok aj neúplne podať.
BIP 37 zaťažuje aj obsluhujúci plný uzol. Musí pre klienta sledovať jeho filter. Merkle dôkaz navyše potvrdí iba vrátenú transakciu. Nepotvrdí, že peer poslal všetky zhody.
BIP 157 a 158 obracajú smer
BIP 158 definuje kompaktný filter každého bloku a rovnaký blok podľa pravidiel vytvorí rovnaký filter. Ľahký klient si ho stiahne a kontroluje lokálne. Porovná ho so svojimi skriptmi. Pri možnej zhode si vyžiada celý blok.
Klient tak neposiela zoznam adries každému peeru. Filter má stále možné falošné pozitíva. Nemá však falošné negatíva, ak bol vytvorený správne. Zhoda teda môže byť navyše. Skutočný sledovaný prvok by chýbať nemal.
BIP 157 určuje P2P správy a hlavičky filtrov, ktoré spájajú filtre do overiteľnej postupnosti. Klient môže porovnať odpovede viacerých peerov. Stále však potrebuje dostupný poctivý zdroj dát. Aj následné stiahnutie bloku môže zanechať sieťovú stopu.
Názov compact neznamená rovnaký protokol
Kompaktné blokové filtre hľadajú zaujímavé bloky. Používajú ich najmä ľahkí klienti. Compact block relay podľa BIP 152 robí niečo iné. Zrýchľuje prenos nového bloku medzi plnými uzlami. Využíva transakcie, ktoré už majú v mempoole.
Najsilnejšie overovanie poskytuje vlastný plný uzol. Vyžaduje však viac dát, výpočtov a údržby. Ľahký klient môže byť rozumný kompromis pre telefón. Peňaženka má jasne uviesť jeho hranice. Dôležitý je aj výber zdrojových peerov.