Een leeftijdscheck zonder je geboortedatum of paspoortkopie te delen.
World maakt precies die techniek achter
World ID nu open source voor andere ontwikkelaars.
De nieuwe toolkit heet ProveKit. Gebruikers maken daarmee cryptografische bewijzen op hun eigen telefoon, terwijl gevoelige identiteitsgegevens het apparaat niet hoeven te verlaten.
Dat raakt direct aan een groter probleem rond AI. Platforms willen steeds vaker weten of achter een account een echte persoon zit, maar meer identiteitscontrole betekent normaal ook meer persoonsgegevens verzamelen.
ProveKit probeert die twee belangen uit elkaar te trekken.
Bewijzen dat je 18 bent zonder je geboortedatum te tonen
ProveKit gebruikt
zero-knowledge proofs. Daarmee kan iemand aantonen dat een bepaalde bewering klopt, zonder de gegevens achter dat bewijs vrij te geven.
Een gebruiker kan bijvoorbeeld bewijzen ouder dan 18 jaar te zijn. De ontvangende dienst hoeft daarvoor geen exacte leeftijd of geboortedatum te krijgen.
Binnen
World ID kunnen gebruikers gegevens uit NFC-geschikte identiteitsdocumenten lokaal in World App bewaren. Denk aan informatie uit een paspoort met chip.
World stelt dat deze gegevens niet buiten het apparaat hoeven te worden opgeslagen. World Foundation, Tools for Humanity en de partij die het bewijs controleert, krijgen de onderliggende gegevens volgens het project niet te zien.
ProveKit voert de cryptografische berekening op het toestel zelf uit. Alleen het resultaat van de controle gaat naar de ontvangende partij.
Hetzelfde model kan worden gebruikt voor nationaliteit, een geldig identiteitsdocument of toestemming voor een bepaalde handeling.
World geeft ontwikkelaars toegang tot de techniek
De opvallendste stap zit niet alleen in World ID zelf. World Foundation heeft de code van ProveKit vrijgegeven onder de MIT-licentie.
Ontwikkelaars kunnen de toolkit daardoor bekijken, aanpassen en in eigen toepassingen verwerken.
De kern is gebouwd in Rust. Voor browsers gebruikt ProveKit WebAssembly met TypeScript-ondersteuning. Bewijsvoorwaarden kunnen worden geschreven in Noir, de programmeertaal voor zero-knowledge-toepassingen die door Aztec is ontwikkeld.
Onder de motorkap gebruikt ProveKit onder meer WHIR en een variant van Spartan.
Belangrijk daarbij is dat geen trusted setup nodig is. Zo'n setup is een voorbereidende cryptografische procedure waarbij geheime waarden veilig moeten worden aangemaakt en daarna vernietigd.
Mislukt dat proces, dan kan het vertrouwen in een bewijssysteem worden aangetast. ProveKit kiest juist voor een model zonder die stap.
De code is daarnaast door beveiligingsonderzoeker Least Authority onderzocht.
Goedkope smartphones zijn de echte test
Zero-knowledge-technologie heeft een praktisch probleem: rekenwerk.
Het maken van een bewijs kan veel geheugen en processorkracht vragen. Dat wordt lastig zodra de berekening op een telefoon moet gebeuren in plaats van op een krachtige server.
World heeft ProveKit daarom gericht gebouwd voor telefoons en browsers.
Eigen benchmarks van World laten zien dat geteste bewijzen op een normale smartphone binnen enkele seconden konden worden gemaakt.
Zelfs een Motorola Moto E15 met 2 GB werkgeheugen bleef volgens World onder een halve minuut. Het ontwerp mikt daarnaast op minder dan 1 GB geheugengebruik.
Ook dataverbruik speelde mee. Doordat geen grote bestanden voor een trusted setup nodig zijn, hoeft een gebruiker minder vooraf binnen te halen.
De uiteindelijke cryptografische bewijzen zijn groter dan bij sommige andere systemen. World houdt voor ProveKit wel een doel van minder dan 1 MB per proof aan.
Dat verschil telt zodra de techniek buiten crypto terechtkomt. Een identiteitscontrole moet ook werken voor iemand met een goedkope Android-telefoon en een matige verbinding.
AI maakt digitale identiteit een groter machtsvraagstuk
Generatieve AI maakt het steeds goedkoper om accounts, teksten, beelden en online persoonlijkheden automatisch te produceren.
Daardoor groeit de waarde van systemen die kunnen aantonen dat achter een account een mens zit.
Maar daar ontstaat direct een tweede probleem. Platforms die bots willen weren, kunnen gebruikers gaan vragen om paspoorten, leeftijden en andere identiteitsgegevens centraal op te slaan.
Dat vergroot de hoeveelheid gevoelige informatie die kan uitlekken, worden misbruikt of aan andere databronnen wordt gekoppeld.
World kiest met World ID voor een ander model. Niet de volledige identiteit wordt gedeeld, maar alleen een cryptografisch bewijs van een gewenste eigenschap.
Een platform hoeft niet te weten wanneer je geboren bent als het alleen moet controleren of je 18 bent.
Met ProveKit kunnen andere ontwikkelaars dat principe nu ook buiten World toepassen.
Open source maakt World minder noodzakelijk
Daar zit de interessante machtsverschuiving.
Een privacyfunctie die alleen binnen World ID werkt, maakt gebruikers en ontwikkelaars afhankelijk van World. Open-source code maakt het mogelijk om delen van dezelfde techniek elders in te zetten.
Dat betekent niet dat iedere toepassing automatisch onafhankelijk van World wordt. Dat hangt af van de gekozen gegevensbron, verificatiemethode en toepassing.
Maar ontwikkelaars krijgen wel meer controle over het cryptografische deel.
De repository wordt actief ontwikkeld en bevat honderden afgeronde wijzigingen en tientallen openstaande ontwikkelvoorstellen.
De volgende test ligt daarom buiten World zelf.
Als banken, platforms, overheden en apps steeds vaker bewijs willen van leeftijd, nationaliteit of menselijkheid, wordt de vraag niet alleen wat een gebruiker moet bewijzen.
Steeds belangrijker wordt hoeveel persoonlijke informatie daarvoor daadwerkelijk nodig is.