Aleo Studio si propone come il primo Integrated Development Environment (IDE) al mondo per lo sviluppo di applicazioni private basate sulle Zero-Knowledge Proofs.
Io direi che abbiamo diversi concetti da sviscerare!
Ho appena aperto il loro sito, dato una rapidissima lettura tra le varie sezioni e capito che valesse la pena dedicarci qualche ora e comprendere meglio di che si tratti.
Per cui, ho scaricato il software per macOS e deciso di scrivere un articolo esplorativo, simile ai nostri Log. (i.e. Blogpost in cui ti mostro i retroscena della risoluzione di un problema, step by step, esattamente come li vivo io, con tanto di semi flussi di coscenza)
Questa volta però analizziamo Aleo Studio.
Cos’è Aleo
Aleo è due cose.
- Un’infrastruttura per lo sviluppo di applicazioni.
- Una rete per il rilascio delle applicazioni
Per creare all’atto pratico gli applicativi, entra però in gioco il prodotto di Aleo: Aleo Studio.
Cos’è Aleo Studio
Aleo Studio è apparentemente un IDE per lo sviluppo di applicazioni private scritte in Leo, un linguaggio creato ad-hoc, e basate sul concetto di Zero-Knowledge Proof.
Una ZKP sinteticamente è un sistema attraverso cui un prover dimostra a un verifier di possedere un’informazione senza rivelare l’informazione stessa.
Un apparente ossimoro che cela un’affascinante tecnologia.
Tornando a noi, Aleo Studio integra l’Aleo Package Manager da cui importare pacchetti sviluppati dalla community per accelerare il processo di sviluppo.
In questo modo possiamo creare applicazioni senza compromessi tra convenienza e privacy, rilasciandole nella rete decentralizzata Aleo.
Moolto interessante.
Sono riusciti a conquistare la mia curiosità. E la tua?
Primi passi con Aleo Studio
Per cui, la creazione automatica del progetto non funziona. Proviamo manualmente a creare un primo file Leo, ed eseguiamo un codice semplice.
Leo, il linguaggio di programmazione per la scrittura delle applicazioni, è staticamente tipizzato, e parrebbe molto simile a Rust.
Contando che persino il linguaggio è in via di sviluppo è lecito aspettarsi un po’ di instabilità generale.
Abbiamo provato ad eseguire una semplice somma e questo è il risultato:
Una decina di file generati per sommare a, e b. Ok!
In pratica, under the hood, ecco quanto è avvenuto:
- generazioni chiavi per il trusted setup (due chiavi pubbliche a partire da un parametro segreto)
- fetching degli input (cartella input)
- generazione delle proofs
- verifica delle proofs
Per approfondire il concetto teorico delle Zero Knowledge Proof ti rimando all’articolo di approfondimento sul loro funzionamento.
Per il momento è tutto.
Per aspera, ad astra.
Un caldo abbraccio, Andrea