zk-SNARKs en zk-STARKs uitgelegd

Delen
zk-SNARKs en zk-STARKs uitgelegd
Luister naar het artikel
00:00 / 00:00

Privacy is altijd gezien als een waardevolle eigenschap binnen de cryptocurrency-gemeenschap. Het is de voorloper van fungibiliteit of deelbaarheid, wat noodzakelijke eigenschap is voor een breed geaccepteerde vorm van geld. Op dezelfde manier willen de meeste houders van crypto niet dat hun bezit en transactiegeschiedenis volledig openbaar zijn. Van de verschillende cryptografische technieken die erop gericht zijn om privacy van blockchains te garanderen zijn de zk-SNARK en zk-STARK protocollen twee opmerkelijke voorbeelden.

zk-SNARK staat voor zero-knowledge succinct non-interactive argument of knowledge en zk-STARK voor zero-knowledge succinct transparent argument of knowledge. Zk-SNARK wordt al gebruikt in Zcash, het op blockchain gebaseerde betalingssysteem van de Amerikaanse bank JP Morgan Chase, als een manier om klanten veilig te laten communiceren met de servers van de bank. Maar hoewel zk-SNARK aanzienlijke vooruitgang heeft geboekt in het kader van reputatie en adoptie, worden zk-STARK proofs nu aangeprezen als de nieuwe en verbeterde versie van dit protocol waarbij veel van de nadelen van zk-SNARK zijn opgelost.


De gelijkenis met de grot van Ali Baba

In 1990 publiceerde de cryptograaf Jean-Jacques Quisquater (samen met een aantal anderen) een studie getiteld "How to Explain Zero-Knowledge Protocols to Your Children". De krant introduceert het concept van ZK proofs door een vergelijking te maken met de grot van Ali Baba (Ali Baba’s Cave Parable). Sindsdien is deze gelijkenis meerdere malen aangepast en bestaan er verschillende variaties. Toch is de onderliggende gedachte in wezen nog altijd hetzelfde.

Stel je een ringvormige grot voor met een enkele ingang en een magische deuropening die de twee zijpaden van elkaar scheidt. Om door de magische deuropening te gaan, moet je de juiste geheime woorden fluisteren. Stel je voor dat dat Alice (geel) aan Bob (blauw) wil bewijzen dat ze weet wat de geheime woorden zijn - zonder dat ze deze doorvertelt. Om dit te doen, stemt Bob ermee in om buiten te wachten terwijl ze de grot betreedt en doorloopt tot het einde van een van de twee mogelijke paden. In dit voorbeeld besluit ze voor pad 1 te kiezen.

zk-SNARKs en zk-STARKs uitgelegd

Na een tijdje loopt Bob naar de ingang toe en schreeuwt hij van welke kant hij wil dat Alice verschijnt (in dit geval pad 2).

zk-SNARKs en zk-STARKs uitgelegd

Als Alice echt het geheim kent, zal ze inderdaad het pad van Bob kunnen kiezen.

zk-SNARKs en zk-STARKs uitgelegd

Het hele proces kan meerdere malen worden herhaald als een manier om te bevestigen dat Alice niet toevallig het juiste pad kiest.

Ali Baba’s grot illustreert het concept van zero-knowledge proofs die deel uitmaken van de zk-SNARK en zk-STARK protocollen. ZK proofs kunnen worden gebruikt om het bezit van bepaalde kennis te bewijzen zonder er informatie over te onthullen.


zk-SNARKs

Zcash is de eerste wijdverspreide toepassing van zk-SNARKs. Terwijl andere privacyprojecten zoals Monero gebruik maken van ‘ring signatures’ en andere technieken - waarmee effectief een rookgordijn wordt gecreëerd rondom wie wat stuurde - veranderen zk-SNARKs fundamenteel de manier waarop gegevens worden gedeeld. De privacy van Zcash wordt afgeleid uit het feit dat transacties in het netwerk versleuteld kunnen blijven, maar toch als geldig kunnen worden geverifieerd met behulp van zero-knowledge proofs. Degenen die consensusregels afdwingen, hoeven dus niet alle gegevens te kennen die ten grondslag liggen aan elke transactie. Het is de moeite waard om te vermelden dat privacyfuncties in Zcash niet standaard actief zijn, maar eerder optioneel en afhankelijk van handmatige instellingen zijn.

