Blockchain: il futuro e la fiducia nella community

Blockchain: il futuro e la fiducia nella community

Se ne parla sempre più frequentemente e sempre più frequentemente sentiamo dire che rappresenta il futuro. Il futuro nostro e di internet. La blockchain, o “catena di blocchi”, può essere esemplificata come un processo in cui un insieme di soggetti condivide risorse informatiche, come memoria, cpu e banda, per rendere disponibile alla comunità di utenti un database virtuale generalmente pubblico. Esistono anche esempi di implementazioni private, in cui ogni partecipante ha una copia dei dati. Come avrai intuito, il tutto si fonda sulla fiducia. Una volta ci si sarebbe dovuti fidare della comunità. Domani ci si dovrà fidare della community.

L’utilizzo di un protocollo di aggiornamento ritenuto sicuro dalla comunità degli utenti e di tecniche di validazione crittografiche genera la reciproca fiducia dei partecipanti nei dati conservati dal blockchain, fiducia che la rende comparabile ai registri gestiti in maniera assoluta da autorità riconosciute e regolamentate, come le banche e le assicurazioni, tanto per fare un esempio. Ti starai chiedendo: ha a che fare con i bitcoin? Anche sì, ma non semplicemente e solamente con le criptovalute. Dietro la parolina “magica” blockchain, c’è molto di più.

Comincio col raccontarti che la prima blockchain distribuita fu concettualizzata nel 2008, da una persona o da un gruppo di persone che sono rimaste anonime. Anzi, che si sono nascoste dietro al nome di Satoshi Nakamoto. Dall’anno successivo il blockchain è stato implementato proprio come componente principale della valuta digitale bitcoin, dove ancora oggi funge da “libro mastro” pubblico per tutte le transazioni. Attraverso la rete peer-to-peer e il server di timestamping distribuito, un blockchain database è in grado di gestirsi autonomamente. Satoshi Nakamoto usava le parole block e chain in modo separato nell’articolo originale del 2008.

Un passo per volta e, nel mese di agosto 2014, la dimensione del blockchain del bitcoin era di circa 20 gigabyte, mentre nel marzo 2018 è arrivata alla dimensione di 162,4 gigabyte. Nel 2014 si iniziò ad usare il termine blockchain 2.0 per riferirsi alla nuova versione distribuita, che fu usata anche per le normali transazioni, permettendo lo scambio di valute senza l’intermediazione di organizzazioni che muovono i soldi. Ora, l’aspettativa è quella di permettere alle persone escluse dall’attuale monetizzazione di poter entrare in possesso di un deposito monetario affidabile e sicuro con la possibilità di proteggere la privacy e monetizzare le proprie informazioni.

Secondo alcuni, questa nuova forma di democrazia economica avrebbe il potenziale per risolvere il problema della disuguaglianza sociale, cambiando il modo in cui la ricchezza viene ridistribuita. Nel 2017, il parlamento del Nevada ha approvato una legge per liberalizzare completamente il blockchain. In particolare l’articolo 13 della legge recita: “…impedisce alle autorità locali di imporre qualsiasi tassa sul blockchain o sugli smart contract, impedisce di richiedere qualsiasi forma di licenza per l’uso del blockchain o degli smart contract, impedisce di fare qualsiasi altra richiesta sull’uso del blockchain”.

Dunque, una blockchain è fondamentalmente un registro aperto e distribuito che può memorizzare le transazioni tra due parti in modo sicuro, verificabile e permanente. Una volta scritti, i dati in un blocco non possono essere retroattivamente alterati senza che vengano modificati tutti i blocchi successivi ad esso e ciò, per la natura del protocollo e dello schema di validazione, necessiterebbe il consenso della maggioranza della rete. Il blockchain è una lista in continua crescita di record, chiamati block, che sono collegati tra loro e resi sicuri mediante l’uso della crittografia. Ogni blocco della catena contiene un puntatore hash come collegamento al blocco precedente, un timestamp e i dati della transazione.

