Torna su

 

 

 

 

Ambito: Blockchain

Trasparenza in transazioni e accordi: la Blockchain apre alla decentralizzazione

18 gennaio 2019
di lettura

I dati nella tecnologia del futuro si sposteranno dai nodi centrali alle periferie dei sistemi, e l'elaborazione del dato si avvicinerà sempre di più agli utilizzatori, spostandosi dai sistemi in cloud odierni verso l'esterno della rete.

Molti degli aspetti della società a cui siamo oggi abituati diventeranno possibili senza più -almeno alcune- figure intermediarie a sancire l'accordo tra le parti.

Accordi commerciali, relazioni tra le parti, avverranno con regole più esplicite e trasparenti. Sarà inoltre possibile grazie agli Smart Contract estendere il potere di calcolo da più macchine in cloud a tante macchine distribuite in tutto il mondo e potenzialmente di proprietà degli utenti.

Nel 2015 Vitalik Buterin, allora ventenne cresciuto in Canada e di origine Russa, realizza come cofondatore Ethereum: la tecnologia che ha dato vita ai contratti intelligenti -Smart Contract- sino a quel momento solo teorizzati.

Per comprendere gli Smart Contract pensiamo a come funzionano i programmi e le App che utilizziamo oggi sui nostri PC e Smartphone. Il programmatore ne realizza la logica applicativa utilizzando un linguaggio di programmazione che viene eseguito in tempo reale sul dispositivo dell'utilizzatore o su uno o più sistemi in parallelo ai quali è collegato. La logica necessaria al funzionamento dell'applicativo può includere una o più esigenze:

  • Se i biglietti sono finiti vengono chiuse le vendite
  • Se l'utente ha inserito un codice di promozione viene applicato uno sconto
  • Se la password dell'utente è troppo semplice ne viene richiesta una più complessa
  • Se un'automobile smart necessita di revisione invia una notifica al proprietario

Chi garantisce che le logiche desiderate vengano applicate, e dove risiede il potere di calcolo che le esegue? Per anni quest'ultimo è stato nei computer di proprietà di privati e aziende, poi è passato in cloud sui server delle grandi aziende tecnologiche.

Grazie alla tecnologia Blockchain e le sue evoluzioni, in futuro il potere di calcolo potrebbe tornare in mano a tutti in maniera distribuita. Ad esempio tra pochi anni, il dipartimento di una Università che abbia bisogno di effettuare complessi calcoli di elaborazione video, potrebbe utilizzare una tecnologia tale che il potere di calcolo necessario venga preso da un sistema tecnologico le cui risorse sono distruite tra computer privati e aziendali. E i proprietari di questi computer potrebbero diventare fornitori con tanto di ritorno sugli investimenti grazie alle logiche del nuovo mercato potenziale.

Compiere un'azione portando un valore al sistema e ricevere in cambio un compenso è uno degli aspetti più importanti dei quali la Blockchain è potenzialmente tecnologia abilitante a livello globale.

Per comprendere meglio l'aspetto economico, torniamo a prima degli Smart Contract analizzando la prima versione realizzata di tecnologia Blockchain.

Prima degli Smart Contract

Con Blockchain oggi si intende identificare una serie di tecnologie in realtà spesso diverse tra loro. Alcune di queste, abilitate dall'idea iniziale Bitcoin, prendono addirittura nomi diversi come la Tangle del progetto con sede a Berlino IOTA. E si basano su tutt'altra logica.

La prima Blockchain è implementata con Bitcoin nel 2009; teorizzato e sviluppato con l'obiettivo di diventare il primo registro di contabilità decentralizzato, Bitcoin ha la caratteristica poi comune alle blockchain successive di tenere traccia dello scambio di valore economico da A a B. La tecnologia ideata è inoltre in un certo senso "auto sostenibile", poiché garantisce autonomamente sicurezza, velocità e certezza delle transazioni.

La sicurezza e la certezza sono garantite dalla crittografia asimmetrica e dalla presenza di molti attori del sistema contemporaneamente (miner e validatori) che rendono tanto più impossibile un attacco al sistema, quanto più la tecnologia sarà diffusa. Leggi questo articolo per approfondire il tema della crittografia legata alla Blockchain.

La velocità delle transazioni, oggi non è ancora non al livello dei circuiti di pagamento più diffusi ma lo sarà nei prossimi mesi. Esistono, come visto in precedenza, altre tecnologie diverse da Bitcoin alcune delle quali garantiscono costi delle transazioni molto più bassi e in alcuni casi pari a zero. Così come velocità incredibili. Alcuni tra i più famosi progetti XRP (supportato in maniera molto forte dalla società Ripple) e Stellar Lumens.

