Wat is Simplified Payment Verification (SPV)?
Simplified Payment Verification (SPV) is een manier voor een wallet om te controleren of een betaling echt is zonder elk blok en elke transactie te downloaden. Het kijkt naar kleine samenvattingen en een klein bewijs om je tegoeden te bevestigen. Zie het als het controleren van een bon in plaats van het doorlezen van het volledige kasboek van de winkel.
SPV biedt niet precies dezelfde veiligheid als het draaien van je eigen node. Het is sterk voor betalingscontroles, maar vertrouwt nog op peers voor bepaalde informatie, dus het is niet gelijk aan volledige lokale regelcontroles.
Hoe Simplified Payment Verification (SPV) werkt
Stel je een mobiele wallet voor die een betaling wil bevestigen terwijl je wacht op koffie. Hij praat met peers, haalt kleine headers op en vraagt om een kort bewijs dat aan je transactie is gekoppeld. Kort overzicht:
- Stap 1: De wallet maakt verbinding met peers en vraagt om de blokheaders van de blockchain.
- Stap 2: Vervolgens vraagt hij Merkle bewijzen die aantonen dat je betaling zich bevindt in de Merkleboom voor dat blok.
- Stap 3: De wallet verifieert het bewijs aan de hand van de header en telt hoeveel blokken erna kwamen.
- Stap 4: Als peers het oneens zijn, vergelijkt hij meerdere bronnen en geeft hij de voorkeur aan de headerketen met het meeste werk.
- Stap 5: Zodra het aantal bevestigingen aan je instelling voldoet, markeert de wallet de betaling als goed.
Kort traject, weinig data, snel antwoord. Prettig.
Waarom Simplified Payment Verification (SPV) ertoe doet
Waarom dit voor jou relevant is:
- Voordeel: Het bespaart mobiele data en tijd, omdat het nauwelijks je bandbreedte belast.
- Perspectief: Het ruilt sommige controles in voor snelheid, terwijl Full Nodes het zware werk doen met maximale onafhankelijkheid.
- Relevantie: Je komt het tegen in mobiele wallets, lichte clients en dagelijkse betalingen waar gemak telt.
Gebruik wallets die met veel peers verbinden en wacht bij grotere bedragen op een paar bevestigingen. Meer ogen, minder verrassingen.
Belangrijkste kenmerken van Simplified Payment Verification (SPV)
Wat het onderscheidt:
- Licht: Downloadt headers, niet volledige blokken, waardoor het snel opstart en zuinig blijft met opslag.
- Bewijs: Gebruikt compacte lidmaatschapsbewijzen gekoppeld aan elk blok.
- Vertrouwen: Slaat volledige transactievalidatie over, dus het gaat ervan uit dat de meeste miners eerlijk zijn.
- Privacy: Kan je interesses aan peers verraden tenzij filters of trucs worden toegepast.
- Synchronisatie: Handig voor telefoons en onbetrouwbare WiFi doordat de opslag klein blijft.
Varianten
SPV kent een paar varianten die je zult tegenkomen:
- Klassiek: Vraagt headers en per transactie bewijzen op bij peers.
- Neutrino: Downloadt compacte filters zodat de wallet alleen de blokken ophaalt die relevant zijn, met betere privacy.
- Hybride: Mix van filters en directe bewijzen voor een evenwicht tussen snelheid en privacy.
- Watch: Monitorstand op desktop of telefoon die betalingen volgt zonder dat privésleutels online staan.
SPV bewijst inclusie en het werk erbovenop, niet elke regel op je apparaat. Voor maximale onafhankelijkheid draai je je eigen full node.
Voorbeeld
Je komt in een nieuwe stad aan, opent een mobiele wallet, deze haalt verse headers op, controleert een bewijs voor je inkomende betaling en toont bevestigd voordat je rit arriveert.
Leuk weetje
Satoshi beschreef SPV in het Bitcoin paper als een zuinige manier voor gebruikers om betalingen te verifiëren zonder zware downloads, lang voordat mobiele wallets populair waren.
Samenvatting
Zie het zo: SPV laat je de bon vertrouwen zonder het hele archief mee te slepen. Daarom kan je telefoon aanvoelen als een kleine bank met nette manieren.
