IOG sviluppa un wrapper ZK per la verifica delle prove RISC Zero e SP1 su Cardano
Input Output Research ha sviluppato un prototipo che converte le prove Groth16 ampiamente utilizzate in un formato che Cardano può verificare tramite Plutus. Il workshop Cardano Vision 2026 ha inoltre presentato esperimenti post quantistici con Plonky3 e uno strumento Halo2 per stimare i costi di verifica on-chain.
By SongMarketCap
Input Output Research sta sviluppando un wrapper a conoscenza zero progettato per collegare le applicazioni Cardano con RISC Zero, SP1 e altri sistemi che generano prove Groth16 sulla curva ellittica BN254.
Il prototipo affronta un divario di compatibilità crittografica che attualmente impedisce agli smart contract di Cardano di verificare in modo efficiente molte prove prodotte da strumenti ZK consolidati. Il lavoro è ancora nella fase di fattibilità tecnica, con componenti selezionati in preparazione per una potenziale implementazione ingegneristica all’inizio del 2027.
Il wrapper Groth16 converte le prove BN254 per Cardano
Una larga parte dell’infrastruttura a conoscenza zero delle blockchain utilizza prove Groth16 su BN254. Il supporto di Ethereum per questa curva ha incoraggiato framework di sviluppo, applicazioni e macchine virtuali ZK ad adottare lo stesso standard crittografico.
Cardano invece supporta operazioni BLS12-381. Sebbene Groth16 possa essere usato con entrambe le curve, una prova creata su BN254 non può essere verificata in modo efficiente su Cardano senza nuove funzioni di protocollo o senza un’aritmetica computazionalmente costosa all’interno di uno smart contract Plutus.
Il prototipo introduce uno strato di wrapping ricorsivo tra i due ambienti. Riceve una prova Groth16 valida su BN254 e genera una seconda prova su BLS12-381, consentendo a Cardano di verificare il risultato usando operazioni crittografiche già supportate dalla rete.
La conversione non richiede agli utenti di fidarsi della parte che la esegue. La prova esterna conferma che esiste una prova originale valida per la chiave di verifica e gli input pubblici specificati. Cardano verifica tale affermazione senza ripetere il calcolo alla base del risultato originale.
Il toolkit attuale supporta RISC Zero e SP1, due macchine virtuali a conoscenza zero che consentono agli sviluppatori di eseguire programmi generici e generare prove compatte che attestano l’esecuzione corretta di tali programmi.
Plugin specifici per ciascuna fonte convertono i loro output in un formato comune. Il motore di wrapping quindi riproduce la dichiarazione su BLS12-381 e genera il codice del verificatore che può essere integrato in un’applicazione Cardano.
Input Output Research ha testato Groth16 e Plonk come sistemi di prova esterni. Groth16 ha completato il processo di wrapping più rapidamente e ha prodotto prove più piccole, ma richiede un trusted setup per il circuito del wrapper. Plonk evita un setup specifico del circuito pur richiedendo sensibilmente più tempo di generazione della prova off-chain.
Entrambi gli approcci hanno prodotto prove finali in grado di rientrare nel budget di verifica on-chain di Cardano. Il principale compromesso risiede quindi nella generazione della prova e nei requisiti di setup piuttosto che nella verifica finale tramite Plutus.
RISC Zero e SP1 potrebbero supportare la verifica cross chain
La compatibilità con RISC Zero e SP1 consentirebbe agli sviluppatori Cardano di utilizzare programmi e librerie ZK esistenti senza ricostruire ogni computazione per l’ambiente crittografico di Cardano.
Un esempio incluso nella ricerca dimostra il saldo ERC-20 di un account Ethereum. RISC Zero esegue la logica Ethereum richiesta, estrae il saldo dallo stato di rete impegnato e genera una prova. Il wrapper quindi converte tale output in una forma che un validatore Cardano può verificare.
La stessa architettura potrebbe essere utilizzata per confermare stati selezionati di Ethereum o Bitcoin, verificare l’esecuzione di programmi esterni o fornire una prova crittografica che una computazione è avvenuta al di fuori di Cardano.
Il workshop ha inoltre discusso una potenziale implementazione di Helios basata su SP1, un light client di Ethereum. Un tale sistema potrebbe dimostrare l’esecuzione del consenso di Ethereum in un ambiente a conoscenza zero e inviare un risultato compatto per la verifica da parte di un’applicazione Cardano.
Queste capacità potrebbero supportare light client, bridge, rollup e protocolli cross chain che dipendono da informazioni affidabili provenienti da un’altra blockchain. Il wrapper non trasferisce asset e non opera di per sé come un bridge. Fornisce un livello di verifica che altre applicazioni potrebbero integrare nella propria architettura.
L’approccio potrebbe anche ridurre il lavoro di sviluppo duplicato. Invece di implementare ogni computazione come un circuito ZK nativo di Cardano, i team potrebbero utilizzare software supportati dagli ecosistemi RISC Zero o SP1 e tradurre la prova finale prima della verifica on-chain.
Il toolkit rimane un prototipo per la sperimentazione. I suoi esempi coprono la generazione della prova, il wrapping ricorsivo e la creazione del corrispondente verificatore Cardano, mentre la distribuzione in produzione richiederebbe ancora lavoro ingegneristico, revisione della sicurezza e una decisione finale sul sistema di prova esterno.
Plonky3 e Halo2 definiscono il lavoro di verifica rimanente
Il workshop ha inoltre presentato uno studio di fattibilità per la verifica di prove Plonky3 tramite smart contract di Cardano.
Plonky3 è un framework modulare per sistemi di prova basati su STARK. Si basa principalmente su funzioni di hash e aritmetica su campi finiti piuttosto che sulle operazioni su curve ellittiche utilizzate da molti sistemi SNARK, rendendolo rilevante per la ricerca post quantistica di Cardano.
Una delle applicazioni proposte è l’aggregazione di firme post quantistiche. Queste firme possono richiedere decine di kilobyte ciascuna, mentre una prova ZK potrebbe combinare più firme in un singolo risultato e ridurre la quantità di dati che devono essere archiviati o verificati on-chain.
Un altro possibile uso riguarda gli UTXO legacy in seguito a una futura migrazione dalle attuali firme su curve ellittiche. Un detentore potrebbe potenzialmente dimostrare la conoscenza del seed collegato a un indirizzo senza rivelare pubblicamente il seed.
Lo studio di fattibilità ha rilevato che la verifica diretta di Plonky3 supera ancora i limiti per singola transazione di Cardano. Una prova di test ottimizzata ha misurato circa 186 kilobyte e ha richiesto circa 220 milioni di unità di memoria e 75 miliardi di unità CPU.
Poiché le prove delle singole query possono essere verificate separatamente, i ricercatori hanno stimato che il processo completo potrebbe essere suddiviso in circa 23 transazioni. Sono state inoltre discusse come possibili alternative l’esecuzione su Hydra e un modello di verifica ottimistico, in cui la prova completa viene controllata solo a seguito di una contestazione.
Un separato strumento di stima dei costi per Halo2 affronta una fase precedente del processo di sviluppo. Lo strumento calcola la dimensione attesa della prova, la dimensione della chiave di verifica e le operazioni crittografiche necessarie per verificare un circuito proposto su Cardano.
Gli sviluppatori possono modellare un circuito o testare componenti come SHA-256 prima di completare l’applicazione completa. Le stime consentono ai team di identificare i componenti costosi e di adattare il design prima di costruire il prover e il validatore Cardano.
Il wrapper Groth16 è attualmente il percorso più diretto dal programma di ricerca all’uso pratico da parte degli sviluppatori. Se avanzasse verso un’implementazione ingegneristica, le applicazioni Cardano potrebbero verificare gli output da ecosistemi zkVM consolidati senza attendere che ogni sistema esterno introduca il supporto nativo a BLS12-381. Plonky3 richiederebbe un’architettura diversa, con la verifica suddivisa tra più transazioni, spostata in Hydra o attivata tramite un design basato su contestazione.