Modulo-P apre gli strumenti ZK di Cardano al voto anonimo e alle applicazioni private
Lo stack open source combina Cardano-Semaphore, voto privato, Proof of Innocence e un'infrastruttura di setup riutilizzabile, riducendo il lavoro crittografico di base necessario per costruire applicazioni a conoscenza zero su Cardano.
By SongMarketCap
Modulo-P ha presentato uno stack open source a conoscenza zero che gli sviluppatori Cardano possono usare per creare applicazioni di appartenenza anonima, voto privato e conformità che preservano la privacy. Agustín Salinas ha illustrato il lavoro durante Cardano Developers Office Hours #68 il 10 luglio, ripercorrendone l'evoluzione dai primi esperimenti con Plutus V2 e Hydra fino ai contratti Aiken riutilizzabili e a un'infrastruttura di setup crittografica condivisa.
I componenti non costituiscono un singolo prodotto destinato ai consumatori. Forniscono elementi modulari separati che gli sviluppatori possono integrare in applicazioni che richiedono prove di identità, appartenenza o proprietà delle transazioni senza esporre i dati privati sottostanti.
Cardano-Semaphore porta l'appartenenza anonima in Aiken
Modulo-P ha iniziato a sperimentare le prove a conoscenza zero su Cardano nel 2023, prima che la rete disponesse delle primitive di Plutus necessarie per una verifica efficiente e prima che Aiken maturasse fino a diventare un linguaggio per smart contract ampiamente utilizzato.
Il primo verificatore del team era grande e costoso dal punto di vista computazionale, rendendo Cardano Layer 1 inadatto alla prima implementazione. Lo sviluppo si è spostato su Hydra, dove Modulo-P ha creato una versione a conoscenza zero di Mastermind che consentiva a un partecipante di dimostrare la validità di un indizio senza rivelare la combinazione nascosta.
Plutus V3 ha poi introdotto funzioni crittografiche native BLS12-381, mentre Aiken ha ridotto in modo significativo i cicli di compilazione e sviluppo. Modulo-P ha utilizzato queste capacità per rilasciare ak-381, un'implementazione in Aiken di un verificatore Groth16, seguita da Cardano-Semaphore.
Semaphore è un protocollo a conoscenza zero originariamente sviluppato nell'ecosistema Ethereum. Consente a un utente di dimostrare l'appartenenza a un gruppo definito senza rivelare quale membro esso sia.
Cardano-Semaphore implementa quel modello tramite smart contract Aiken. Un membro verificato può inviare un segnale anonimo che rappresenta un voto, una preferenza, un messaggio o un altro input specifico dell'applicazione. Il protocollo verifica che il mittente possieda un'identità privata valida, appartenga al gruppo autorizzato e non abbia già inviato lo stesso tipo di segnale.
L'implementazione offre alle applicazioni Cardano un livello di privacy riutilizzabile invece di richiedere a ciascun team di progettare in modo indipendente l'appartenenza anonima e la logica di prevenzione dei duplicati. Gli usi potenziali includono sondaggi privati, decisioni organizzative, endorsement anonimi e sistemi di governance in cui la partecipazione deve essere limitata senza collegare pubblicamente ogni azione a un wallet o a un'identità.
Il voto privato e Proof of Innocence mettono gli strumenti in pratica
Modulo-P ha utilizzato Cardano-Semaphore come base per un'applicazione di voto in esecuzione nell'ambiente Preprod di Cardano.
L'implementazione attuale supporta un modello una persona un voto. I partecipanti dimostrano di appartenere a un gruppo idoneo, esprimono una scheda anonima e si impegnano alla scelta inviata senza rivelare quale membro registrato l'abbia selezionata.
Salinas ha affermato che l'architettura può essere adattata anche al voto ponderato e a diversi formati di domanda. Tali configurazioni dipendono da come una singola applicazione definisce l'appartenenza al gruppo, i diritti di voto e le regole che governano ciascuna finestra di voto.
L'applicazione di voto fa seguito a una precedente iniziativa di Project Catalyst che ha finanziato l'implementazione di Semaphore e della segnalazione anonima su Cardano. Il progetto del Fund 11 ha ricevuto 100,000 ADA ed è indicato come completato, con output progettati per essere completamente open source.
Una seconda applicazione, Proof of Innocence, è stata sviluppata da ENCOINS, Modulo-P ed Eryx Cooperative.
Proof of Innocence consente a un utente di dimostrare che i fondi non sono collegati a un insieme definito di transazioni malevole senza divulgare la transazione specifica, l'indirizzo di origine o la cronologia privata utilizzati per generare la prova.
Un protocollo di privacy potrebbe applicare il meccanismo quando un utente preleva fondi. Invece di pubblicare l'intero percorso della transazione, l'utente genera una prova a conoscenza zero che mostra che il deposito o l'impegno rilevante non è incluso nella blacklist del protocollo.
Project Catalyst ha assegnato 150,000 ADA all'iniziativa. Il progetto è indicato come completato e copre ricerca, circuiti a conoscenza zero, smart contract, test e documentazione finale. Il suo output rimane una proof of concept piuttosto che un servizio di conformità in produzione.
La distinzione è importante per gli sviluppatori che valutano il codice. L'implementazione dimostra come la verifica selettiva possa funzionare su Cardano, ma una distribuzione commerciale richiederebbe comunque contratti sottoposti ad audit, fonti di dati affidabili, una governance della blacklist chiaramente definita e l'integrazione con l'applicazione che elabora transazioni private.
I parametri riutilizzabili di Powers of Tau riducono il lavoro di setup ZK
Sistemi di prova efficienti come Groth16 richiedono un setup fidato prima che le applicazioni possano generare e verificare prove in modo sicuro.
Durante una cerimonia Powers of Tau, più partecipanti contribuiscono con casualità segreta a un insieme condiviso di parametri crittografici. Ogni partecipante deve distruggere il proprio contributo privato dopo che è stato incluso. L'output finale rimane sicuro finché almeno un contributore completa onestamente quel processo, perché nessuna parte può ricostruire il segreto completo.
Modulo-P ed ENCOINS hanno organizzato una cerimonia Powers of Tau focalizzata su Cardano con circa 40 partecipanti della community. Salinas ha detto che il processo di contributi sequenziali è durato circa 20 giorni.
L'iniziativa ha ricevuto 87,141 ADA tramite Project Catalyst e ha completato quattro traguardi che coprono preparazione, esecuzione della cerimonia, un portale pubblico e consegna finale. I parametri risultanti possono essere riutilizzati dalle applicazioni Cardano compatibili, eliminando la necessità di ripetere la prima fase del setup per ogni nuovo circuito.
Le applicazioni Groth16 richiedono comunque una seconda fase di setup legata al circuito specifico dell'applicazione. Contributori dalle community a conoscenza zero di Cardano ed Ethereum stanno sviluppando Brebaje per semplificare quella fase.
Lo strumento agnostico rispetto al protocollo è pensato per aiutare i team a creare una cerimonia, coordinare i contributi, pubblicare il registro dei partecipanti e conservare una traccia verificabile del processo. Brebaje è ancora in sviluppo attivo e non è ancora un servizio di produzione finito.
Modulo-P ora dà priorità a una documentazione più solida, a revisioni di sicurezza e a flussi di lavoro per sviluppatori più semplici invece di espandere continuamente il numero di strumenti sperimentali. I team Cardano possono già iniziare con codice pubblico di verificatori Groth16, contratti Cardano-Semaphore, un'implementazione di riferimento completa di Proof of Innocence e parametri di Fase 1 riutilizzabili. Il lavoro rimanente è specifico per ciascuna applicazione, includendo la progettazione dei circuiti, eventuali cerimonie di seconda fase, audit e integrazione in produzione, invece di ricostruire l'intera base a conoscenza zero.