Wat zijn ZK SNARKS?

Wat zijn ZK SNARKS?
Hoe werken ZK SNARKS?

ZK SNARKS zorgen ervoor dat een blockchain schaalbaar wordt en dat de privacy van gebruikers gegarandeerd wordt via deze cryptografische techniek.

De afkorting staat voor zero knowledge Succinct Non-Interactive Argument of Knowledge. Dat is een hele mond vol. Laten we de termen in dit acroniem eens verklaren, waardoor het een beetje begint te dagen waar het hier over gaat.

Zero knowledge betekent dat je geen informatie hebt over of er niks van weet. Succinct betekent kort, bondig of beknopt. Non-Interactive betekent niet interactief, dat was een gemakkelijke. Argument betekent in deze “zin” bewijs. Knowledge betekent kennis, zoals je wel zult weten.

Nou, laten we de zin eens opschrijven zoals hij ongeveer moet luiden: het concept van ZK SNARKS houdt in dat je “niks weet van een bondig niet-interactief bewijs van kennis”.

Kijk, nu komen we ergens. Nou ja, misschien niet, maar er zal wel al iets gaan dagen van waar we het hier over hebben. Het is in ieder geval een lastig onderwerp.

1.054 woorden
4-7 minuten

De onderdelen van ZK SNARKS in het kort

  • Zero Knowledge – de verificator (smart contract of algoritmisch bewijs) controleert of de geleverde informatie of transactie klopt, zonder de inhoud te weten
  • Succinct – het bewijs is veel kleiner dan de originele data en kan daardoor erg snel gecontroleerd worden
  • Non-Interactive – er is geen wederzijdse communicatie noodzakelijk tussen wie het bewijs levert en wie dit controleert, behalve een kort berichtje in een enkele stap
  • Argument of Knowledge – hiermee bewijst de afzender dat hij het bewijs in zijn bezit heeft

Scan de QR-code of klik de link om lid te worden bij Whitebit en je exclusieve korting te claimen op de toch al goedkope transactiekosten van 0,1% bij deze exchange. Maak zelf ook referrals en krijg 40-50% commissie over hun transactiekosten.

Een allegorie

Om het even wat lichter te maken zullen we het over Ali Baba hebben. Nee, we gaan niks bestellen en we gaan je ook niet beroven!

Een visuele manier om dit concept uit te beelden is een grot met twee gangen. Deze gangen lopen allebei dood. Er is tussen de twee gangen een muur waar je alleen doorheen komt als je het wachtwoord weet. Binnen deze muren ligt de schat van Ali Baba.

Een rover zit je op te wachten en deze weet dat beide gangen doodlopen. Hij is dan ook erg verbaasd als hij je met een gedeelte van de schat terug ziet lopen. Uiteraard wil hij de schat hebben, maar daar heeft hij het wachtwoord voor nodig. Jij hebt immers aan hem bewezen dat je het wachtwoord weet, zonder dat je hem dat hebt medegedeeld.

Zo werken ZK SNARKS. Je bewijst dat je geheime informatie als een wachtwoord kent, zonder dat aan de ander mede te delen. Sesam, open u! Laten we hopen dat je niet gemarteld wordt om het wachtwoord prijs te geven!

Hoe werken ZK SNARKS?

Dit wordt geen eenvoudige kost en een gewaarschuwd mens telt voor twee. Dat betekent dat ik dubbel zo veel lezers heb!

In de begindagen van de zero knowledge protocollen moesten de prover en de verifier een tenniswedstrijd houden voordat beiden het erover eens waren dat ze een bepaald iets wisten. Na een paar rondes van informatie-uitwisseling kon men pas tot daden overgaan, zoals een transactie.

Voorbeeld Zcash

Z(ero)cash, een van de belangrijkste coins die werkt met ZK SNARKS, lost dit op door de zender te laten bewijzen dat hij de private sleutels heeft en dus Zcash kan uitgeven, zonder te onthullen hoeveel hij heeft, wie hij is of wat hij gaat uitgeven.

Deze private sleutels van de input zijn zodanig cryptografisch gelinkt aan een handtekening voor de hele transactie dat buitenstaanders deze transactie niet kunnen wijzigen zonder de private sleutel.

Het equivalent van de UTXO (unspent transaction output) bij Bitcoin heet bij Zcash een “commitment” en gaat vergezeld door een “nullifier”. Het is een zogenaamde “shielded transaction”, waarbij belangrijke informatie verhuld wordt.

Hashing

Deze twee worden opgeslagen als een hash, zodat er geen identificeerbare informatie verstuurd wordt.

Een commitment bestaat uit de hash van: het adres van de ontvanger, de hoeveelheid die ernaar gestuurd wordt, een cijfer “rho” waar de nullifier later uit gecreëerd wordt en een random nonce (number only used once, willekeurig getal om te voorkomen dat er een “replay attack” komt, double spending dus).

Als een shielded transaction uitgegeven wordt, gebruikt de zender zijn “spending key” om een nullifier te publiceren, die de hash is van een geheim nummer (rho) van een bestaand commitment dat nog niet uitgegeven is. Hierbij levert hij een zero knowledge proof, waarmee hij bewijst dat hij geautoriseerd is om het uit te geven.

De zero knowledge proof voor een shielded transaction verifieert dat voor elke input note er een onthuld commitment bestaat. Verder verifieert het dat de nullifiers en note commitments goed berekend zijn en dat de nullifier niet overeenkomt met die van een andere note.

De keys die hierbij gemaakt worden om te verifiëren en bewijzen worden aan alle deelnemers in het netwerk medegedeeld. De zender bewijst dat zijn inputs kloppen. De verificators checken of de shielded transactions de consensusregels volgen. Het meeste werk wordt hierbij gedaan door de zender, waardoor de verificators veel sneller klaar zijn en transacties snel geverifieerd kunnen worden.

Waarvoor worden ZK SNARKS gebruikt?

  • Privacy coins
  • Digitale identiteit verifiëren zonder deze te onthullen
  • De echtheid of veiligheid van goederen verifiëren zonder essentiële bedrijfsgeheimen te onthullen

Conclusie

Op dit moment is het nog te arbeidsintensief om deze techniek op grote schaal te gebruiken in de meeste applicaties, maar er wordt gewerkt aan het optimaliseren ervan, zodat er steeds meer mogelijkheden komen om informatie uit te wisselen zonder input weer te geven of informatie te lekken.

Deze complexe techniek kan erg belangrijk worden als aan de voorwaarden van kosteneffectiviteit en toepasbare rekenkracht van dit protocol wordt voldaan. Privacy is immers een heel belangrijk goed voor grote netwerken binnen organisaties of de overheid, net als schaalbaarheid.

Cryptocurrencies die met zero knowledge proof werken (privacy coins) kunnen wel te maken krijgen met regulatie of een verbod van de overheid. De overheid wil nou eenmaal weten waar deze munten vandaan komen en van wie ze zijn via anti money laundering wetten.

Scroll naar boven