La natura distribuita e il modello cooperativo rende robusto e sicuro il processo di validazione, ma presenta tempi e costi non trascurabili, dovuti in gran parte al prezzo dell’energia elettrica necessaria per effettuare la validazione dei blocchi. L’autenticazione avviene tramite la collaborazione di massa ed è alimentata da interessi collettivi. Il risultato di tutto ciò è un flusso di lavoro robusto dove non è necessaria la competenza dei partecipanti in materia di sicurezza dei dati. L’utilizzo di questa tecnologia consente anche di superare il problema dell’infinita riproducibilità di un bene digitale e della doppia spesa senza l’utilizzo di un server centrale o di un’autorità. Una blockchain database consiste in due tipi di record: le transazioni e i blocchi. Questi ultimi contengono lotti di transazioni valide che sono trasformate in un codice chiamato hash e codificate all’interno di un Merkle tree (hash tree).

Ogni blocco include l’hash del blocco precedente creando così il collegamento tra due blocchi. L’iterazione di questa procedura forma la catena e garantisce l’integrità del blocco precedente, questo fino al blocco di genesi. Inoltre, è possibile che blocchi separati siano prodotti simultaneamente: questo provoca una biforcazione detta fork nella catena della blockchain. Ogni blockchain, oltre a una cronologia basata su un hash sicuro, ha uno specifico algoritmo per segnare diverse versioni della cronologia che si va a creare con le biforcazioni in modo che una con un valore più alto possa essere selezionata rispetto alle altre. I blocchi non selezionati per l’inclusione nella catena sono chiamati blocchi orfani.

I peer che supportano il database hanno di volta in volta versioni diverse della cronologia e mantengono solo la versione con punteggio più alto del database a loro nota. Ogni volta che un peer riceve una versione con punteggio più alto, solitamente la vecchia versione con un singolo nuovo blocco aggiunto, estende o sovrascrive il suo database e ritrasmette il miglioramento ai propri pari. Ovviamente, in questo caso, non c’è mai una garanzia assoluta che qualsiasi voce particolare rimanga nella migliore versione della storia per sempre. Ma sicuramente offre maggiori garanzie rispetto ad oggi.

È proprio in questo caso che entrano in gioco la decentralizzazione. La blockchain decentralizzata sfrutta il passaggio di messaggi ad-hoc e un networking distribuito per fare in modo di memorizzare i dati su tutta la sua rete ed evitare di avere un single point of failure in modo che non esista una centralizzazione che cracker e hacker potrebbero sfruttare per abbattere l’intero sistema. Tra i metodi di sicurezza del blockchain c’è anche la crittografia a chiave pubblica, che è un indirizzo su blockchain. In pratica: i token di valore inviati nella rete vengono registrati come appartenenti a questo indirizzo. Invece, la chiave privata è come una password che permette al suo proprietario di accedere alle sue risorse digitali oppure di interagire con le varie funzionalità di blockchain.

Blockchain e il sistema incorrutibile

I dati salvati sul blockchain sono considerati incorruttibili. Ogni nodo o miner nel sistema decentralizzato ha una copia del blockchain: difatti la qualità dei dati è mantenuta grazie ad una massiva replicazione del database. Non esiste nessuna copia ufficiale centralizzata e nessun utente è più credibile di altri, tutti sono allo stesso livello di credenziali. I nodi miner, ovvero gli utenti, validano le nuove transazioni le aggiungono al blocco che stanno costruendo dopo aver verificato l’intera blockchain. Una volta completato il blocco, lo trasmettono agli altri nodi della rete.

Va da sé che la blockchain usa differenti schemi di timestamp per serializzare le modifiche. La crescita della blockchain decentralizzata va a pari passo con il rischio della centralizzazione dei nodi, questo perché le risorse informatiche richieste per operare e gestire dati sempre più grandi diventano sempre più costose. Infatti, molti nodi miner si aggregano in pool per riuscire a completare i blocchi ed ottenere cryptovalute. Le transazioni sono raggruppate nei blocchi della blockchain e il numero di transazioni all’interno di ognuno di questi blocchi varia in base alla dimensione della transazione stessa.

