giovedì 28 dicembre 2017

Cos'è la “blockchain”?





di Peter Van Valkenburgh


"Blockchain" è diventata una parola chiave nel settore tecnologico e finanziario. Viene spesso citata come una panacea per tutti i problemi aziendali e di governance. La popolarità della "blockchain" potrebbe essere un segnale incoraggiante per l'innovazione, ma ha anche comportato il fatto che la parola arrivasse a significare troppe cose per troppe persone e, alla fine, quasi nulla.

La parola "blockchain" è come la parola "veicolo", in quanto entrambi descrivono vari tipi di tecnologia. Ma a differenza della parola "blockchain", nessuno vi chiederà mai: "Ehi, come va il veicolo?" o esclamerà eccitato: "Ci sono! Possiamo risolvere questo problema col veicolo." E mentre voi ed io potremmo parlare di "tecnologia dei veicoli", anche quella sarebbe una conversazione astratta. Probabilmente dovremmo parlare di auto, treni, barche, o navi missilistiche, a seconda del veicolo a cui ci stiamo riferendo. E la "blockchain" è la stessa cosa. Non esiste "La Blockchain" più di quanto non esista "Il Veicolo", e la categoria "blockchain" è ampissima.




Di certo sappiamo una cosa sulla tecnologia blockchain, ovvero, bitcoin. Lo sappiamo per certo perché la parola è stata originariamente inventata per descrivere il registro distribuito delle transazioni che vengono create dalla rete bitcoin. Ma dall'invenzione di bitcoin nel 2008, ci sono stati diversi individui, aziende, consorzi e organizzazioni no profit che hanno creato nuove reti o strumenti software che prendono in prestito qualcosa da bitcoin — alcuni prendono in prestito direttamente il codice dal client di riferimento di bitcoin, o magari costruiscono su tecnologie o idee teoriche nate dopo e grazie a bitcoin. Probabilmente avete sentito parlare di alcune di queste tecnologie e aziende, o ne avete visto i loghi.




Oltre ad essere in qualche modo ispirate da bitcoin, cos'hanno in comune tutte queste tecnologie? C'è qualcosa che possiamo dire che sia sempre vera per la tecnologia blockchain? Sì.



Tutte le blockchain hanno...

Tutte le tecnologie blockchain dovrebbero avere tre parti costitutive: reti peer-to-peer, meccanismi di consenso e (sì) blockchain, ovvero, strutture dati collegate da hash. Ci si potrebbe chiedere perché le chiamiamo tecnologie blockchain, se la blockchain è solo una delle tre parti essenziali. Probabilmente si tratta solo di un buon marchio. Sfortunatamente sin dai tempi di Napster e BitTorrent, il pubblico in generale ha associato le reti peer-to-peer alla pirateria e alle violazioni del copyright. "Il meccanismo del consenso" suona molto accademico e un po' troppo difficile da spiegare. Ma "blockchain", beh, sembra interessante e nuovo.

Ma comprendere ognuna di queste tre parti costitutive, rende la tecnologia blockchain più facile da capire. E questo perché possiamo scrivere una semplice spiegazione, in una frase, su come le tre parti ottengano un risultato utile:

I computer connessi raggiungono un accordo sui dati condivisi.

Questo è quello che dovrebbe fare la tecnologia blockchain; dovrebbe permettere ai computer connessi di raggiungere un accordo sui dati condivisi. E ogni parte di questa frase corrisponde alle nostre tre tecnologie costitutive.

Computer collegati. I computer sono collegati in una rete peer-to-peer. Se il vostro computer fa parte di una rete blockchain, sta parlando direttamente ad altri computer su quella rete, non attraverso un server centrale di proprietà di una società o di un'altra terza parte.

Raggiungere un accordo. L'accordo tra tutti i computer connessi è facilitato utilizzando un meccanismo di consenso. Ciò significa che sono presenti regole scritte nel software dei computer connessi e tali regole garantiscono che tutti i computer della rete rimangano sincronizzati e concordino tra loro.

