Het huwelijk van Zero Knowledge Proof en Machine Learning
We zijn gewend hoe banken en andere organisaties ons via veilige communicatie toegang geven tot onze eigen persoonlijke informatie. Maar de centrale partij heeft alle informatie in bezit en wij als gebruiker ‘mogen’ vriendelijk toegang vragen naar onze eigen informatie. De omgekeerde wereld! Toen in 2008 blockchain werd ontdekt, kon dat worden omgedraaid, omdat blockchain ‘in zichzelf’ zowel transparantie, onveranderlijkheid, decentralisatie en een gedistribueerd grootboek biedt. Gebruikers in staat stelt anoniem te handelen, zelf zijn data te beheren en met hoogwaardige beveiliging transacties uit te voeren. De toevoeging van Zero Knowledge Proof en machine learning maakt dat zelfs nog veiliger.
Is blockchain anoniem?
Blockchain geeft gebruikers controle over hun privacy (terug), maar is daar technisch en praktisch nog niet echt in geslaagd. Veel blockchain-netwerken maken gebruik van openbare databases. Iedereen met een internetverbinding kan de transactiegeschiedenis van een blockchain bekijken. Hoewel gebruikersnaam en transactie-inhoud onbekend blijven, kan iedereen de metagegevens zien die aan de transactie en de wallet zijn gekoppeld. Ook de openbare sleutel is zichtbaar; de unieke code die de gebruiker op het blockchain-netwerk vertegenwoordigt. Die openbare sleutel, die via cryptografietechniek is gemaakt, beschermt tot op zekere hoogte uw privacy. Maar het is nog steeds mogelijk om je te ontmaskeren.
De informatie van de gebruiker – opgeslagen op een blockchain-netwerk – is wel vertrouwelijk maar niet anoniem. Blockchain is in zichzelf niet zo anoniem en geheim als gedacht. Elk open blockchain-netwerk legt transacties vast in het grootboek en zijn zowel onveranderlijk als transparant van aard. De in-chain informatie is niet makkelijk te herleiden naar eigenaar en transactie, maar het is niet onmogelijk. Hierdoor aarzelen gereputeerde merken en markten zoals Wall Street om blockchain techniek te gebruiken, aangezien ‘know your customer’ en ‘vertrouwelijkheid van klant en transactie’ voor hen een must is. Hoe kan blockchain daar dan toch aan voldoen? Door de echtheid van een klant of transactie pas te bewijzen als dat echt nodig.
Zero Knowledge Proof
Een ‘Zero Knowledge Proof’ (ZKP), in het Nederlands een ‘nulkennisbewijs’, is een bewijs van kennis, waarbij de bewijzer aantoont dat hij een specifieke waarde kent zonder de waarde zelf te onthullen. Zoals een identiteitsbewijs, waarbij de bewijsgever zijn identiteit kan bewijzen zonder enige persoonlijke informatie prijs te geven. Of als gebruiker een asymmetrisch sleutelpaar heeft (bijv. RSA) en de privé-sleutel (het identificatiegeheim) gebruikt om te reageren op een verificatie die met de openbare sleutel is verzonden. De privé-sleutel wordt nooit onthuld, maar de verificateur is ervan overtuigd dat de bewijzer de sleutel heeft. Zero-knowledge proofs worden momenteel vooral gebruikt bij identiteitsauthenticatie en -beheer.
ZKP en blockchain
Afgelopen jaren bleek dat het gebruik ‘nulkennisbewijzen op blockchains’ steeds nuttiger werd voor privacy-bescherming. Vastgelegde transacties zijn in de blockchain alleen zichtbaar voor hen die over een decoderingssleutel beschikken. Voor netwerken met beperkte rekenkracht een extra voordeel dat transacties ook off-chain worden verwerkt door de resultaten op een centraal systeem te verifiëren. Door het gebruik van nulkennisbewijzen blijft de blokgrootte klein – en dus de snelheid hoog – en blijven transacties voor iedereen vindbaar en zichtbaar. Nulkennisbewijzen slaan op die manier twee vliegen in een klap: privacy en lichtvoetigheid.
Binnen de context van blockchains is het duidelijk waarom deze eigenschappen wenselijk zijn: een gedecentraliseerd blockchain-netwerk kan doorvoer of blokgrootte niet vergroten zonder onhoudbare eisen aan verwerkingskracht, bandbreedte en latentie van de validator. Daarnaast zijn nulkennisbewijzen nuttig voor een derde klasse van mogelijkheden: efficiënt verifiëren dat elk soort berekening correct is uitgevoerd. Dit heeft implicaties die veel verder gaan dan de snelheid en betrouwbaarheid van blockchains. Het geeft nulkennisbewijs over transacties, dataverwerking en modelgebruik. Je kunt er in feite alles op de achtergrond mee verifiëren, mits je weet wat op de achtergrond draait of zou moeten draaien.
ZKP en machine learning
Machine learning-modellen maken het mogelijk voor ‘nulkennisbewijzen’ om transacties beknopt te verifiëren. En geeft gebruikers de mogelijkheid om in de blockchain dezelfde mate van betrouwbaarheid en verifieerbaarheid te krijgen als de machine learning-modellen zelf. De grote vraag naar blockchain stimuleerde moderne ‘nulkennis-oplossingen’ op basis van machine learning bewijssystemen met zowel kleine geheugen ‘footprints‘ als super korte bewijs- en verificatietijden. Het is nu zelfs mogelijk om bepaalde ‘kleine’ machine learning-algoritmen real-time on-chain te verifiëren.
Machine-learning is afgelopen jaren bijna onmerkbaar uitgegroeid tot een krachtig product. Het kostte IBM ontwikkelaars 12 jaar om Deep Blue te produceren dat draaide op vele krachtige IBM RS/6000 SP-computers met 32 nodes. Vergelijkbare superkracht is tegenwoordig mogelijk op een enkele, kleine node waardoor mede de noodzaak van centralisatie verdwijnt. Lokaal is nu al super rekenkracht mogelijk. Voor iedereen die in de crypto-industrie werkt, is deze groeiende lokale machinelearning capaciteit opwindend, zeker als we ze direct in transparante blockchain netwerken kunnen gebruiken. Lokaal zorgen dat bij het genereren en gebruik van gegevens het recht op privacy geëerbiedigd blijft.
Stoppen van AI is onmogelijk
De eerdere blog ‘We hebben geen slotgracht’ beschreef hoe Meta in maart 2022 zijn AI-engine aan de Open Source community schonk. Daardoor is AI intussen publiek bezit geworden. En in de open source community gaan ontwikkelingen zó veel sneller en zijn kwalitatief zó veel beter, dat Big Tech het nakijken heeft. De pogingen om Chat-GPT te stoppen, zijn zinloos. Open source is de democratisering van software en uiteindelijk ook het internet. Blockchain, nulkennis-bewijzen en machinelearning zijn met data analytics de bouwstenen van de nieuwe Web3 wereld. De privacy-beschermende nulkennisbewijzen worden on-chain in de blockchain verwerkt en vastgelegd. Een zege voor de privacy-beweging, de burgers en de democratie.
Web3 ontwikkelt zich tot een snelle, open en verifieerbare omgeving waarbij we met machine learning zekerheid kunnen krijgen dat een model dat achter een API draaide, inderdaad het model was dat we wilden gebruiken. Of dat de ge-attesteerde gegevens inderdaad afkomstig zijn van een legitieme partij. Dat ik zeker ben dat er mensen en geen ‘bots’ in mijn netwerk aanwezig zijn. Bewijzen zonder kennis, met het vermogen hiervoor willekeurige programma’s of smart contracts te gebruiken. Ook zo mooi omdat nulkennisbewijzen tegelijkertijd de ‘bewijzer’ (die gegevens bewerkt en aanlevert) beschermt tegen nieuwsgierige verificateurs. Machinelearning en nulkennisbewijzen maken ‘diepe veiligheid’ op het internet mogelijk.
Nulkennis-encryptie is de toekomst
Nulkennis encryptie zorgt ervoor dat niemand, behalve jijzelf, toegang heeft tot je beveiligde gegevens. Zelfs de serviceprovider of netwerkleverancier niet. Nulkennis encryptie verfijnt tevens de manier waarop in een blockchain transacties worden vernieuwt. Het voegt als het ware additionele, hoogwaardige veiligheid toe aan elk blok dat gevoelige informatie bevat zoals bijvoorbeeld uw creditcardgegevens of uw saldo-geschiedenis. Alleen de vereiste blokken hoeven te worden getoond wanneer een gebruiker om informatie vraagt. Andere blokken blijven onaangeroerd, onzichtbaar en dus volledig beschermd. Waardoor blockchain steeds veiliger wordt maar toch hoogst lichtvoeting blijft. Een welkome ontwikkeling.