← Ultimi articoli
💻 computer science

Isabelle/STARK: A Formalization of zk-STARK in Isabelle/HOL

Questo articolo presenta una formalizzazione in Isabelle/HOL di un protocollo di prova trasparente in stile STARK, caratterizzato da un modello di prover e verifier eseguibile, un monade di stato probabilistico con calcolo della precondizione più debole, e teoremi formalmente verificati per la completezza onesta e la correttezza a zero fallimenti con espliciti limiti di probabilità.

Autori originali: Diego Marmsoler

Pubblicato 2026-08-04
📖 5 min di lettura🧠 Approfondimento

Autori originali: Diego Marmsoler

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di dover dimostrare di conoscere una password segreta per accedere a una cassaforte enorme e chiusa, ma vuoi farlo senza rivelare la password a nessuno e senza che loro debbano aspettare ore mentre la digiti. Questo è il mondo della crittografia, la scienza della comunicazione sicura. In questo specifico angolo, stiamo guardando un tipo di prova digitale chiamato STARK. Pensa a uno STARK come a una "ricevuta magica". Se esegui un complesso programma per computer, uno STARK è un biglietto minuscolo e non falsificabile che dice: "Ho eseguito correttamente questo programma, ed ecco il risultato", senza rivelare i dettagli disordinosi di come il programma abbia funzionato.

Per capire come funzionano queste ricevute, devi conoscere tre cose semplici. Primo, i computer spesso trasformano i problemi in puzzle matematici che coinvolgono i polinomi (quelle linee curve che potresti ricordare dall'algebra). Secondo, per dimostrare che la matematica è corretta, non si controlla ogni singolo numero; si prelevano alcuni campioni casuali, come assaggiare un cucchiaio di zuppa per vedere se l'intera pentola è salata. Terzo, per assicurarsi che nessuno modifichi la zuppa dopo che l'hai assaggiata, si usa un albero di Merkle, che è come un'impronta digitale per un enorme mucchio di dati. Se anche un solo chicco di riso nel mucchio cambia, l'impronta digitale cambia completamente.

La grande domanda in questo campo è: "Possiamo essere assolutamente certi che queste ricevute magiche siano impossibili da falsificare?" Per molto tempo, le persone hanno scritto le regole per gli STARK, ma scrivere le regole è diverso dal dimostrare che funzionano. È qui che entra in gioco la verifica formale. È come prendere una dimostrazione matematica e darla in pasto a un avvocato robot super-severo che controlla ogni singolo passaggio logico per garantire che non ci siano buchi, nessun "forse" e nessun trucco nascosto. Questo è esattamente ciò che fa il documento "Isabelle/STARK: A Formalization of zk-STARK in Isabelle/HOL".

L'autore, Diego Marmsoler, ha preso un complesso protocollo STARK e lo ha tradotto in un linguaggio che un computer può comprendere e verificare con certezza del 100%. Non si è limitato a scrivere una storia su come dovrebbe funzionare; ha costruito un modello funzionante all'interno di uno strumento chiamato Isabelle/HOL. Questo strumento agisce come un insegnante di matematica rigoroso che rifiuta di accettare una risposta a meno che ogni passaggio non sia giustificato.

Ecco cosa ha scoperto. Primo, ha costruito una versione giocabile del sistema. Ha creato un "Prover" digitale (colui che crea la ricevuta) e un "Verifier" (colui che la controlla) che possono effettivamente girare su un computer. Ha dimostrato che se il Prover è onesto e segue le regole, il Verifier accetterà sempre la prova. Non c'è alcuna possibilità che l'onesto Prover fallisca. È come dimostrare che se segui la ricetta alla perfezione, la torta si lieviterà sempre.

Secondo, e cosa più importante, ha affrontato la parte spaventosa: E se qualcuno cercasse di agire in modo disonesto? Ha creato uno scenario in cui un "Adversary" (avversario) subdolo cerca di ingannare il Verifier per fargli accettare una ricevuta falsa. Il documento dimostra che la probabilità che questo l'Adversary abbia successo non è zero, ma è estremamente, matematicamente minuscola. Non ha solo detto "è improbabile"; ha scritto una formula specifica che calcola esattamente quanto sia piccola quella possibilità. Questa formula somma tutti i diversi modi in cui un l'Adversary potrebbe cercare di agire in modo disonesto — come indovinare i numeri casuali corretti, trovare un difetto nell'impronta digitale, o falsificare un'equazione matematica — e mostra che la probabilità totale di successo è limitata da un numero molto piccolo.

Il documento esclude esplicitamente alcuni modi "facili" per dimostrarlo. Potresti pensare: "Non possiamo semplicemente guardare tutto il mucchio di dati per vedere se è falso?". L'autore dice no. Nel mondo reale, il Verifier guarda solo alcuni punti casuali (il "test dell'assaggio"). Il documento dimostra che non puoi assumere che il Verifier veda l'intero quadro. Invece, la prova deve funzionare anche quando il Verifier vede solo un piccolo sguardo parziale. Ha anche rifiutato l'idea di assumere semplicemente che la matematica funzioni; ha scomposto la prova in strati minuscoli e gestibili, controllando la logica della "impronta digitale" separatamente dalla logica del "campionamento casuale", e poi mostrando come si incastrano tra loro.

Una delle parti più interessanti di questo lavoro è che non ha dimostrato il tutto per un mondo teorico e infinito. Ha costruito un piccolo esempio funzionante usando un mondo matematico molto piccolo (un campo con solo 5 numeri, come un orologio che va solo fino a 5). Ha fatto girare l'onesto Prover e il Verifier su questo piccolo orologio e ha osservato che avevano successo. Questo dimostra che il codice non è solo una teoria; esso funziona davvero.

Quindi, qual è il succo della questione? Il documento non sostiene di aver inventato un nuovo tipo di STARK o di aver reso il sistema più veloce. Sostiene invece di aver chiuso la porta a chiave sulla matematica. Fornisce una garanzia verificata da una macchina che il protocollo STARK è solido. Se segui le regole, ottieni una ricevuta. Se cerchi di infrangere le regole, la matematica dice che hai quasi nessuna possibilità di farla franca, e il computer ha controllato ogni passaggio di quella logica per assicurarsi. Trasforma una complessa promessa crittografica in un fatto verificato, offrendo un livello di fiducia che deriva da un avvocato robot che controlla i compiti, piuttosto che da un essere umano che dice: "Penso che sembri corretto".

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →