Ethereum per principianti [NEWS-GUIDA]


Nella guida “Ethereum: ma come funziona ?”  abbiamo affrontato il tema del funzionamento della blockchain Ethereum dal punto di vista tecnico. Vediamolo ora dal punto di vista dell’utente “medio”, cioè chi, pur usando le app, non necessariamente è uno sviluppatore, o chi fa acquisti online, ma non vuole necessariamente capire come questi vengono gestiti dietro le quinte.

Ethereum è una piattaforma decentralizzata che esegue “contratti intelligenti”, cioè applicazioni che funzionano esattamente come programmato senza alcuna possibilità di interruzione dell’attività, censura, frodi o interferenze di terze parti.

Anche se è stata fondata alla fine del 2014 ed il volume di articoli che spiegano la complessità della tecnologia è cresciuto nell’ultimo anno, il concetto rimane complesso da comprendere. Ad esempio il libro giallo scritto dal CTO di Ethereum Gavin Wood, o il libro bianco originale scritto dal fondatore Vitalik Buterin, sono indicativi della complessità del funzionamento della piattaforma complessiva.

Se lo desiderate, prima di procedere con la lettura di questa “sintesi semplificata”, potete anche dare uno sguardo ai video seguenti realizzati dal team dei fondatori di Ethereum:

“Ethereum for Dummies” [di Gavin Wood, CTO, Ethereum]:

“Ethereum explained in 100 seconds” [Gavin & Vitalik]:

Ma ora iniziamo:

Il Computer

Se avete visto almeno una parte dei video di cui sopra il CTO di Ethereum, Gavin Wood, lo descrive come un “computer globale“.

Source: Deviantart

Rimaniamo fedeli all’approccio di Gavin ed esploriamone il significato. Un computer è, in poche parole, una macchina di calcolo: prende input, li elabora utilizzando determinate istruzioni e crea output.

Ora immaginiamo di voler registrare una canzone sul computer. È possibile avviare alcuni software di registrazione, iniziare a cantare e salvare il brano come file sul computer. Abbiamo il pieno controllo e la proprietà di questo file.

Oppure possiamo usare un’app come Soundcloud e registrare la canzone direttamente nel cloud. Si possiede ancora questa canzone, ma Soundcloud tecnicamente potrebbe in un secondo tempo decidere di modificare la sua politica di proprietà intellettuale.

Le funzionalità in cloud hanno sostanzialmente consentito agli utenti finali di trasferire le risorse quali la potenza di calcolo e lo storage a società la cui unica attività è la loro gestione ottimale. Per progettazione, guardando questo approccio, si tratta di un controllo centralizzato delle risorse in gioco.

Invece di registrare la canzone su Soundcloud immaginate di poterla salvare contemporaneamente su migliaia di computer in tutto il mondo. Se avete mai utilizzato un servizio torrent avrete un’idea di cosa stiamo parlando. Questo invece è, per progettazione, un sistema decentralizzato.

Ethereum utilizza la tecnologia blockchain il che, in parole povere, significa che il “computer globale” di Ethereum è progettato per elaborare le istruzioni in modo decentralizzato, facendo affidamento sulla potenza di elaborazione e sulle risorse di storage di innumerevoli computer o “nodi”. In questo senso estenderemo la descrizione di Gavin e lo definiremo un “computer globale decentralizzato“.

Che tipologia di istruzioni vengono elaborate da Ethereum ?

Nel video Gavin utilizza un’altra analogia per descrivere Ethereum:

Se bitcoin è criptofinanza, Ethereum è criptolegge

Ancora una volta prendiamo spunto da lui e proviamo a dare un senso concreto alla sua affermazione: nel tentativo di generalizzare i benefici e le applicazioni di un sistema valutario decentralizzato (il Bitcoin), i fondatori di Ethereum si sono ispirati alla legge, più specificamente al concetto di contratti, come prossimo passo logico evolutivo. In un mondo di valute e transazioni i contratti sembravano il meccanismo più efficace per massimizzare la fiducia.

Sfruttando i vantaggi computazionali e programmatici della blockchain Ethereum mirava a rendere i contratti più intelligenti. Di conseguenza si è evoluto in una piattaforma per eseguire “contratti intelligenti”: tutto ciò che può essere rappresentato matematicamente può essere programmato e messo in un contratto intelligente. Ciò ci consente di estendere ulteriormente la nostra definizione di Ethereum che può ora essere descritto come

un computer globale decentralizzato che esegue contratti intelligenti

Come funzionano i contratti intelligenti ?

Torniamo all’analogia con il nostro computer: abbiamo stabilito che il “computer globale” di Ethereum è in grado di elaborare le istruzioni. Inoltre Ethereum si aspetta che queste istruzioni siano programmate come un contratto, cioè come un accordo tra due o più parti che abilita una transazione.