Invece la dimensione della transazione varia in base al numero di input e di output della stessa. Un blocco è composto da due parti principali: l’header e il body. Le transazioni sono racchiuse nel body del blocco e nell’header sono presenti sette campi di gestione del blocco stesso. Come puoi vedere nella tabella esemplificativa sottostante.

Versione

02000000

Hash del blocco precedente (PrevHash)

E87C17C45768w7e1643fsd5481sd3f4131df681

Merkle root

697we168t4v1a4rv3v1e3r43c4er14ca8c4168a

Timestamp

358b0553

Bits

535f0119

Nonce

48750933

Numero di transazione

64

Il campo Versione dipende proprio dalla versione del software utilizzato. Il campo PrevHash è un hash di 256 bit che serve per fare riferimento al precedente blocco della catena. Il Merkle root è l’hash di tutti gli hash di tutte le transazioni nel blocco. Il campo Timestamp rappresenta il timestamp dell’ultima transazione con un algoritmo conosciuto come Unix hex timestamp da non confondere con il timestamp Unicche esprime bit numerici in secondi dal 1970-01-01T 00:00 UTC. Il campo Bits rappresenta il corrente valore target: l’hash dell’SHA-256 dell’header di un blocco dev’essere minore o al massimo uguale al corrente valore di target per essere accettato dalla rete.

C’è poi il campo Nonce è un valore a 8 byte che viene aggiunto al blocco in modo che l’output della funzione di hash vari facendo in modo che risulti inferiore al valore target, il valore viene ricalcolato finché l’hash del blocco non contiene il richiesto numero di zeri principali e infine il campo Numero di transazione identifica il numero della transazione. Un nodo, dopo aver verificato l’intero blockchain, raccoglie e colleziona le nuove transazioni generate ancora non validate e suggerisce alla rete quale dovrebbe essere il nuovo blocco. I computer usano la funzione crittografica di hash per stimare l’output fino a che non risulta inferiore al valore di target (valore dato dal campo ‘bits’ nell’header del blocco).

Il primo nodo che risolve il blocco lo trasmette nella rete dove viene accettato come blocco successivo nella catena. Sia X la funzione di hash fissata della rete e si consideri X come le transazioni pendenti e N rappresenti il valore di nonce. L’hash di output deve iniziare con degli zero e deve essere inferiore al valore di target, il problema è determinare il valore del nonce per far sì che questo avvenga. Il numero degli zeri all’inizio dell’output costituisce la difficoltà per risolvere il blocco. La difficoltà è dovuta al fatto che la funzione crittografica di hash genera numeri casuali, difatti la variazione anche di un solo bit nell’input della funzione porta ad un output completamente differente rispetto a quello calcolato senza la variazione. In questo modo diventa praticamente impossibile predire il nonce.

Una volta che il blocco è stato risolto, il suo hash, come un’impronta digitale, lo rappresenta univocamente ed è usato anche come riferimento al blocco precedente. Successivamente alla risoluzione del blocco, la rete automaticamente aggiusta il valore di target. L’intero processo di validazione dei blocchi è chiamato mining. È possibile, per diversi nodi, validare più blocchi contemporaneamente, portando così ad una biforcazione della catena. In questo caso, i miner, coloro che fanno mining, lavorano per la validazione dei blocchi su entrambe le biforcazione della catena, ma appena in una delle due viene validato ed aggiunto un nuovo blocco, tutti i miner che lavoravano sull’altra si spostano su quella a cui è stato aggiunto un blocco nuovo, trasformando così il blocco abbandonato in un blocco orfano.

