Toen we meer dan een jaar geleden het ZK Book uitbrachten, hebben we de ZK-onderwijsruimte een enorme stap voorwaarts gebracht. Ons boek was een pionier in de benadering van "net genoeg wiskunde" om ZK te leren. Vandaag doen we het weer met een nieuwe toevoeging aan het ZK Book. "Circom en Constraint Design Patterns" In dit nieuwe gedeelte wordt ingegaan op het ontwerpen, maken en controleren van niet-triviale ZK-circuits. Je hebt waarschijnlijk veel tutorials gezien over hoe je kunt bewijzen dat je de evaluatie van een polynoom kent met behulp van Circom. Maar hoe ga je van daaruit naar het ontwerpen van een ZKVM of bewijzen dat je de primage van een traditionele hash-functie (zoals MD5 of Keccak256) kent? Het nieuwe deel van ons ZK Boek neemt je mee op een reis van vermenigvuldigen naar samen getallen naar: - een ZKVM vanaf nul opbouwen - coderingsbeperkingen voor de MD5-hashfunctie - Leer de terugkerende ontwerppatronen in constraint design Het laatste deel was interessant omdat sommige van de gevestigde "ontwerppatronen" niet eens een naam hebben. We moesten wat terminologie verzinnen! Zoals gewoonlijk denken we uiterst goed na over hoe we de lezer kennis laten maken met nieuwe ideeën om te voorkomen dat we een nieuw iemand overweldigen. We zorgen ervoor dat we de vereisten in een verstandige volgorde en met veel voorbeelden onderwijzen. Elk hoofdstuk laat zien hoe je een circuit bouwt voor een steeds complexere toepassing. Bij elk hoofdstuk bekijk je wat je eerder hebt geleerd en leer je een nieuw ontwerppatroon. Zodra u een verzameling van deze ontwerppatronen hebt opgebouwd, kunt u ze samenstellen om complexere toepassingen te bouwen, zoals de ZKVM of een niet-triviale hash-functie. We hebben er alles aan gedaan om ervoor te zorgen dat het materiaal zowel gemakkelijk te begrijpen als te corrigeren is, zonder belangrijke weglatingen. We willen @ChainLight_io, @VeridiseInc, @PrivacyScaling en @zksecurityXYZ bedanken voor het toewijzen van tijd om dit werk te beoordelen en suggesties te doen. We zijn @marcobesier van @zksecurityXYZ bijzonder dankbaar voor het doorwerken van verschillende revisies om de hoofdstukken echt in een gepolijste staat te krijgen. Speciale shoutout naar @cal_nix voor het co-auteur zijn van de eerste zeven hoofdstukken in dit nieuwe deel van het boek! De onderwerpen die we hier behandelen zijn uiterst fundamenteel. Als je de materialen hier niet begrijpt, zal het een hele uitdaging zijn om de binnenkant van een modernere ZKVM- of ZK L2-client te leren. Tot nu toe heeft de afwezigheid van op nieuwkomers gerichte verklaringen voor dergelijke fundamentele concepten de ZK-ruimte tegengehouden. Dit nieuwe oeuvre is niet alleen een "betere uitleg" van bestaand materiaal, maar de eerste verklaring überhaupt - buiten academische papers. We gebruiken Circom als instructietaal, omdat we dit als de meest beginnersvriendelijke beschouwen. Wat je hier leert, generaliseert echter naar andere frameworks zoals Plonky3, Halo2, o1js en Gnark. De nieuwe artikelen maken het ZK Boek nu ruim 38.000 woorden langer. Je hoeft niet te weten hoe een ZK-SNARK werkt om dit deel van het boek te lezen, maar er zijn een paar vereisten. Deze staan vermeld in het hoofdstuk "Inleiding tot Circom". Zoals gewoonlijk is het materiaal volledig gratis en is inloggen niet vereist.
10,09K