Dati condivisi. E la cosa su cui tutti sono d'accordo, sono questi dati condivisi chiamati blockchain. "Blockchain" significa semplicemente che i dati sono in un formato specifico (proprio come si possono immaginare i dati sotto forma di un documento word o di un file immagine). Il formato blockchain rende solamente più semplice leggere i dati, affinché le macchine possano verificare la coerenza di un crescente registro di dati. I dati successivi devono sempre fare riferimento a quelli precedenti, creando una catena di dati collegata. Qualsiasi tentativo di modificare una voce precedente richiederà la modifica di ogni voce successiva; altrimenti le firme digitali incorporate nei dati riveleranno una discrepanza. Alcune persone potrebbero dirvi che questo rende la blockchain "immutabile", ma ciò non è molto accurato. La struttura dei dati sulla blockchain renderà evidenti le alterazioni, ma esse rimarranno se le persone che gestiscono i computer connessi scelgono di accettare o ignorare le modifiche.





Bitcoin come esempio illustrativo

Spiegare come funziona tutto questo in bitcoin è esemplificativo.

Quindi, quali sono i computer connessi nella tecnologia blockchain di bitcoin? Sono tutti i dispositivi su Internet che eseguono software compatibile con bitcoin. Tale software potrebbe essere un'app wallet o potrebbe essere un software per "minare" bitcoin. Se, ad esempio, si esegue un wallet software bitcoin sul telefono, ogni volta che si inviano o si ricevono transazioni in bitcoin, il telefono parlerà direttamente a qualsiasi altro computer nelle vicinanze che esegue il software bitcoin; è peer-to-peer. Alcune persone si sentono a disagio nell'esecuzione di software importanti sui propri dispositivi personali ed è un timore ragionevole, perché se non si presta attenzione quando si esegue quel software, si potrebbero perdere accidentalmente i bitcoin. Quindi alcune persone potrebbero utilizzare un wallet creato e gestito da un'azienda. In questo caso, l'app wallet sullo smartphone parlerà con un server gestito dalla società, ed è quel server che si connette alla rete peer-to-peer per conto vostro.

E il meccanismo di consenso? Bene, come con qualsiasi meccanismo di consenso, è rappresentato da una serie di regole scritte nel codice del computer. Per essere compatibile con la rete bitcoin, qualsiasi software eseguito sul dispositivo connesso a Internet deve seguire queste regole. Se il vostro software viene modificato per cercare di infrangere le regole, i messaggi che invia su Internet saranno ignorati da tutti gli altri computer che eseguono un software bitcoin onesto e conforme alle regole.

Ci sono un sacco di regole nel meccanismo di consenso di bitcoin, ma possiamo evidenziarne due e trascriverle approssimativamente dal gergo informatico al linguaggio naturale:

  1. Nessuno può inviare bitcoin che non ha ricevuto per la prima volta da qualcun altro o da una transazione coinbase.
  2. Ogni 10 minuti verrà selezionato uno dei computer connessi per scegliere l'ordine delle transazioni valide per quel periodo; quel computer può scrivere da solo una transazione coinbase.

La prima regola è abbastanza auto-esplicativa. È una regola contro la contraffazione. L'unica eccezione è quando qualcuno invia a sé stesso nuovi bitcoin (conosciuti come transazione coinbase) in base alle regole della rete per la creazione di nuovo denaro. La seconda non è molto difficile da capire, neanche una volta che abbiamo un contesto.

Ricordatevi che i computer connessi parlano tra loro in modo diretto e tenete presente che questi computer potrebbero essere ovunque nel mondo, perché funzionano tutti su Internet.

Se alcuni computer sono presenti, ad esempio, in Cina e altri negli Stati Uniti, è probabile che non saranno sincronizzati, poiché i messaggi sulle transazioni verranno originati in diverse parti del mondo e si propagheranno su Internet a velocità diverse. Un computer collegato in Cina potrebbe pensare che le transazioni più recenti siano avvenute in questo ordine: A, B, C. Mentre un computer negli Stati Uniti potrebbe averle viste entrare nell'ordine inverso C, B, A. Come ci assicuriamo che tutti i computer siano d'accordo sull'ordine? Bene, come dice la regola 2, ogni 10 minuti verrà scelto un computer per indicare l'ordine autorevole delle transazioni per quel periodo di tempo, e poi ne verrà scelto un altro, e così via. Nell'informatica, questo accordo è chiamato un'elezione ripetuta di un leader, ma a differenza di una normale elezione politica, il leader periodico viene semplicemente scelto a caso.