Per simulare un accordo immaginiamo di voler vendere una registrazione della canzone salvata in precedenza. Ignoriamo per ora il tema di come e dove è ospitato fisicamente il file della canzone.

In primo luogo definiamo un contratto che stabilisce che la canzone sarà resa disponibile per il download quando viene effettuato un pagamento di € 1. Tecnicamente le valute del mondo reale non possono essere rese disponibili direttamente sulla rete Ethereum.

Successivamente, per aggiungere questo contratto alla blockchain è necessario convertirlo in un codice che esegua la semplice istruzione seguente:

paga €1 → download file

La programmazione di questa istruzione è resa possibile dal linguaggio contrattuale di Ethereum ‘Solidity’ [Nota: Ethereum consente agli sviluppatori di utilizzare strumenti per creare applicazioni per gli utenti finali. Gli utenti finali non avranno bisogno di conoscenze di programmazione per creare contratti].

Quando questa istruzione viene codificata e distribuita alla blockchain al contratto viene assegnato un indirizzo che assomiglia alla stringa seguente:

0ndac24d02bad7e9x6a80106db164jad9399a0423e

Si tratta di un indirizzo che risiede stabilmente sulla blockchain e diventerà la base di tutte le transazioni future.

Nel nostro esempio quando un utente vorrà scaricare la nostra canzone dovrà copiare questo indirizzo nel suo portafoglio crittografico (o creare un portafoglio prima) ed in pochi secondi i fondi saranno verificati dalla blockchain, € 1 verrà depositato nel vostro portafoglio crittografico e la canzone gli sarà disponibile per il download.

Essendo l’ecosistema delle blockchain ancora agli albori l’elaborazione delle transazioni non è così intuitiva o semplice come le tipiche transazioni online a cui siamo abituati, ma questo sta cambiando rapidamente con lo sviluppo di una serie di nuove applicazioni focalizzate sul miglioramento dell’esperienza dell’utente.

Perché eseguire i contratti in questo modo è “intelligente” ?

Per apprezzare la genialità dei contratti intelligenti di Ethereum dobbiamo dare un’occhiata a come vengono eseguiti. Esaminiamo cosa succede dietro le quinte quando la nostra canzone viene acquistata su iTunes.

  • Quando un utente acquista il nostro brano su iTunes utilizzando la sua carta di credito la banca che elabora le transazioni con carta di credito per la Apple invia una richiesta di autorizzazione al pagamento al circuito della carta di credito dell’utente
  • La carta di credito restituisce quindi un codice di autorizzazione se il saldo del nostro utente lo consente, ma nessuna somma di denaro è stata ancora scambiata
  • La transazione del nostro utente, insieme ad ogni altra transazione, viene salvata e inviata per l’elaborazione a MasterCard il giorno successivo
  • MasterCard invia quindi la transazione del nostro utente alla sua carta di credito, preleva €1 dal suo conto, incassa una piccola percentuale di transazione ed invia l’importo residuo ad Apple
  • Infine la Apple detrae la propria quota del €1 prima di versare denaro sul nostro conto bancario

Come potete vedere un tipico accordo tra due parti richiede l’arbitrato o la revisione da parte di terzi per legittimarlo. Nell’esempio precedente a terzi è richiesto di elaborare il pagamento (processore del credito) e di detenere denaro (banca). Ethereum è stato progettato per eliminare entrambe queste entità.

In primo luogo la tecnologia blockchain sostituisce le entità di elaborazione dei pagamenti utilizzando un processo di verifica immutabile ed infallibile che viene eseguito istantaneamente. La conservazione sicura dei dati è uno dei motivi principali per cui i grandi istituti finanziari stanno valutando la tecnologia blockchain.

In secondo luogo le banche ai due estremi della transazione sono sostituite da portafogli digitali collegati direttamente ai privati e garantiti da complesse funzioni crittografiche.

Per rispondere quindi alla nostra domanda l’intelligenza offerta da Ethereum nell’eseguire programmaticamente i contratti e nel far rispettare la fiducia attraverso la blockchain rende questi contratti “intelligenti per progettazione”.

Dopo aver letto questo articolo avete una “prima infarinatura” (davvero minimale) sul significato di Ethereum e sul suo funzionamento. Se avete ancora domande o volete approfondire gli aspetti tecnici potete leggere il nostro articolo “Ethereum: ma come funziona ?”  o utilizzare i commenti a questo articolo. cercheremo di rispondere a tutte le vostre domande nei  prossimi post.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

This site uses Akismet to reduce spam. Learn how your comment data is processed.