Accade perché l’obiettivo dei miner è quello di estendere la catena in lunghezza. Le blockchain aperte sono di più facile utilizzo rispetto a quelle proprietarie che necessitano, comunque, di un accesso fisico alle viste, nonostante siano anch’essi aperti al pubblico. Dato che tutte le prime blockchain erano aperte, si è instaurata una controversia sulla definizione delle blockchain. Un sistema privato con dei verificatori autorizzati da un’autorità centrale può essere considerato una blockchain? I sostenitori delle catene autorizzate, o quantomeno private, sostengono che il termine “blockchain” possa essere applicato a qualsiasi struttura dati che raccoglie dati dentro a blocchi con un timestamp. Queste catena di blocco vengono usate come una versione distribuita di un controllo della concorrenza multiversione (Mvcc).

Per semplificare: Proprio come un Mvcc impedisce che due transazioni vadano a modificare lo stesso record sul database, blockchain impedisce che due transazione spendano la stessa uscita singola in un blockchain. Non tutti sono d’accordo. Gli oppositori di questa idea dicono che il sistema chiuso da permessi assomiglia ai tradizionali database aziendali che non supportano la verifica decentralizzata dei dati. Inoltre, sostengono che questo sistema non sia protetto contro la manipolazione e la revisione da parte di utenti.

Il grande vantaggio della blockchain aperta, senza permessi o pubblico, è che non è necessaria nessuna protezione verso utenti malintenzionati e non si necessita di nessun controllo degli accessi. Ciò significa che è possibile aggiungere le applicazioni alla rete senza l’approvazione di nessuno, usando semplicemente la blockchain come un livello di trasporto. Il bitcoin e le altre criptomonete rendono sicuri i loro blockchain richiedendo nuovi iscritti e una prova di lavoro (proof-of-work).

La fiducia nella community è grande

Invece, le blockchain con permessi, usano un layer di controllo degli accessi per verificare chi accede alla rete. Contrariamente ai blockchain pubblici, i validatori dei blocchi nelle blockchain private sono controllati dagli stessi possessori della rete. Le blockchain private si dividono essenzialmente in due tipologie: i consortium blockchain e i fully private blockchain. I primi sono blockchain in cui i processi con consenso sono gestiti da un set di nodi preselezionati, considerati anche come blockchain parzialmente decentralizzate. Nei fully private blockchain i permessi di accesso e scrittura sono gestiti in modo centralizzato da un’organizzazione.

Nikolai Hampton ha sottolineato su Computerworld che basterebbe un attacco 51 percento per poter accedere o controllare una blockchain privata in quanto, nella maggior parte dei casi, l’organizzazione controlla già il cento per cento della creazione dei blocchi. Infatti, se si potesse attaccare o danneggiare lo strumento di creazione dei blocchi su un server aziendale privato, si otterrebbe la gestione completa della loro rete e la possibilità di accedere e modificare i dati che si desiderano. Questo accade perché la centralizzazione dovuta alla privatizzazione della blockchain porta ad un single point of failure, ovvero ad un punto di rottura centrale, cosa che in una blockchain pubblico non potrebbe accadere in quanto distribuita, quindi priva di punti centrali attaccabili.

Tutto quanto detto potrebbe avere profonde implicazioni in crisi finanziarie o crisi di debito, come la crisi finanziaria del 2007-2008, che ha cambiato il mondo. La tecnologia blockchain ha un grande potenziale per trasformare i modelli operativi aziendali nel lungo periodo. È più di una tecnologia di base, con la potenzialità di poter creare nuove tecnologie e nuove basi per l’economia globale e i sistemi sociali, piuttosto che una tecnologia distruttiva che attacca il tradizionale modello di business. L’uso di blockchain promette di portare significativi miglioramenti alle catene di fornitura globali, alle transazioni finanziarie, ai beni contabili e ai social network distribuiti.

