Ethereum e smart contract: come funzionano?

Vitalik Buterin, fondatore di Ethereum

Il ragazzo nella foto dell’articolo è Vitalik Buterin. Vitalik è uno degli under 25 più chiacchierati degli ultimi mesi. Figlio di un’analista finanziaria e un programmatore russo, è riuscito a prendere il meglio da entrambi i genitori. Il giovane prodigio, dopo essersi trasferito in Canada nel 2000 con tutta la famiglia, ha raggiunto la ribalta della cronaca grazie alla “invenzione” di Ethereum.

Nonostante Bitcoin ed Ethereum vengono molto spesso accoppiati all’interno di un discorso, sono due tecnologie molto differenti, con differenti obiettivi e implicazioni. L’unica cosa che hanno in comune è che si basano entrambe su una blockchain.

Se ancora non siete riusciti a capire come funziona una blockchain (cosa normalissima) cliccate qui.

Bitcoin, al momento, non può più essere considerato come una criptovaluta ma come una cryptocommodity  ovvero una riserva di valore come l’oro. Ethereum, invece, è un super computer distribuito.

Come sappiamo, la blokchain è una catena di blocchi all’interno dei quali vengono conservati dei dati che sono impossibili da eliminare o da modificare. Ogni nodo (computer connesso al network), infatti, “possiede” un registro, uguale a quello degli altri nodi, con tutti i dati conservati. I nodi, avendo tutti lo stesso registro, possono confrontarsi per verificare la veridicità dei contenuti del blocco così da impedire che qualcuno ne modifichi o elimini il contenuto. Ecco cosa s’intende quando si parla di blockchain come registro distribuito.

Questa piccola spiegazione è inevitabile per capire veramente cos’è e come funziona la piattaforma Ethereum.

Cos’è Ethereum?

Il white-paper di Ethereum viene presentato nel 2014 su un forum online per programmatori e accentra subito un certo interesse. Infatti, nel luglio 2014, viene proposta un’ICO attraverso la quale vengono raccolti circa 5000 BTC destinati allo sviluppo di Ethereum.

Clicca qui, per scoprire cos’è una ICO e come potrebbe cambiare il concetto di raccolta di capitali.

Nasce così la prima piattaforma distribuita. Ethereum, infatti, deve essere immaginata come un computer decentralizzato e distribuito su tutto il globo. Cosa significa? Ogni computer, all’interno dei microchip, dispone di una forza computazionale utilizzata per risolvere problemi matematici e per far funzionare un computer. Con Ethereum questa forza computazionale viene condivisa tra tutti i nodi del network per permettere l’adempimento e lo sviluppo degli smart contracts.

Come funziona Ethereum?

Come tutte le altre blockchain, Ethereum ha bisogno di svariate migliaia di nodi, che utilizzando i software sui loro computer alimentano e sostengono il network (la rete di Ethereum). Ogni nodo utilizza un “programma” chiamato EVM (Ethereum Virtual Machine). Pensate all’EVM come ad un sistema operativo che capisce ed esegue il software scritto con lo specifico linguaggio di programmazione di Ethereum: Solidity. I software eseguiti dall’Ethereum Virtual Machine sono chiamati smart contracts, per eseguire tutte le operazioni al suo interno e quindi per eseguire questi contratti intelligenti, è necessario sostenere un costo.

All’interno della piattaforma, però, non si può pagare con le normali valute correnti come dollari o euro, ma si deve utilizzare una criptovaluta specifica: Ether. Ether è una criptovaluta come il bitcoin, con la differenza che può essere utilizzato all’interno della piattaforma Ethereum per eseguire gli smart contracts. Gli Ether sono scambiabili sui mercati ed hanno un controvalore in euro o dollari, ad oggi circa 700 dollari.

Cosa sono e come funzionano gli smart-contracts?

Gli smart contracts, in italiano “contratti intelligenti”, come molte idee nel settore della blockchain e del Fintech, è un termine che genera confusione e curiosità. Se un contratto standard è rafforzato dalla legge, uno smart contract è rafforzato dall’immutabilità e dall’oggettività dei codici crittografici. Un contratto intelligente è essenzialmente un programma che esegue inevitabilmente le condizioni postulate precedentemente dagli sviluppatori. O meglio, un contratto tradizionale i cui effetti sono garantiti da un codice, un algoritmo.

Attraverso lo smart contract è possibile garantire che al verificarsi di alcune condizioni poste in precedenza, inevitabilmente si spieghino gli effetti concordati precedentemente dalle parti. Il fondamento logico che viene eseguito è facilmente trascrivibile con la sentenza “if-this-then-that”, “se-questo-allora-quello”.

Il primo software che ha permesso l’esecuzione di una condizione determinata dalla sentenza logica: “if-this-then-that” è stato inserito nei distributori automatici. Inserendo la moneta, automaticamente il software legge la stessa e se soddisfatta l’importo chiesto.

Nel 1993 è stato concepito idealmente da un programmatore e crittografico, Nick Szabo , come una tipologia di un distributore automatico digitale (digital vending machine). Egli lo descrisse come “un insieme di promesse, specificatamente sotto forma digitale, attraverso un protocollo tra un numero non determinante di parti, che esegue esattamente quello richiesto in partenza”.

Per protocollo, Szabo intendeva un algoritmo che permettesse la imperturbabilità di un insieme di regole nel tempo. La grande idea alla base di Ethereum, sta nel fatto che un qualsiasi utente può inserire degli input, sotto forma di regole e codici, e ottenere dalla macchina ricevente, periodicamente, l’esatto corrisposto, tutto questo automaticamente.

L’anatomia di uno smart-contract può essere espressa in questi cinque punti

  1. Due o più parti identificano un interesse comune
  2. Scrivono insieme uno smart contract ponendo le condizioni e gli effetti desiderati
  3. Inseriscono lo smart contract nella Blockchain di Ethereum
  4. La stessa Blockchain di Ethereum diventa il garante del contratto
  5. Quando nella rete si ottiene il consenso, il contratto esegue le sue condizioni 

A cosa possono servire gli smart-contracts? Facciamo un esempio:

Tutti abbiamo presente la famosa piattaforma di house-sharing Airbnb. Molti italiani, nell’ultimo anno, hanno iniziato ad utilizzarla facendo della propria seconda casa un vero e proprio business. Purtroppo ci sono ancora dei problemi logistici: il proprietario della casa deve essere presente al momento della consegna delle chiavi (check-in) e al momento del ritiro (check-out).

Slock.it, un’applicazione decentralizzata basata su Ethereum, grazie agli smart-contracts e ad un “lucchetto digitale” si propone di risolvere questo problema. Come funziona? L’orario del check-in e quello del check-out verranno inseriti sotto forma di input nello smart-contract che garantirà un codice d’accesso, da inserire sul lucchetto digitale, valido solo per la fascia di tempo prestabilita. In questo modo il proprietario di casa non dovrà preoccuparsi di nulla. Ecco, gli smart contracts servono a garantire delle azioni che altrimenti necessiterebbero di un intermediario.

Ethereum ha dato la possibilità agli utenti di creare delle applicazioni decentralizzate in grado di tagliare gli intermediari e i rapporti fiduciari: ci sono gli smart-contracts che garantiscono tutto ciò.