Het concept gaat terug op een academisch paper uit 1985 van de cryptografen Shafi Goldwasser, Silvio Micali en Charles Rackoff, die als eersten het idee formaliseerden dat een bewijs een verifier kan overtuigen zonder enige kennis over te dragen behalve dat de bewering waar is. In de praktijk voldoet een geldig zero-knowledge proof aan drie eigenschappen: volledigheid (een ware bewering kan altijd bewezen worden), correctheid (een onware bewering kan niet ten onrechte bewezen worden, behalve met verwaarloosbare kans), en zero-knowledge (de verifier leert verder niets over de onderliggende data).
Twee families van implementaties domineren vandaag het gebruik in blockchain. zk-SNARKs produceren zeer kleine, goedkoop te verifiëren proofs, maar zijn doorgaans afhankelijk van een eenmalige trusted setup ceremonie en elliptic-curve cryptografie die niet quantum-resistant is. zk-STARKs vermijden elke trusted setup, steunen alleen op hashfuncties en worden als quantum-resistant beschouwd, ten koste van grotere proof-omvang. Beide stellen een netwerk in staat te bevestigen dat een berekening, zoals een overdracht, de regels volgde, dat inputs gelijk zijn aan outputs en dat er geen double-spend plaatsvond, zonder de sender, ontvanger of het bedrag bloot te leggen.
- Privacy: shielded transacties op netwerken zoals Zcash verbergen wallet-adressen en transactiewaarden terwijl ze verifieerbaar blijven.
- Scaling: zk-Rollups bundelen duizenden transacties off-chain en plaatsen één beknopt proof op een basislaag zoals Ethereum, wat fees en confirmatietijden verlaagt.
- Identiteit: een gebruiker kan aantonen ergens recht op te hebben, zoals een minimumleeftijd of voldoende tegoed, zonder het onderliggende document of saldo prijs te geven.
De belangrijkste afwegingen zijn de rekenkosten voor de prover, extra protocolcomplexiteit en, bij SNARK-gebaseerde systemen, afhankelijkheid van de integriteit van de oorspronkelijke trusted setup.