Wat zijn zk-SNARK- en zk-STARK-proofs?
Basis
Cryptovaluta-enthousiastelingen hechten veel waarde aan privacy, wat essentieel wordt gezien om fungibiliteit te bereiken — een belangrijke eigenschap zodat geld breed geaccepteerd kan worden. De meeste crypto-bezitters geven er de voorkeur aan hun bezittingen en transactiegeschiedenis niet openbaar te maken. Verschillende cryptografische methoden zijn ontwikkeld om privacy op de blockchain te bieden. Twee van de meest opmerkelijke zijn zk-SNARK- en zk-STARK-proofs.
De zk-SNARK- en zk-STARK-proofs zijn afkortingen voor respectievelijk de zero-knowledge succinct non-interactive argument of knowledge en de zero-knowledge succinct transparent argument of knowledge. zk-SNARKs worden al toegepast in Zcash, in het blockchain-gebaseerde betalingssysteem van JP Morgan Chase en als een manier om clients aan servers te authenticeren. Hoewel zk-SNARKs breed zijn geaccepteerd, zijn zk-STARK-proofs geïntroduceerd als een verbeterde versie van het protocol die enkele problemen van zk-SNARKs aanpakt.
De parabel van Ali Baba's grot
De cryptograaf Jean-Jacques Quisquater en zijn medewerkers publiceerden in 1990 een paper getiteld "How to Explain Zero-Knowledge Protocols to Your Children," waarin het concept van zk-proofs werd geïntroduceerd via een parabel met Ali Baba's grot. Sindsdien zijn er verschillende aanpassingen van het verhaal gemaakt, maar het fundamentele concept blijft hetzelfde.
De parabel draait om een ringvormige grot met één toegang en een magische deur die twee paden scheidt. Om door de deur te gaan, moet men het juiste geheime woord fluisteren. In het verhaal wil Emma aan David bewijzen dat ze de geheime woorden kent, zonder ze te onthullen. Daartoe stemt David ermee in buiten te blijven terwijl Emma de grot binnengaat en naar het einde van een van de twee paden loopt. In dit geval kiest Emma voor Pad 1.
David roept vanaf de ingang dat Emma via een specifiek pad weer naar buiten moet komen, in dit geval Pad 2. Als Emma het geheim kent, zal ze via het aangewezen pad verschijnen. Dit proces kan herhaald worden om te bevestigen dat Emma niet per ongeluk goed raadt.
Het Ali Baba-verhaal dient als voorbeeld van nulkennisbewijzen, een essentieel onderdeel van de zk-SNARK- en zk-STARK-protocollen. Deze bewijzen maken het mogelijk om bezit van bepaalde informatie te bevestigen zonder informatie daarover prijs te geven.
Hoe werken zk-SNARKs?
Het concept van nulkennisbewijzen is toegepast om de eerste breed beschikbare privacy-coin Zcash te creëren, met behulp van zk-SNARKs. In tegenstelling tot andere privacygerichte projecten die ringhandtekeningen en andere technieken gebruiken om transacties te verhullen, verandert Zcash fundamenteel de manier waarop data gedeeld wordt. Transacties in het Zcash-netwerk blijven versleuteld, maar kunnen toch als geldig worden geverifieerd met nulkennisbewijzen, waardoor consensusregels gehandhaafd worden zonder de onderliggende data van elke transactie te onthullen. Privacyfuncties in Zcash zijn echter niet standaard actief en vereisen handmatige configuratie.
Nulkennisbewijzen stellen een individu in staat om aan een ander te bewijzen dat een bewering waar is zonder enige informatie te onthullen behalve de geldigheid van die bewering. De partijen die betrokken zijn bij nulkennisbewijzen zijn een bewijzer (prover) en een verificateur (verifier), en de geheime informatie die ze bezitten wordt een witness genoemd. Het doel van nulkennisbewijzen is zo min mogelijk data tussen de twee partijen prijs te geven.
Binnen het zk-SNARK-acroniem betekent “succinct” dat bewijzen klein zijn en snel geverifieerd kunnen worden, terwijl “non-interactive” betekent dat er weinig tot geen interactie tussen bewijzer en verificateur nodig is. Oudere versies van nulkennisprotocollen vereisen dat bewijzer en verificateur heen en weer communiceren, waardoor ze "interactieve" ZK-bewijzen zijn. In "non-interactive" constructies hoeven partijen slechts één bewijs uit te wisselen.
Hoewel zk-SNARK-bewijzen afhankelijk zijn van een initiële trusted setup tussen bewijzer en verificateur, werken onderzoekers aan alternatieven om de benodigde mate van vertrouwen in het proces te verminderen. De initiële setup-fase is essentieel om vervalste uitgaven te voorkomen; in Zcash staat dit bekend als de Parameter Generation Ceremony.
De soundness-eigenschap van zk-SNARKs gaat ervan uit dat een oneerlijke bewijzer beperkte rekenkracht heeft; een bewijzer met voldoende rekenkracht zou namelijk valse bewijzen kunnen creëren. Daarom worden kwantumcomputers gezien als een bedreiging voor zk-SNARKs en blockchain-systemen.
Tot slot zijn nulkennisbewijzen snel verifieerbaar en nemen ze minder data in beslag dan standaard Bitcoin-transacties, waardoor ze geschikt zijn als zowel privacy- als schaalbaarheidsoplossing.
Hoe werken zk-STARKs?
Eli-Ben Sasson, hoogleraar aan het Technion-Israel Institute of Technology, ontwikkelde zk-STARKs als een alternatieve versie van zk-SNARK-bewijzen. zk-STARKs worden beschouwd als efficiënter — mogelijk sneller en goedkoper afhankelijk van de implementatie. In tegenstelling tot zk-SNARKs vereisen zk-STARKs geen initiële trusted setup, vandaar de "T" voor "transparent."
zk-STARKs vertrouwen op collision-resistant hashfuncties, waardoor de getaltheoretische aannames van zk-SNARKs komen te vervallen die zowel rekenkundig intensief zijn als theoretisch kwetsbaar voor aanvallen door kwantumcomputers. Deze benadering presenteert een eenvoudigere structuur qua cryptografische aannames.
Echter hebben zk-STARK-bewijzen minstens één groot nadeel: ze hebben grotere bewijsformaten vergeleken met zk-SNARKs. Dit verschil in datagrootte kan hun inzetbaarheid in sommige contexten beperken, maar dit is iets dat door verdere tests en onderzoek verbeterd kan worden.
Conclusie
Het potentieel van zk-SNARKs en zk-STARKs in de wereld van cryptovaluta is duidelijk, aangezien beide protocollen inspelen op de groeiende behoefte aan privacy. Deze technologieën bieden veelbelovende mogelijkheden en kunnen een belangrijke rol spelen bij bredere adoptie van cryptovaluta.