Zero-knowledge proofs stellen een individu in staat om aan een ander te bewijzen dat een verklaring waar is, zonder dat er informatie wordt vrijgegeven die verder gaat dan de geldigheid van de verklaring. De betrokken partijen worden doorgaans aangeduid als prover en verifier, en de verklaring die zij geheim houden, wordt de witness genoemd. Het belangrijkste doel van deze bewijzen is om zo weinig mogelijk gegevens tussen de twee partijen bekend te maken. Met andere woorden, men kan gebruik maken van zero-knowledge proofs om aan te tonen dat men over bepaalde kennis beschikt zonder enige informatie over de kennis zelf te onthullen.

Binnen de afkorting SNARK betekent ‘succint’ dat deze bewijzen kleiner zijn en snel gecontroleerd kunnen worden. ‘Non-interactive’ betekent dat er weinig tot geen interactie is tussen de prover en de verifier. Oudere versies van zero-knowledge protocollen vereisen meestal dat de prover en verifier heen en weer communiceren en worden daarom beschouwd als 'Interactive’ zk-proeven. Maar in ‘non-interactive’ constructies hoeven de provers en verifiers slechts één bewijs uit te wisselen.

Momenteel zijn zk-SNARK-proeven afhankelijk van een eerste vertrouwde setup tussen een prover en verifier, wat betekent dat er een set van publieke parameters nodig is om zero-knowledge proofs en, dus, private transacties te construeren. Deze parameters zijn bijna gelijk aan de regels van het spel. Ze zijn gecodeerd in het protocol en zijn een van de noodzakelijke factoren om aan te tonen dat een transactie geldig was. Dit creëert echter een potentieel centralisatieprobleem, omdat de parameters vaak door een zeer kleine groep worden geformuleerd.

Hoewel een eerste vertrouwde setup fundamenteel is voor de huidige zk-SNARK-implementaties, zijn onderzoekers op zoek naar andere alternatieven om het vereiste vertrouwen in het proces te verminderen. De eerste setup-fase is belangrijk om valse uitgaven te voorkomen, want als iemand toegang had tot de willekeurige nummergenerator die de parameters aanmaakte, konden ze valse bewijzen creëren die voor de verifier geldig leken te zijn. In Zcash staat de initiële setup-fase bekend als de Parameter Generation Ceremony.

Kijken we naar het ‘ARguments’ deel van het acroniem, dan heeft dat betrekking op de rekenkundige correctheid van zk-SNARKs. Dit betekent dat een oneerlijke prover een zeer lage kans heeft om het systeem met succes te bedriegen. Deze eigenschap staat bekend als soundness en gaat ervan uit dat de prover een beperkte rekenkracht heeft. Theoretisch gezien zou een prover met voldoende rekenkracht valse proofs kunnen maken. Dit is een van de redenen waarom quantumcomputers door velen worden beschouwd als een bedreiging voor zk-SNARKs en blockchain-systemen.

Het laatste stukje van de afkortingspuzzel is ‘Knowledge’, wat betekent dat het voor de prover niet mogelijk is om een bewijs te construeren zonder de kennis (of witness) om zijn verklaring te ondersteunen.

Zero-knowledge proofs zijn snel controleerbaar en nemen meestal veel minder ruimte in beslag dan een standaard Bitcoin-transactie. Dit opent een pad voor zk-SNARK-technologie om te worden gebruikt als zowel een privacy- als schaalbaarheidsoplossing.


zk-STARKs

zk-STARKs zijn gemaakt als alternatief voor zk-SNARK proofs en worden beschouwd als een snellere en goedkopere implementatie van de technologie. Maar belangrijker nog, zk-STARKs vereisen geen initiële vertrouwde setup (vandaar de ‘T’ voor transparant).

Technisch gezien hebben zk-STARKs geen initiële vertrouwde setup nodig, omdat ze afhankelijk zijn van slankere cryptografie door middel van collision-resistant hashing-functies. Deze benadering elimineert ook de getaltheoretische aannames van zk-SNARKs die rekenkundig duur en theoretisch gevoelig zijn voor aanvallen door quantumcomputers.

Een van de belangrijkste redenen waarom zk-STARKs een goedkopere en snellere implementatie bieden, is dat het aantal communicatierondes tussen provers en verifiers constant blijft ten opzichte van een eventuele toename in de rekenkracht. Hoe meer berekeningen er daarentegen in zk-SNARKs nodig zijn, hoe meer partijen er berichten heen en weer moeten sturen. Daarom is de totale datagrootte van zk-SNARKs veel groter dan de data van zk-STARK proofs.

Het is duidelijk dat zowel zk-SNARKS als zk-STARKs een antwoord zijn op de groeiende bezorgdheid over privacy. Binnen de wereld van de cryptocurrency hebben deze protocollen een groot potentieel en kunnen ze een baanbrekende factor zijn in de richting van mainstream-adoptie.

Loading