Diritto delle Nuove Tecnologie: introduzione alla BLOCKCHAIN.

La blockchain è paragonabile ad un registro digitale, che per intervento di tecnologie informatiche e crittografiche è immodificabile e distribuito in copia a più soggetti, cd. nodi della rete.

La traduzione letterale di blockchain è catena di blocchi.

Ogni blocco individua un insieme di transazione ed è concatenato ad un altro bloccho in ordine cronologico quindi marcato temporalmente.

Per questo si sostiene che il registro della blockchain è certo ed immodificabile.

Storicamente tutto è nato dalla intuizione di Satoshi Nakamoto (pseudonimo di un autore la cui identità è tuttora sconosciuta) che ha pubblicato il paper “Bitcoin: A Peer-to-Peer Electronic Cash System”.

Certo, in precedenza esistevano già dei servizi di pagamenti virtuali, ad esempio DigiCash, che però era organizzato sempre con un ente centralizzato.

Inoltre, erano  già stati realizzati i cd. “smart contract”(che altro non sono che contratti capaci di eseguire automaticamente le transazioni in modo autonomo. Per questo sono definiti contratti intelligenti) e Hal Finney aveva già teorizzato la proof of work.

Nel 2008 con tutte queste innovazioni Nakamoto teorizza il funzionamento dei Bitcoin.

L’invenzione di Nakamoto è stata aggregare strategicamente tutte le tecnologie al tempo esistenti per ricavere un prodotto nuovo.

Solo in questo modo è stato possibile progettare un sistema in grado di risolvere il più grande dei problemi delle transazioni: il riutilizzo delle risorse.

Nello specifico Nakamoto teorizzò che con la cifratura a chiavi asimmetriche, con il network peer-to-peer e con la proof of work avrebbero potuto creare un protocollo di comunicazione immodificabile.

Per cifratura asimmetrica si intende quella tecnologia di protezione e paternità di una informazione per mezzo di una chiave pubblica e di una chiava privata.

Infine nel 2009 viene creato il primo blocco della catena della Blockchain bitcoin.

Le catene di blocchi aperte, secondo Nakamoto, non devono essere concentrate nelle mani di un unico soggetto ma devono essere distribuiti in “nodi” o distributori. In tal modo è stata eliminata la presenza di un soggetto intermediario centralizzato.

Infine si può definire la proof of workè la metodologia di controllo e validazione della rete sulla bontà ed effettività della transazione.

La struttura di ogni blocco è composta da due parti l’header e il body.

Nell’Header sono presenti sette campi necessari per la gestione del blocco:

  1. Versione: Individuali software utilizzato.
  2. PrevHash: indica la conoscenza del blocco precedente.
  3. Merkle root: l’hash contente tutti gli hash di tutte le transazioni nel blocco.
  4. Timestamp: individua lo schema per serializzare le modifiche
  5. Bits: indica il valore del target
  6. Nonce: è un valore aggiunto al blocco perché l’output della funzione di hash vari e raggiunga valori inferiore al target.
  7. Numero di transazione: identifica il numero della transazione.

Nel  body, invece, vengono racchiuse le transazioni completate.

La immodificabilità delle transazioni è garantita dalla generazione dell’hash, la quale non avviene automaticamente, ma alla fine di un procedimento di risoluzione di un algoritmo matematico.

Pertanto, tutti i nodi della rete gareggiano per risolvere l’algoritmo matematico, il primo che sarà stato in grado di raggiungere una soluzione, invierà una comunicazione agli altri nodi della rete, affinché verifichino la corretta soluzione dell’algoritmo (proof of work).

A seguito di tale validazione da parte degli altri nodi della rete, il blocco verrà aggiunto alla blochchain e quindi salvato per tutti i partecipanti al network.

Questo meccanismo di controllo ha una duplice finalità:

  1. Genera il consenso sulla risoluzione dell’algoritmo.
  2. Evita condotte fraudolente finalizzate ad alterare la catena di blocchi.

In pratica la procedura è la seguente: un “peer” dopo la verifica della intera catena, raccoglie nuove transazioni e suggerisce un nuovo target alla rete, la quale attraverso i vari nodi calcola l’uotput usando la funzione crittografica di hash fino a che il dato non risulti inferiore al valore del Bits. Visto che la funzione di Hash genera numeri casuali, la difficoltà consiste nel determinare il valore del Nonce.

Una volto risolto l’algoritmo  si genera un hash univoco ed è collegato al blocco precedente.

L’intero processo di validazione dei blocchi è chiamato “mining”.

Infine, può capitare che vengano validati più blocchi contemporaneamente, così da comportare una biforcazione della catena.

In questo caso i “miner”, coloro che lavorano per la validazione dei blocchi, avendo l’obiettivo di estendere la catena in lunghezza, si concentreranno solo su uno dei blocchi validati, mentre l’altro verrà abbandonato diventando un “blocco orfano”.

 

pexels-photo-2556699.jpeg
Photo by Launchpresso on Pexels.com

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...