Questa nuova tecnologia può essere integrata in diverse aree del pianeta e i suoi protocolli facilitano alle aziende l’uso di nuovi metodi per processare e gestire le transazioni digitali. Facciamo alcuni esempi: sistemi di pagamento e valute digital che facilitano il crowdsales, implementazione del prediction market e strumenti di governance generici. La blockchain può essere utilizzata per certificare la data certa di un documento e il suo non aver subito alcuna variazione. Questa applicazione della catena a blocchi, ottenuta inserendo l’hash dei documenti che si vogliono certificare, è detta notarizzazione. Come la notarizzazione dei movimenti dei camion che trasportano la terra di un cantiere per garantire il rispetto dei vincoli e delle norme ambientali.

Può sopperire il bisogno di un trust service provider, provvede che si verifichino meno capitali legati alle controversie e ha il potenziale di ridurre il rischio sistematico e la frode finanziaria. Automatizza diversi processi che in precedenza richiedevano molto tempo se eseguiti manualmente, ad esempio l’integrazione di imprese. La maggior parte delle applicazioni di blockchain includono le criptovalute come: Bitcoin, Blackcoin, Dash e Nxt e piattaforme blockchain come Factom come un registro distribuito, Gems per messaggistica decentralizzata, MaidSafe per applicazioni decentralizzate, Storj e Sia per lo storage distribuito in cloud e Tezos per il voto decentralizzato.

Il nuovo metodo di distribuzione è utilizzabile e disponibile anche nel campo assicurativo come le assicurazioni peer-to-peer, le assicurazioni parametriche e le micro assicurazioni. Anche le banche sono interessate a questa nuova tecnologia grazie al fatto che velocizzano i sistemi di regolamenti di back office. Altri campi come la sharing economy e l’IoT possono trarre benefici dalla tecnologia delle blockchain in quanto coinvolgono molti peer a collaborare anche le applicazioni di voto online. Può essere utilizzato anche per sviluppare sistemi informativi per medici, aumentandone l’interoperabilità e la sicurezza.

Diverse blockchain sono stati sviluppati anche per l’archiviazione di dati, pubblicazione di testi e identificazione delle origini dell’arte digitale. Banche come la Ubs hanno aperto centri di ricerca dedicati alle blockchain per esplorare la varie implicazioni che questa nuova tecnologia può avere nell’ambito dei servizi finanziari e per incrementarne l’efficienza e ridurne i costi. Un’ulteriore applicazione è stata suggerita per garantire la condivisione dello spettro per le reti wireless.

I proof of concept come quella del catasto svedese mirano a dimostrare l’efficienza del blockchain anche nell’ambito territoriale delle vendite dei terreni. La repubblica di Georgia sta sperimentando un registro proprietario basato su blockchain. The Ethical and Fair Creators Association usa blockchain per aiutare le startup a proteggere l’autenticità delle loro idee. Ognuno dei Big Four sta testando blockchain in diversi modi. Ernst & Young ha fornito dei portafogli di criptovaluta a tutti i dipendenti svizzeri e ha installato un Bitcoin Atm nei suoi uffici in Svizzera e accetta pagamenti in bitcoin per ogni servizio di consulta erogato.

L’amministratore delegato di Ernst & Young ha dichiarato che non vogliono trattare solamente di digitalizzazione ma stanno attivamente guidando questo processo assieme agli impiegati e ai clienti. Sostiene l’importanza di essere preparati alla rivoluzione che blockchain porterà al mondo degli affari. Le altre tre società quali: Deloitte, PricewaterhouseCoopers e Kpmg hanno preso una strada diversa da Ernst & Young in quanto stanno tutte testando un blockchain privato.

In tutto questo contesto non c’è da stupirsi che esistano gli smart contract basati sulle blockchain: ossia contratti che possono essere stipulati e imposti senza la necessita di un’interazione umana. Il Fondo Monetario Internazionale crede che le blockchain potrebbero ridurre il rischio morale e potrebbero anche ottimizzare l’uso dei contratti in generale ma, momentaneamente, a causa della mancanza d’uso, il loro status non è ancora chiaro. Alcune implementazioni delle blockchain potrebbero consentire la codifica di contratti che verranno eseguiti quando sono soddisfatte determinate condizioni.

