Privacy is een belangrijke factor op de blockchain. Helemaal in de begindagen van bitcoin werd het met namen gebruikt voor deze eigenschap. Gaandeweg kwam men erachter dat bitcoin echter niet 100% anoniem is. Je naam staat weliswaar niet bij je wallet, maar mensen met verstand van de blockchain kunnen transacties een behoorlijk eind volgen. zk-SNARK is een van de technieken die door veel privacy coins gebruikt wordt.
Wat is zk-SNARK?
zk-SNARK oftewel Zero-Knowledge Succinct Non-Interactive Argument of Knowledge is een cryptografisch bewijs dat eigendom kan bewijzen aan een ander. Met zk-SNARK kun je iemand bewijzen dat je bepaalde informatie hebt zonder deze informatie prijs te geven.
Een interessant voorbeeld dat zk-SNARK illustreert komt uit 1998. Dit is het voorbeeld van de grot van Ali Baba. In het voorbeeld wordt er gesproken over een grot die op een bepaald moment opsplitst in twee gangen. De gangen zijn een cirkel, maar ze lopen op een gegeven moment dood. Op het eerste gezicht zou je zeggen dat je weer bij de splitsing uit moet komen als je een van de twee gangen neemt, maar doordat het dood loopt lukt dit niet.
Op het doodlopende punt is een magische muur waar je met een wachtwoord (geheime informatie) doorheen kunt. Hoe kun je bewijzen aan iemand dat je het wachtwoord weet zonder dat je die persoon het wachtwoord geeft?
In het voorbeeld staat een cameraploeg op de splitsing. Jij weet het wachtwoord en loopt de linker gang in. Als je via de rechter gang weer bij de cameraploeg uit komt heb je bewezen dat je de muur kunt openen met het wachtwoord zonder dat je het wachtwoord prijsgegeven hebt aan de cameraploeg.
Hoe werkt dit op de blockchain?
zk-SNARK is een manier om te bewijzen voor persoon A dat een bepaalde uitspraak waar is aan persoon B. Je kunt dit wel zien als het bewijzen dat je 18 jaar of ouder bent zonder je geboortedatum prijs te geven. In het geval van blockchain encryptie gaat het om transactie-informatie dat verborgen wordt. Wallet adressen, de waarde van een transactie en dat soort data. Hoe meer van deze data verborgen kan worden, hoe anoniemer de transacties zijn.
Met behulp van zk-SNARK encryptie kan iemand op de blockchain bewijzen dat hij bijv. beschikt over genoeg saldo zonder hiervoor prijs te hoeven geven hoeveel saldo dat precies is. Een groot verschil met bijvoorbeeld de bitcoin blockchain is dat alle wallet adressen weergegeven zijn. Ontvang je een transactie van mij? Dan kun je op de block Explorer precies zien van welk adres dit afkomstig is en hoeveel saldo er op dat adres staat.
Enkele van de meest bekende voorbeelden van privacy coins die gebruikmaken van zk-SNARK zijn Monero en Zcash. Andere projecten, bijvoorbeeld Celo, geven aan meer nieuwe toepassingen met de technologie te willen ontwikkelen. We horen de term nog steeds niet zo vaak voorbij komen, maar het is duidelijk dat het zorgt voor een verbeterde privacy op de blockchain. Ook het bekende EY (Ernst & Young) experimenteert met de techniek.
Nog lang niet ieder cryptocurrency project is bezig met zk-SNARK. Het is ook maar de vraag of dat gaat gebeuren omdat het een relatief ingewikkelde techniek is. Je kunt je voorstellen dat regelgevers er niet om staan te springen dat straks alle transacties volledig verborgen zijn.
Voor mensen in ontwikkelingslanden daarentegen kan het juist een hele interessante techniek zijn. Als je je geld moet verbergen voor een streng regime kunnen dergelijke techniek juist van levensbelang zijn.
zk-SNARK is een interessante techniek en hoe dieper je erin duikt hoe ingewikkelder het lijkt. Ik hoop in ieder geval dat de basis je na het lezen van dit artikel een beetje duidelijk is geworden. zk-SNARK is een manier waarop je informatie op de blockchain kunt verbergen en bewijzen aan een ander zonder dat je de informatie prijs hoeft te geven.
Het artikel zk-SNARK – Privacy op de blockchain verscheen als eerst op CurrentCrypto.nl.