Wat is Zero Knowledge Proof (ZKP)?
Zero Knowledge Proof (ZKP) is een manier om aan te tonen dat iets waar is zonder de achterliggende gegevens te onthullen. Denk aan aantonen dat je een wachtwoord kent zonder het in te typen, of bevestigen dat je ouder bent dan 21 zonder je geboortedatum te tonen. Magisch effect, wiskundige basis.
ZKPs verbergen niet per se alles, dus ze zijn niet alleen voor stiekem gedrag. Een Zero Knowledge Proof (ZKP) bewijst een specifieke bewering die jij definieert, en de verifier kan die nog steeds grondig controleren zonder jouw geheimen te zien.
Hoe Zero Knowledge Proof (ZKP) werkt
Korte uitleg met een vriendelijk voorbeeld. Je wilt bewijzen dat je genoeg fondsen hebt voor een transactie zonder je saldo te onthullen.
- Stap 1: Je kiest een bewering zoals 'mijn saldo is minstens X' en zet je verborgen gegevens vast met willekeurigheid.
- Stap 2: Je maakt een bewijs op basis van die verborgen gegevens plus openbare informatie, zodat de wiskunde klopt.
- Stap 3: Je stuurt het bewijs naar de verifier, niet het geheim.
- Stap 4: De verifier voert een controle uit die het bewijs accepteert of verwerpt. Zonder je saldo te bekijken.
- Stap 5: Als het wordt geaccepteerd kan iedereen datzelfde bewijs later opnieuw verifiëren zonder opnieuw met jou te communiceren.
Onder de motorkap steunt het op serieuze cryptografie. Ja, wiskunde houdt de bewijzen bij.
Waarom Zero Knowledge Proof (ZKP) belangrijk is
Waarom zou het jou interesseren? Drie korte punten.
- Voordeel: Bewijs wat nodig is en houd de rest voor jezelf. Minder lekken, minder risico.
- Perspectief: Apps die minimale gegevens gebruiken voelen modern, alsof luxe en online discussies elkaar ontmoeten. Deel alleen wat nodig is.
- Relevantie: Je zult ZK zien in rollups, privéoverdrachten en identiteitscontroles op elke serieuze blockchain.
Als je hoort dat deze app ZK gebruikt, vraag dan twee dingen: wat precies wordt bewezen en of er een trusted setup nodig was. Als je geeft om gegevenscontrole past ZK goed bij sterke privacypraktijken buiten het bewijs.
Belangrijkste kenmerken van Zero Knowledge Proof (ZKP)
Wat het speciaal maakt, in eenvoudige woorden.
- Privaat: De verifier weet dat de bewering klopt zonder jouw geheim te achterhalen.
- Bondig: Bewijzen kunnen klein zijn en snel te controleren, zelfs on chain.
- Snel: Verificatie is lichter dan het volledig opnieuw uitvoeren van je berekening.
- Samenstelbaar: Je kunt bewijzen stapelen of veel controles in één samenvoegen.
- Schaalbaar: Dit helpt schaalbaarheid door zwaar werk van verifiers te halen terwijl de juistheid behouden blijft.
Varianten
Verschillende varianten passen bij verschillende taken.
- SNARKs: Korte bewijzen, snelle verificatie, meestal is er een trusted setup nodig.
- STARKs: Geen trusted setup, grotere bewijzen, vriendelijk voor post quantum onderzoek.
- Bulletproofs: Geschikt voor range checks, vaak gebruikt bij privébedragen.
- Sigma: Klassieke interactieve stijl, veelal behandeld in cursussen.
ZKP beveiligt je app niet op zichzelf. Als je bewering te zwak is of je opzet slordig, kan het bewijs wel correct zijn maar weinig nuttig. Ontwerp de bewering zorgvuldig.
Voorbeeld
Een stad houdt een stemming waarbij kiezers bewijzen dat ze stemgerechtigd zijn en nog niet gestemd hebben, terwijl hun identiteit verborgen blijft voor de openbare telling.
Leuk weetje
De klassieke truc om ZK uit te leggen gebruikt twee identiek gekleurde ballen en een blinddoektest om te laten zien dat je ze kunt onderscheiden zonder te onthullen welke welke is. Nerdig, maar het werkt.
Samenvatting
Kort gezegd is Zero Knowledge Proof (ZKP) bewijs zonder te veel te delen, zodat je kunt zeggen "ik kan het bewijzen zonder het te laten zien".
