Ethereum In Evidenza Monero News

Il metodo Zero Knowledge Proof in uno Smart Contract: la privacy arriva su Ethereum

Un team di sviluppatori ha creato uno smart contract che usa il metodo noto come “zero knowledge proofs” per nascondere chi sta eseguendo una transazione e il quantitativo di token/coin inviati. Di fatto, con questo metodo, è possibile dimostrare di conoscere un valore ‘x’ senza far sapere all’altra entità (il verifier) null’altro che questo. Questo concetto sarà familiare a chi conosce un po’ di crittografia. In questo modo gli sviluppatori intendono portare la privacy su Ethereum.

Il protocollo AZTEC può abilitare transazioni riservate per qualsiasi asset digitale generico su Ethereum, inclusi gli asset esistenti. Abbiamo associato un AZTEC token al token DAI di MakerDAO (si tratta di una stablecoin, ndR). Il nostro smart contract può essere usato per convertire DAI dalla sua blockchain ERC-20 pubblica in un token AZTEC.

queste le parole degli sviluppatori su GitHub.

I protocolli “zero knowledge proofs” sono usati in Zcash che, tra l’altro, è da poco arrivata su Coinbase Pro. Zcash (ZEC) si è fatta largo fra le innumerevoli criptovalute sul mercato grazie alla sue due caratteristiche principali: sicurezza e anonimato. Tutte le caratteristiche di Zcash le potete trovare nel nostro approfondimento.

Leggi anche: Zcash “Sapling”, i dettagli sull’aggiornamento del 29 Ottobre

Zcash è stata una delle prima (forse la prima) ad adottare il sistema ZK-SNARKs che sta per Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. ZK-SNARKs tra le altre cose consente di ridurre le dimensioni delle transazioni e il loro impatto a livello computazionale. Vitalik Buterin  sta cercando di implementare questo meccanismo per aumentare il numero di transazioni di Ethereum.

AZTEC e DAI

ethereum zcash monero dai stablecoin

Il team di sviluppo, come detto, ha usato la stablecoin DAI per un primo proof of concept. Come si evince dallo screenshot di Etherscan sopra riportato sono stati inviati 40 dai ad un indirizzo 0x6, che corrisponde allo zero knowledge smart contract.

Andiamo a scavare un po’ più a fondo. Se aprite lo smart contract c’è una transazione di 14 giorni fa ma sembra scorrelata da quella in questione. 10 DAI sono stati inviati all’indirizzo sotto evidenziato.

zero-knowledge-smart-contract-dec-2018

In realtà quei 10 DAI sono stati inviati a un indirizzo diverso da quello evidenziato, questo: 0XD. Il che è curioso perchè se aprite il link noterete che quell’indirizzo non riceve transazioni da oltre un anno.

zero-knowledge-dai-transaction-dec-2018

Non compare, inoltre, la tab per le transazioni ERC20. Dovrebbe esserci se ha ricevuto DAI ma non c’è.

La blockchain ci dice che questo account non ha ricevuto DAI mentre gli sviluppatori il contrario. La blockchain non mente e gli umani sì. Però cosa succede se facciamo dire una bugia alla blockchain nascondendo i token DAI (o qualunque altro token)? Questo è il concetto di fondo: sappiamo cosa ci dice la blockchain ma non cosa non ci dice.

Leggi anche: Firme di Schnorr: migliorare privacy e scalabilità di Bitcoin

Il modo in cui questa tecnica funziona è semplice. Tutto ciò che viene inviato allo smart contract è trasformato in una nota. Non possiamo vedere i DAI sull’indirizzo del receiver perchè di fatto non li ha. Ha una nota. Queste note sono una sorta di “garanzia”: chi le ha può riscattare un certo numero di token. Detta così la faccenda sembra complicata in realtà si tratta di “schiacciare un bottone” lato utente. Di fatto lo smart contract è una specie di database che non è on-chain e che contiene tutte le “note” legate alle varie transazioni.

Quando la transazione arriva su blockchain è prima passata per questo database. Sapremo chi ha ricevuto cosa ma non da chi. Questi token possono essere scambiati dai possessori delle note all’interno del database senza che questo sia visibile all’esterno. Ciò implica che una volta inviati dei token nel “buco nero” non sappiamo per che mani sono passati prima di arrivare on-chain. Chiaramente per inviare token ad altri utenti fuori dal database c’è da passare per la blockchain e quindi riscattarli.

Ho cercato di essere chiaro e poco tecnico, dietro a questa mia semplificazioni ci sono in realtà diversi passaggi complessi che garantiscono il funzinamento del sistema.

Tutto ciò è interessante perché è possible sparire e fare cose al di fuori dell’occhio vigile della blockchain e farlo semplicemente inviando una transazione ad un certo smart contract.

Le implicazioni di quanto abbiamo sviluppato vanno oltre il semplice invio di token ERC20. Nei prossimi mesi rilasceremo la versione finale, open-source, del protocollo AZTEC, sarà possibile trasformare ogni crypto che si appoggia su Ethereum in full zero knowledge.

Questa novità è di grande impatto: saranno possibili votazioni anonime, dimostrare che si è membri di un certo gruppo senza rivelare la proprià identità, potranno nascere decentralized zero-knowledge exchange (cosa in realtà difficile per diversi motivi) e molto altro ancora.

Tutto molto interessante, vi terremo aggiornati nei prossimi mesi.

cripto

Vi invitiamo a seguirci sul nostro canale Telegram ed anche sul gruppo ufficiale Telegram, dove sarà possibile discutere insieme delle notizie e dell’andamento del mercato, sulla nostra pagina Facebook e sul nostro account Twitter.


La più grande community italiana dedicata alle criptovalute: Italian Crypto Club (ICC)

Matteo Gatti

Ingegnere informatico appassionato di tecnologia e di tutto ciò che vi ruota attorno. Seguo con interesse il mondo delle criptovalute e lo sviluppo della tecnologia Blockchain. Scrivo anche di Linux su LFFL.
Follow Me:

Related Posts

Rispondi