Si noti inoltre che la nostra regola 2 specifica che il leader può solo conferire la validità alle transazioni. Se il leader scelto cercasse di includere una transazione in cui cercherebbe di darsi milioni di bitcoin contraffatti, infrangerebbe la prima regola. I messaggi confusi verrebbero semplicemente ignorati dal resto dei computer, secondo le regole del meccanismo di consenso.

Tuttavia il leader prescelto può mandare a sé stesso una transazione coinbase che lo ricompenserà per il suo lavoro onesto nel mantenimento della rete. Questa transazione crea nuovi bitcoin come ricompensa, ma deve corrispondere ad un programma di creazione di denaro predefinito (non si può semplicemente scegliere la dimensione della ricompensa). Questo programma di creazione di denaro è solo un'altra regola all'interno del meccanismo di consenso di bitcoin.

Infine ci sono i dati condivisi di bitcoin, la sua blockchain. Questa è solo una lista di tutte le transazioni che si sono verificate da quando la rete è stata avviata nel 2009. Ecco un'illustrazione stilizzata:




Ovviamente la vera blockchain di bitcoin ha molte più transazioni, milioni dall'inizio della rete. Inoltre le transazioni non hanno nomi leggibili dall'uomo, come suggerisce l'illustrazione. Invece il mittente e il destinatario sono rappresentati da quello che viene chiamato un indirizzo pubblico. È una stringa pseudocasuale, ma unica di lettere e numeri, che viene generata localmente sullo smartphone o sul computer di un particolare utente bitcoin. È simile a questa, 1CPwNACt62wts2yGbz1vUuqeGD58SzzeAL, e il dispositivo dell'utente genererà anche una chiave segreta corrispondente (un'altra stringa pseudocasuale ma univoca di numeri e lettere) che deve essere utilizzata per firmare le transazioni (attraverso la spesa di fondi da tale indirizzo). Pensatela come una password. Tutto sommato la blockchain è piuttosto semplice se intesa in questo senso: è solo un elenco di transazioni sotto forma di indirizzi, presentati in modo tale che per i computer sia facile verificarne i dati.



Come le diverse tecnologie blockchain possono differire

Che dire delle altre tecnologie blockchain diverse da bitcoin? Bene, tutte seguono lo stesso schema di progettazione. Avranno una rete peer-to-peer, un meccanismo di consenso e una blockchain, i quali abiliteranno i computer connessi a raggiungere un accordo sui dati condivisi.

Ci sono due cose che possono differire da bitcoin: i dati condivisi possono essere diversi e il meccanismo di consenso può essere progettato con diverse scelte progettuali.

Ecco come possono differire i dati. Invece di essere una lista di transazioni bitcoin, i dati condivisi potrebbero essere voti in un'elezione, o credenziali di identità (come una patente di guida tokenizzata, o la prova di un punteggio di credito). Oppure i dati potrebbero essere lo stato corrente di un calcolo in esecuzione. In altre parole, i dati potrebbero essere correlati ad un computer globale su cui chiunque sarebbe autorizzato a scrivere e leggere i dati; questo è un modo per descrivere ethereum, un'altra rete blockchain ispirata a bitcoin.

Il meccanismo di consenso potrebbe anche essere diverso da quello di bitcoin. Queste differenze non sono necessariamente buone o cattive; ricordate che la "blockchain" è come un "veicolo". A volte potreste aver bisogno di una barca, altre volte di un missile. Non tutti i veicoli sono adatti a tutti i casi d'uso.

Ci sono tre grandi scelte progettuali che potrebbero rendere il meccanismo di consenso diverso da quello di bitcoin. Questi compromessi e scelte meriterebbero una discussione molto più lunga, ma ecco una panoramica di base:

  1. Aperto o Chiuso? Il meccanismo del consenso consente a chiunque di aderire e partecipare, o la partecipazione è limitata alle parti identificate sulla rete che sono state precedentemente dotate di credenziali di accesso da una società, un consorzio o altra terza parte che sta creando o implementando la tecnologia blockchain? In altre parole, è una rete aperta (come Internet) o una rete chiusa o autorizzata (come un intranet aziendale)?
  2. Privato o trasparente? Il meccanismo del consenso privilegia la privacy dei dati al di sopra della trasparenza e dell'audit dei dati? O viceversa? Ricordatevi che tutti i computer devono raggiungere un accordo sui dati condivisi. Se i dati fossero privati per una manciata di individui, solo quegli individui sulla rete sarebbero in grado di verificare e concordare sui dati. Potrebbe esserci un modo per aggirare questo compromesso nella progettazione del consenso grazie ad alcune nuove ricerche sulle "prove a zero conoscenza" e al lancio di una nuova rete pubblica di protezione della privacy chiamata Zcash.
  3. Al margine o al centro? Il meccanismo del consenso mette la sicurezza ai margini della rete o al centro? Le reti di blockchain aperte come bitcoin hanno meccanismi di consenso che spingono la responsabilità della sicurezza verso il margine, verso i singoli computer posseduti e controllati dagli utenti. Quindi se ricevete bitcoin sullo smartphone utilizzando un wallet software, ad esempio, il vostro dispositivo è l'unico dispositivo su tutta la rete che potrà spendere quei bitcoin. Senza la chiave segreta generata sul telefono, i bitcoin non potranno mai muoversi. Ciò è in netto contrasto con i sistemi di pagamento elettronici pre-bitcoin, in cui un intermediario, come una società di carte di credito, può intervenire e invertire una transazione o spostare fondi dal proprio conto senza che sia necessario intraprendere alcuna azione con la propria carta o app bancaria.
    Avere la sicurezza al margine può essere uno svantaggio per qualcuno che perde il telefono e non riesce a fare il backup delle proprie credenziali, ma è anche un vantaggio a livello di sistema perché non c'è più una parte centrale che potrebbe essere hackerata, o potrebbe essere disonesta, e mettere così il denaro o i dati di tutti a rischio.
    Le tecnologie blockchain con autorizzazione mantengono un po' di energia al centro della rete perché, come minimo, ci sarà una parte a cui si farà affidamento per identificare i computer membri autorizzati e che fornirà loro una credenziale di accesso.

Queste sono le principali differenze tra le tecnologie blockchain. C'è ancora molto spazio per l'elaborazione, i dettagli e le possibilità future, ma fortunatamente adesso avete una migliore comprensione dell'architettura di questi nuovi strumenti. Ricordatevi solo che la tecnologia blockchain significa questo: computer connessi che raggiungono un accordo sui dati condivisi.


[*] traduzione di Francesco Simoncelli: http://francescosimoncelli.blogspot.it/


4 commenti:

  1. Grazie.
    Ma all'utente finale interessa solo che funzioni bene e sia facilissima da usare.
    Non interessa altro. Tutte le innovazioni hanno un periodo iniziale di assestamento ed incertezza. Il periodo nel quale gli appassionati si interessano agli aspetti tecnici della materia ed usano con irritante spocchia un neolinguaggio oscuro da chierici iniziati. Poi, se la cosa funziona davvero, si passa alla diffusione ed all'adozione su larga scala ed i tecnicismi cominciano a pesare solo dal lato del marketing. Diventa solo una questione di prestazioni. Ma è essenziale che l'innovazione tecnologica sia fruibile con facilità.
    Oggi blockchain è solo il secondo termine più noto dopo Bitcoin a tutti quelli che sono magneticamente attratti dai soldi facili in un lungo periodo incerto di vacche molto magre. Di come funzioni davvero, di quali idee rivoluzionarie sia figlia, di quali prospettive possa aprire, all'utente finale interessa assai poco. Il senso pratico dell'uomo della strada si muove lungo la linea dei propri incentivi: mi conviene o no, a me, che vivo qui adesso?
    Un Italiano medio molto vagamente informato si chiede: se ci metto quattro risparmi per vedere che accade e poi arriva il solito fisco rapace, mi conviene?

    RispondiElimina
  2. a me, forse non medio, interessa e molto capire le prospettive che puo aprire. in particolare è dirimente conoscere se puo prestarsi a distorsioni comportanti un controllo totalitario invece che ad un ampliamento della liberta. in altri termini, se puo essere usata come strumento di centralizzazione invece che "de". se puo diventare un panopticon informatico sostitutivo del codice fiscale e del denaro imposto per legge.

    RispondiElimina
    Risposte
    1. Nel caso liberticida (probabile al 50%), ci toccherà diventare combattivi hacker in attesa di Neo.
      Oppure, extrema ratio, attrezzarci per un emp che ci riporti al far west libertario per il quale ci attrezzeremo alla vecchia maniera.

      Elimina
    2. In risposta a gdb
      http://ilpunto-borsainvestimenti.blogspot.it/2017/12/lera-primitiva-dei-debiti-in-valuta.html

      R.G.

      Elimina