Aspetti chiave della tecnologia
Le principali caratteristiche prestazionali che definiscono la tecnologia
blockchain sono le seguenti. In primo luogo, come accennato in precedenza,
rappresenta un sistema decentralizzato in cui le transazioni costruite su una
piattaforma blockchain sono archiviate in un libro mastro che viene distribuito e
condiviso tra i partecipanti. La validazione di ogni operazione è condotta
direttamente dalla comunità, la quale, attraverso lo sviluppo di un sistema di
autocontrollo, viene a conoscenza di ogni transazione e di ogni tentativo
di corruzione o di ogni altra azione volta ad influenzare l’integrità della
rete. I partecipanti monitorano e controllano il flusso delle transazioni
commerciali, eliminando la necessità di salvaguardie e sanzioni legali o
governative. Il controllo della piattaforma blockchain non è di proprietà di
nessuna singola organizzazione o entità individuale, il libro mastro è
condiviso, replicato e aggiornato quasi in tempo reale, in modo che la
comunità stessa gestisca lo sviluppo della rete. Di conseguenza, la tecnologia
blockchain crea un sistema senza fiducia. Infatti, come spiegato sopra, la
community può, in ogni momento, controllare e controllare il flusso della
transazione commerciale. In questo modo, l’ambiente risultante è quello in cui
la fiducia non è necessaria, poiché è il sistema stesso che garantisce ai
partecipanti la certezza della validità delle transazioni. Questo sistema
trustless nasce da un algoritmo basato sul consenso che richiede che ogni
transazione basata sulla piattaforma sia convalidata dalla comunità di rete,
attraverso un consenso maggioritario. Tuttavia, è l’algoritmo che fornisce le
condizioni in cui una transazione può verificarsi e può essere considerata
valida, e tali condizioni sono diverse da piattaforma a piattaforma.
22
Inoltre, queste piattaforme sono caratterizzate da una notevole flessibilità,
significa che possono supportare diversi tipi di processi aziendali e un’ampia
gamma di attività, secondo il protocollo di ciascuna piattaforma. Ulteriore
caratteristica, che copre qualsiasi scambio di asset costruito su la rete blockchain,
è il trasparenza e verificabilità del sistema. Più specificamente, l’intera comunità
ha accesso alle stesse informazioni quasi in tempo reale, poiché ogni transazione
è contrassegnata dall’ora. Tutti i blocchi, contenenti le transazioni già validate,
sono interconnessi attraverso un timestamp, che consente ai partecipanti di
conoscere con certezza l’ora e il luogo esatti relativi allo scambio e di identificare
in modo univoco e indelebile ogni blocco, rendendolo giuridicamente vincolante.
Inoltre, una volta che c’è una nuova registrazione sul libro mastro, tutti i
partecipanti possono non solo validare la transazione, ma anche monitorare la
provenienza di ogni asset, come è cambiata la loro proprietà nel tempo e le
identità dei soggetti operanti, identificate attraverso l’uso di chiavi crittografiche
pubbliche. Tali informazioni sono fornite da un’unica fonte di verità: il registro
blockchain condiviso. In quest’ottica, blockchain garantisce,
contemporaneamente, la tracciabilità di ogni transazione e la sua autenticazione,
poiché è costantemente disponibile una prova certa delle identità e la verifica dei
soggetti operanti. Tuttavia, va detto che l’operazione trasparente non è sinonimo
di operazione pubblica. In effetti, le blockchain sono costruite per garantire che
ogni attività rimanga sicura e privata. In primo luogo, una transazione sicura
significa che è protetta da manomissioni, frodi e criminalità informatica. Questo
è possibile attraverso permessi e crittografia, viene interdetto qualsiasi accesso
non autorizzato tramite un rigoroso processo di identificazione dei partecipanti,
che garantisce che tutti siano chi afferma di essere. In secondo luogo, tutte le
piattaforme blockchain migliorano la privacy dei propri utenti attraverso ID e
permessi. Infatti, mentre tutti i partecipanti sono identificati da una chiave
pubblica, tutte le attività portate avanti sulla piattaforma possono comunque
23
essere mascherate tramite tecniche crittografiche e/o sistemi di data splitting per
ottenere una visibilità selezionata sulla rete. Questo sistema, caratterizzato da una
modalità straordinaria di registrazione delle transazioni in modo sicuro,
trasparente e basato sul consenso, consente di tenere traccia di ogni attività in
modo unico, indelebile e immutabile. Ciò comporta che nessuno nell’intera
comunità può modificare o modificare una transazione una volta eseguita,
convalidata e registrata nel libro mastro. Tale meccanismo implica che, anche in
caso di errore, per annullarla, una nuova transazione sarebbe necessario in modo
da avere entrambe le transazioni visibili. Ogni blocco, contenente diverse
transazioni già validate, viene identificato, inequivocabilmente, attraverso
l’inclusione di un hash. Per questo motivo, ciascuna parte può conservare
registrazioni immutabili di ogni attività svolta sulla piattaforma.
In conclusione, tutti i vantaggi sopra citati portano inevitabilmente ad un
massimo livello di efficienza nelle transazioni e negli scambi di asset elaborati
sulla piattaforma. L’efficienza si traduce in un maggiore risparmio di tempo e
denaro. Rispettivamente, da un lato, qualsiasi attività sulla rete viene regolata ed
elaborata in pochi minuti, una velocità eccezionale più in linea con i ritmi di fare
impresa. Le riduzioni dei costi sono invece assicurate dal sistema di validazione
delle transazioni a carico dei partecipanti alla blockchain, senza la necessità di
ricorrere a una terza autorità centrale. I partecipanti sono quindi in grado di
ridurre costi e spese attraverso l’eliminazione degli intermediari senza la
necessità di duplicare i dati grazie all’unico libro mastro condiviso. Una volta
valutate le principali caratteristiche prestazionali che definiscono le tecnologie
blockchain, sembra necessario analizzare a fondo le due caratteristiche che
rendono davvero la tecnologia blockchain uno sviluppo unico nel suo genere.
Rispettivamente, l’uso della crittografia e l’uso del consenso.
24
Crittografia
Per quanto riguarda l’uso della crittografia, le tecnologie blockchain
implementano un’infrastruttura a chiave pubblica per garantire la sicurezza, la
privacy, l’autenticità e la tracciabilità delle transazioni. In quest’ottica, tutti i
partecipanti sono titolari di chiavi di crittografia pubbliche e private che sono
l’unico mezzo utilizzabile per svolgere qualsiasi attività sulla blockchain.
Attraverso il loro utilizzo si garantisce sia che tutti i partecipanti abbiano la
certezza che un determinata informazione provenga da chi afferma di provenire
per via della necessità di autenticare sempre il contenuto di tale informazione.
A questo proposito è utile chiarire come funziona in pratica una generica
infrastruttura a chiave pubblica. Generalmente c’è un sistema software che
elabora un indirizzo, una stringa alfanumerica univocamente assegnata ad un
utente, tale indirizzo costituisce la chiave pubblica dell’utente.
Contemporaneamente il software stesso genera una chiave privata crittografata
collegata a quella pubblica. Pertanto, sia le chiavi pubbliche che quelle private
sono un’istanza di codice creato insieme durante il processo di crittografia della
chiave asimmetrica. Tuttavia, la differenza è la seguente: mentre l’indirizzo sarà
reso disponibile sul sistema pubblicamente, tramite il web e sarà visibile a
chiunque, al contrario, la chiave privata è generata esclusivamente per quello
specifico indirizzo e dovrà essere conservata in modo sicuro dal proprietario e
non condivisa.
Una volta che un partecipante intende effettuare una operazione sulla
blockchain di riferimento, il primo passo è, attraverso l’uso della sua chiave
pubblica. Ipotizziamo che questa operazione sia l’invio un messaggio ad un altro
partecipante tramite il web. L’autenticità di tale messaggio, che pretende di
provenire da quello specifico indirizzo (ovvero chiave pubblica), è assicurata da
due diverse garanzie. In primo luogo, il messaggio può essere firmato solo dalla
25
persona in possesso della chiave privata, ciò al fine di garantire la paternità di
ogni attività costruita sulla blockchain. Ciò significa che qualsiasi operazione
avviata da una specifica chiave pubblica deve essere confermata dalla “firma”
della corrispondente chiave privata. In secondo luogo, una blockchain prevede un
doppio controllo sulle transazioni attraverso un processo di validazione effettuato
dai nodi dei partecipanti alla stessa.
A seconda del tipo di blockchain utilizzato (permissionless, permissioned
o hybrid), i partecipanti con il permesso di visualizzare e accedere alla chiave
pubblica, possono controllare che una data transazione sia stata avviata dallo
stesso partecipante in possesso della chiave privata e quindi, autenticare il
messaggio. Al termine di questo processo di autenticazione, se l’autenticazione è
stata fatta da un numero di nodi maggiore di quello minimo richiesto dal
protocollo di consenso, la struttura software determina la validità del messaggio e
lo scrive, in modo immutabile, in un blocco aggiunto che viene blockchain.
In base a quanto sopra, risulta evidente l’importanza dell’uso della
crittografia in quanto, garantendo la privacy e la sicurezza del partecipante,
rappresenta l’elemento chiave che contraddistingue le prestazioni di ogni
operazione costruita su tecnologia blockchain rispetto a quelle ordinarie.
Meccanismo di consenso
I meccanismi di consenso (detti anche come protocolli di consenso o
algoritmi di consenso) consentono ai sistemi distribuiti (reti di computer) di
interagire e rimanere sicuri. Da decenni questi meccanismi vengono utilizzati per
stabilire il consenso tra nodi di database, server applicativi e altre infrastrutture
aziendali. Negli ultimi anni sono stati inventati nuovi protocolli di consenso per
permettere a sistemi criptoeconomici, come Ethereum, di concordare sullo stato
della rete.
26
Un meccanismo di consenso in un sistema criptoeconomico aiuta anche a
prevenire determinati tipi di attacchi economici. In teoria, un aggressore può
compromettere il consenso controllando il 51% della rete. I meccanismi di
consenso sono concepiti per rendere questo "attacco del 51%" irrealizzabile .
15
Diversi meccanismi sono progettati per risolvere questo problema di sicurezza in
modo diverso.
L’uso di meccanismi di consenso può essere definito come il cuore del
sistema blockchain. Infatti, lo stretto controllo del consenso all’interno della
piattaforma è proprio ciò che permette di decentralizzare quest’ultima. Di
conseguenza, consente la rimozione di una terza parte di fiducia, mentre richiede
alla comunità l’esecuzione del processo di verifica e validazione delle operazioni
costruite sulla blockchain. Generalmente la presenza di oltre il 51% dei nodi che
autenticano il messaggio è l’unità di misura per consentire la validazione di una
determinata transazione e l’inserimento, sicuramente, come blocco nella
blockchain.
Per quanto riguarda l’uso della crittografia, anche a questo proposito, è
necessario analizzare come funziona nella pratica il meccanismo del consenso.
Ogni software blockchain è strutturato e formattato secondo un protocollo di
consenso, che assume la forma di un algoritmo. Questo algoritmo racchiude le
regole e le condizioni stabilite da ciascuna piattaforma riguardo a come ogni
partecipante sulla blockchain dovrebbe elaborare i messaggi, se ci sono
restrizioni sul processo di autenticazione e come quei partecipanti dovrebbero
riconoscere l’elaborazione eseguita dagli altri.
Inoltre, ogni protocollo mira a raggiungere il consenso tra tutte le reti sul
fatto che una blockchain debba contenere o meno un nuovo blocco (cioè se i
record di nuove transazioni debbano essere aggiunti o meno al libro mastro).
PAUL WAKEROW, Meccanismi di Consenso, (ethereum.org) “ultimo accesso: 05/02/2022”.
15
27
Pertanto, non c’è dubbio che ogni protocollo di consenso fornisce il miglior
meccanismo per realizzare gli obiettivi fissati da ogni blockchain. Tuttavia, è
necessario sottolineare che cambia in base al modello blockchain scelto
dall’utente. Indipendentemente dal fatto che il software blockchain sia senza
autorizzazione, quindi, il protocollo di consenso, di solito, consentirà a tutti i
partecipanti di essere coinvolti nel processo di verifica e autenticazione di un
determinato messaggio (una transazione di qualche tipo). Pertanto, in questo
caso, il processo di raggiungimento del consenso è esteso a tutte le comunità
senza alcun vincolo. Al contrario, nel caso di una blockchain autorizzata, il
protocollo di consenso può prevedere che solo una determinata persona o entità,
in qualità di amministratore della blockchain, possa essere abilitata fornire
l’autenticazione e l’integrità dei messaggi per conto di tutti i partecipanti.
Tipi di meccanismi di consenso
Attualmente esistono diversi protocolli di consenso basati su diversi
algoritmi di consenso a seconda della scelta esercitata da ciascuna blockchain. I
più utilizzati e conosciuti sono il Proof-of-Work (POW) e il Proof-of-System
(POS).
Proof-of-work
Il Proof-of-Work si esibisce attraverso l’uso della crittografia e delle
risorse computazionali per stabilire il consenso e garantire l’autenticità dei record
aggiunti nel blocco della blockchain. Tali risorse computazionali sono utilizzate
dai nodi della piattaforma (es. miner) che svolgono il processo di validazione
delle transazioni (es. processo di mining). In concreto, mining significa trovare la
soluzione di alcuni problemi matematici. Pertanto, il nodo che per primo
raggiunge la soluzione sarà quello autorizzato a validare la transazione. Questo
28
meccanismo incentiva i minatori con una ricompensa di una taglia definita dal
protocollo e tutte le commissioni di transazione associate a quella autenticata
incluse nel blocco, al fine di compensare lo sforzo fatto per trovare la soluzione.
In considerazione di quanto sopra, ogni miner sarà stimolato e in competizione
con gli altri a risolvere i problemi crittografici imposti dal protocollo nella
prospettiva di un ritorno economico. Il sistema è quindi dotato di una struttura
che garantisce il miglior risultato possibile nella validazione di ogni transazione.
Inoltre, di conseguenza, gli altri partecipanti avranno la certezza della correttezza
di qualsiasi soluzione, data la rilevante quantità di risorse computazionali
consumate per raggiungerla.
In questo contesto, Nakamoto, per rendere più difficile e quasi
impossibile la modifica o l’eliminazione dei dati caricati sulla blockchain, ha
sviluppato le prestazioni del proof-of-work implementato con il sistema hash. Un
hash è un codice alfanumerico singolo che rappresenta e incorpora un gruppo di
dati digitali. Il suo potere è la sua unicità, infatti i dati di origine non possono
essere decodificati e recuperati da esso. In particolare, una volta che un miner ha
risolto il problema matematico, ha validato la transazione ed ha creato un nuovo
blocco dove ha aggiunto i nuovi dati autenticati, allora assicura l’inclusione in
tale blocco dell’hash del blocco precedente, il timestamp, e le transazioni.
Successivamente, tale blocco viene aggiunto alla blockchain e, in questo modo, i
dati vengono condivisi in rete e tutti gli altri miner possono verificare e validare
il blocco. Tuttavia, il blocco non acquisisce effettivamente legittimazione fino a
quando non viene creato un nuovo blocco e la catena è, quindi, esteso da tale
blocco. Infatti, essendo la catena più lunga, maggiore è il valore del lavoro svolto
su di essa, più i miner continueranno a lavorare sulla sua estensione quindi la
catena più lunga sarà sempre considerata dai nodi come quella corretta .
In un sistema in cui il proof-of-work è legato all’algoritmo del consenso,
è concesso l’evitamento di transazioni false e l’alterazione dei blocchi già
29