När vi släppte ZK-boken för över ett år sedan tog vi ZK-utbildningsområdet ett stort steg framåt. Vår bok banade väg för tillvägagångssättet med "lagom med matematik" för att lära sig ZK. Idag gör vi det igen med ett nytt tillägg till ZK Book. "Designmönster för Circom och villkor" Det här nya avsnittet fokuserar på hur man designar, skapar och granskar icke-triviala ZK-kretsar. Du har förmodligen sett många tutorials om hur du bevisar att du känner till utvärderingen av ett polynom med hjälp av Circom. Men hur går man därifrån till att designa en ZKVM eller bevisa att man känner till primagen för en traditionell hashfunktion (som MD5 eller Keccak256)? Den nya delen av vår ZK Book tar dig med på en resa från att multiplicera till siffror tillsammans till: - bygga en ZKVM från grunden - kodningsbegränsningar för MD5-hashfunktionen - lära sig de återkommande designmönstren i villkorsdesign Den sista delen var intressant eftersom vissa av de etablerade "designmönstren" inte ens har namn för dem. Vi var tvungna att hitta på lite terminologi! Som vanligt är vi extremt eftertänksamma med hur vi introducerar läsaren till nya idéer för att undvika att överväldiga någon ny. Vi är noga med att lära ut förkunskapskraven i en vettig ordning och med många exempel. Varje kapitel visar hur man bygger en krets för en allt mer komplex applikation. Med varje kapitel går ni både igenom vad ni lärt er tidigare och lär er ett nytt designmönster. När du har byggt upp en samling av dessa designmönster kan du komponera dem tillsammans för att bygga mer komplexa applikationer, som ZKVM eller en icke-trivial hash-funktion. Vi lägger stor vikt vid att se till att materialet är både lätt att förstå och korrigera utan några viktiga utelämnanden. Vi vill tacka @ChainLight_io, @VeridiseInc, @PrivacyScaling och @zksecurityXYZ för att de har avsatt tid för att granska detta arbete och ge förslag. Vi är särskilt tacksamma för @marcobesier från @zksecurityXYZ för att ha arbetat igenom flera revideringar för att verkligen få kapitlen i ett polerat tillstånd. En särskild eloge till @cal_nix för att ha varit medförfattare till de första sju kapitlen i den här nya delen av boken! De ämnen vi tar upp här är extremt grundläggande. Om du inte förstår materialen här kommer det att vara ganska utmanande att lära sig de inre delarna av modernare ZKVM- eller ZK L2-klienter. Hittills har frånvaron av nykomlingsorienterade förklaringar till sådana grundläggande begrepp hållit tillbaka ZK-utrymmet. Detta nya arbete är inte bara en "bättre förklaring" av befintligt material, utan den första förklaringen överhuvudtaget – utanför akademiska uppsatser. Vi använder Circom som undervisningsspråk eftersom vi anser att det är det mest nybörjarvänliga. Men det du lär dig här generaliseras till andra ramverk som Plonky3, Halo2, o1js och Gnark. De nya artiklarna gör nu ZK-boken över 38 000 ord längre. Du behöver inte veta hur en ZK-SNARK fungerar för att läsa den här delen av boken, men det finns några förutsättningar. Dessa finns listade i kapitlet "Introduktion till Circom". Som vanligt är materialet helt gratis utan krav på inloggning.
10,15K