Quando abbiamo pubblicato il libro ZK più di un anno fa, abbiamo fatto un enorme passo avanti nel settore dell'istruzione ZK. Il nostro libro ha aperto la strada all'approccio della "matematica appena sufficiente" per imparare ZK. Oggi lo facciamo di nuovo con una nuova aggiunta allo ZK Book. "Circom e modelli di progettazione a vincoli" Questa nuova sezione si concentra su come progettare, creare e controllare circuiti ZK non banali. Probabilmente hai visto molti tutorial su come dimostrare di conoscere la valutazione di un polinomio usando Circom. Ma come si passa da lì alla progettazione di una ZKVM o alla dimostrazione di conoscere l'immagine preliminare di una funzione hash tradizionale (come MD5 o Keccak256)? La nuova parte del nostro ZK Book ti accompagna in un viaggio dalla moltiplicazione ai numeri insieme a: - costruire una ZKVM da zero - vincoli di codifica per la funzione hash MD5 - Apprendere i modelli di progettazione ricorrenti nella progettazione a vincoli L'ultima parte è stata interessante perché alcuni dei "modelli di design" stabiliti non hanno nemmeno un nome per loro. Abbiamo dovuto inventare un po' di terminologia! Come al solito, siamo estremamente attenti a come introduciamo il lettore a nuove idee per evitare di sopraffare qualcuno di nuovo. Siamo attenti a garantire che insegniamo i prerequisiti in un ordine ragionevole e con molti esempi. Ogni capitolo mostra come costruire un circuito per un'applicazione sempre più complessa. Con ogni capitolo, entrambi rivedete ciò che avete imparato in precedenza e imparate un nuovo modello di progettazione. Una volta creata una raccolta di questi modelli di progettazione, è possibile comporli insieme per creare applicazioni più complesse, come ZKVM o una funzione hash non banale. Ci siamo impegnati moltissimo per assicurarci che il materiale sia facile da capire e corretto senza importanti omissioni. Vorremmo ringraziare @ChainLight_io, @VeridiseInc, @PrivacyScaling e @zksecurityXYZ per aver dedicato del tempo a rivedere questo lavoro e fornire suggerimenti. Siamo particolarmente grati a @marcobesier di @zksecurityXYZ per aver lavorato attraverso diverse revisioni per portare davvero i capitoli a uno stato di rifinitura. Un ringraziamento speciale a @cal_nix per essere coautore dei primi sette capitoli di questa nuova parte del libro! Gli argomenti che trattiamo qui sono estremamente fondamentali. Se non capisci i materiali qui, imparare gli interni del più moderno client ZKVM o ZK L2 sarà piuttosto impegnativo. Fino ad ora, l'assenza di spiegazioni orientate ai nuovi arrivati per tali concetti fondamentali ha frenato lo spazio ZK. Questo nuovo corpus di lavori non è semplicemente una "spiegazione migliore" dei materiali esistenti, ma la prima spiegazione in assoluto, al di fuori dei documenti accademici. Usiamo Circom come lingua di insegnamento poiché la consideriamo la più adatta ai principianti. Tuttavia, ciò che si apprende qui si generalizza ad altri framework come Plonky3, Halo2, o1js e Gnark. I nuovi articoli ora rendono lo ZK Book più lungo di oltre 38.000 parole. Non è necessario sapere come funziona uno ZK-SNARK per leggere questa sezione del libro, ma ci sono alcuni prerequisiti. Questi sono elencati nel capitolo "Introduzione al Circom". Come al solito, il materiale è completamente gratuito e non richiede alcun login.
10,1K