Quale che sia lo sviluppo tecnologico che avrà la meglio sugli altri, ad oggi la complessità più grande risiede nel rispettare contemporaneamente questi tre indicatori. Normalmente infatti alzare l'uno abbassa gli altri due.

  • Velocità e scalabilità
  • Sicurezza
  • Decentralizzazione

I miner

Sono gli attori del sistema che grazie al potere di calcolo che mettono a disposizione rendono possibile la creazione di catene di blocchi (da cui il termine Blockchain) in cui ogni blocco è composto da un insieme di transazioni.

Ricevono in cambio un compenso. Un argomento di ulteriore approfondimento che suggerisco è la differenza tra Proof of Work e Proof of Stake.

La transazione

Nelle prime versioni della Blockchain l'unico scenario dal punto di vista utente era inviare e ricevere fondi reciprocamente.

  • A desidera inviare Bitcoin a B
  • A invia Bitcoin all'indirizzo di B, firmando la transazione con la propria chiave privata (questo articolo spiega il meccanismo)

 

 

Ethereum ha aggiunto un elemento importante con gli Smart Contract, portando la tecnologia a un livello succesivo.

L'arrivo degli Smart Contract

Ethereum funziona come la rete Bitcoin dal punto di vista utente in termini di transazioni: con Bitcoin puoi inviare BTC da A a B. Con Ethereum puoi inviare Ether (ETH) da A a B, ma puoi anche inviare ETH a uno Smart Contract e interagire con uno Smart Contract per riceverne. Più Smart Contract possono inoltre scambiarsi fondi tra loro.

Gli Smart Contract sono attori della Blockchain come gli utenti A e B dell'esempio precedente, ma sono attori software e in quanto tali non umani. Uno Smart Contract è un nodo della rete che contiene un insieme di funzioni scritte in un linguaggio di programmazione.

  • Diversamente dagli altri nodi della rete, gli Smart Contract non hanno una chiave privata: significa che nessuno può accedere ai loro fondi direttamente, neanche chi li ha sviluppati. L'unico modo per ottenere fondi da uno Smart Contract è l'esserne autorizzati e il meccanismo di autorizzazione è gestito tramite delle funzioni sviluppate a tale scopo (per esempio getSalary() può essere richiamata da un impiegato).

Una volta che il codice è rilasciato all'interno di uno Smart Contract nessuno può modificarlo.

Gli Smart Contract sono nodi della rete incorruttibili che verificano e abilitano in maniera trasperente l'esecuzione di transazioni e accordi

 

 

In figura vediamo un potenziale scenario nel quale un datore di lavoro con 3 dipendenti invia 9 Ether a uno Smart Contract a fine mese. Gli impiegati possono ottenere il pagamento direttamente dallo Smart Contract. Lo Smart Contract assicura che l'impiegato non venga pagato due volte, che ottenga l'importo che gli spetta e che sia effettivamente autorizzato, a partire dal proprio indirizzo.

Gli Smart Contract sono Turing completi, e significa che possono essere impiegati per risolvere ogni problema computazionale.

Ethereum in Depth: Smart Contracts

Ai programmatori, e aspiranti tali, finiti in questo articolo consiglio questo video nel quale l'autore mostra un esempio pratico di sviluppo tramite Smart Contract.

Scenari futuri

Seguono alcuni possibili scenari di applicazione futura degli smart contract.

  • Distribuzione di fondi per iniziative di beneficenza
  • Sistemi di voto
  • Libero mercato per compravendita di risorse computazionali
  • Internet of Things
  • Accordi commerciali
  • Gaming: sviluppatori e giocatori diventeranno parti del sistema economico legato ai videogiochi e potranno guadagnare in maniera diretta dalle attività svolte (per approfondire il legame tra videogiochi e Blockchain oggi clicca qui)

In tutti questi scenari si avrebbe un mediatore imparziale, lo Smart Contract, che svolge il ruolo per cui è stato creato in maniera trasparente e inalterabile sin dal suo rilascio che abilita attori umani (o altre macchine in futuro) ad eseguire transazioni guidate da regole che è garantito vengano rispettate, senza bisogno di terze parti "umane" a garanzia del processo. Gli Smart Contract e le transazioni stesse sono memorizzate e consultabili per sempre in Blockchain.