Blog.

Aleo Studio: un IDE per Zero-Knowledge Proofs Applications


Autore
Andrea Provino
Data
Tempo di lettura
3 minuti
Categoria
machine-learning

Aleo Studio

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.

  1. Un’infrastruttura per lo sviluppo di applicazioni.
  2. 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:

  1. generazioni chiavi per il trusted setup (due chiavi pubbliche a partire da un parametro segreto)
  2. fetching degli input (cartella input)
  3. generazione delle proofs
  4. 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


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum