Wat is Zero Knowledge VM (zkVM)?
Een Zero Knowledge VM is een virtuele machine die code uitvoert en een bewijs genereert dat de uitvoering correct was, zonder de invoer te onthullen. Zie het als een scheidsrechter die de uitslag bevestigt terwijl het speelschema geheim blijft. Zelfde resultaat, minder details prijsgegeven.
“Een zkVM maakt alles anoniem.” Niet helemaal. Het bewijst dat de uitvoering correct was. Wat privé blijft, kiest de app; de machine dwingt dat niet af.
Hoe Zero Knowledge VM (zkVM) werkt
Stel je een programma voor dat off chain draait en daarna een klein wiskundig ontvangstbewijs on chain stuurt dat zegt “dit is correct uitgevoerd.” Kort overzicht hieronder.
- Stap 1: Een ontwikkelaar schrijft of compileert code om binnen de zkVM te draaien.
- Stap 2: Het programma draait off chain en produceert een bewijs, bijvoorbeeld dat een handel correct geprijsd is zonder de invoer van de handelaar te tonen.
- Stap 3: Dat bewijs plus minimale gegevens wordt naar een verifier on chain gestuurd.
- Stap 4: De verifier controleert het bewijs snel en legt een ja of nee vast.
- Stap 5: Andere contracten en gebruikers vertrouwen de uitkomst zonder de zware berekeningen opnieuw uit te voeren.
Daarachter gebruikt het zero knowledge bewijzen om voor de uitvoering te garant staan. Ja, wiskunde als getuige.
Waarom Zero Knowledge VM (zkVM) belangrijk is
Dit is relevant omdat het het kostenmodel verandert. Grote berekeningen off chain, kleine controles on chain.
- Voordeel: Snelheid en vergoedingen verbeteren omdat verificatie goedkoop is terwijl het zware werk elders plaatsvindt.
- Perspectief: Je kunt gevoelige data verborgen houden terwijl je toch transparantie over het resultaat biedt.
- Relevant voor: Verwacht het in DeFi, gaming, identiteit en meer waar privacy en verifieerbare wiskunde beide belangrijk zijn.
Vergelijk je zkVM's: vraag eerst twee dingen: welke programmeertaal ze ondersteunen en hoe snel de verifier op de doelketen draait.
Belangrijkste eigenschappen van Zero Knowledge VM (zkVM)
Dit zijn de eigenschappen die men meestal controleert:
- Algemeen: Draait veel soorten programma's in plaats van één specifiek circuit.
- Portabel: Bewijzen kunnen op meerdere ketens worden geverifieerd door een klein smart contract.
- Selectief: Laat apps kiezen welke invoer verborgen blijft en welke uitvoer openbaar is.
- Efficiënt: Het verifiëren van het bewijs is snel, zelfs als de oorspronkelijke uitvoering zwaar was.
- Compositie: Bewijzen kunnen gebundeld of genest worden zodat systemen opschalen met minder ruis.
Varianten
Niet alle zkVMs zijn hetzelfde. Veelvoorkomende varianten zijn:
- EVM: Richt zich op het draaien en bewijzen van logica in de stijl van Solidity, goed voor direct hergebruik van apps.
- LLVM: Compileert van algemene talen zoals Rust of C naar een vorm die bewezen kan worden.
- Rollup: Gebruikt binnen validity rollups waar bewijzen op een basisketen worden geplaatst.
- Sovereign: Verifieert op zijn eigen keten en deelt bewijzen met andere ketens.
Verifiëren is goedkoop, maar het maken van bewijzen kan zwaar en tijdrovend zijn. Die afweging is juist waar het om gaat.
Voorbeeld
Een leenapp bepaalt de waarde van onderpand binnen een zkVM en plaatst vervolgens alleen het bewijs on chain, zodat liquidaties eerlijk verlopen zonder de gegevens van een lener te onthullen.
Leuk weetje
Het kernidee gaat terug naar onderzoek uit de jaren 80, waarin cryptografen lieten zien dat je kon bewijzen dat je een geheim kende zonder het te onthullen. Crypto Twitter maakte het populair.
Samenvatting
Kort gezegd is Zero Knowledge VM (zkVM) een bewijzencomputer waarmee ketens werk snel kunnen controleren terwijl gevoelige invoer buiten het zicht blijft.