Un blockchain smart contract sarebbe attivato da istruzioni di programmazione estensibili che definiscono ed eseguono un accordo. Per esempio, Ethereum è un progetto open source per la creazione di smart contract tramite un linguaggio di programmazione Turing completo. Un altro esempio di utilizzo dei contratti intelligenti è nell’ambito musicale. Nel 2017, il DJ Deadly Buda rilascia il primo Rock the Blockchain che paga le tracce e gli artisti in esso contenuti tramite criptovaluta Musicoin. Ogni volta che il dj mix viene suonato, il contratto intelligente che è associato paga gli artisti istantaneamente.

PROMEMORIA > Hai trovato interessante questo racconto? Sfoglia le altre storie

E poi ci sono le cosiddette blockchain alternative. Conosciute anche come altchain, sono basate sulla tecnologia bitcoin. Gli obiettivi principali delle blockchain alternative riguardano le prestazioni, l’anonimato, l’archiviazione dati e applicazioni come gli smart contract. Partendo dalla focalizzazione sulle applicazioni finanziarie, la tecnologia di blockchain si sta espandendo anche ad altre attività come le applicazioni distribuite. In questo contesto, alcuni importanti progetti che comprendono la tecnologia blockchain che non riguardano la criptovaluta sono:

LaZooz – sistema decentralizzato di real-time ridesharing.

Swarm and Koinify – finanziamento collettivo decentralizzato.

Synereo – comunicazioni sincrone e asincrone.

Gem – blockchain per l’assistenza sanitaria e catene d’approvvigionamento.

Steemit – combina un sito di blogging/social network e criptovaluta.

Decent Network – piattaforma di distribuzione digitale.

Hyperledger – sforzo collettivo inter-industriale della Linux Foundation per supportare i libri mastri distribuiti basati su blockchain.

Counterparty – piattaforma finanziaria open source per la creazioni di applicazioni peer-to-peer basate sul bitcoin.

Bitcache – piattaforma per la vendita di file con pagamento basato su bitcoin.

Bitnation – la prima nazione operativa volontaria decentralizzata del mondo, una giurisdizione basata su blockchain.

Sistema Quorum di JPMorgan Chase – blockchain privata per l’archiviazione di contratti intelligenti.

Ethereum – progetto open source per la creazione di smart contract tramite un linguaggio di programmazione Turing completo.

Æternity- piattaforma pubblica di calcolo distribuito open source basata su blockchain che si basa su piattaforme esistenti come Bitcoin ed Ethereum.

AuxLedger creato da Auxesis Group – infrastruttura blockchain di livello enterprise che alimenta diverse applicazioni di diversi governi statali.

Zero Knowledge Blockchain – piattaforma di qued-it che combina i vantaggi del coordinamento di tutte le parti coinvolte (tecnologia blockchain) e la necessità di non divulgazione dei dati per motivi legali o commerciali.

FairCoin – prima moneta eco-sociale decentralizzata, utilizzata da FairCoop, che impiega solamente tre minuti per una transazione e offre servizi finanziari completi.

Infine, la tecnologia blockchain, come detto anche all’inizio, può essere usata anche per libri mastri permanenti, pubblici, trasparenti per la compilazione automatica di dati sulle vendite, memorizzare dati sui diritti mediante l’autenticazione della registrazione del copyright, tracciare gli usi digitali e pagare i creatori dei contenuti, come ad esempio i musicisti. A questo proposito, nel 2017, Ibm in collaborazione con Ascap e Prs for Music adotta la tecnologia blockchain nell’ambito della distribuzione musicale. Il Gruppo Cls usa blockchain per aumentare il numero i transazioni in valuta che può saldare. Visa, Mastercard, Unionpay e Swift hanno annunciato lo sviluppo di un piano per usare blockchain.

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Tu cosa ne pensi?