CRIPTOVALUTE – DLT, blockchain e criptoeconomia

3 Marzo 2021 -

Per comprendere cosa sono le criptovalute è indispensabile esaminarne gli elementi fondanti ossia DLT, blockchain e criptoeconomia.

SOMMARIO

1. Architetture centralizzate, decentralizzate e distribuite

2. Blockchain, hashing ed immutabilità

3. Permissioned, permissionless o hybrid

4. Ledger pubblico o privato

5. Consenso

6. Criptoeconomia

CONCLUSIONE

1. Architetture centralizzate, decentralizzate e distribuite

Come si è detto in altro approfondimento, i record alfanumerici che costituiscono le transazioni in criptovalute confluiscono in registri informatici che, in ragione della loro distribuzione fisica e della loro architettura decentralizzata, ne garantiscono tracciabilità e tendenziale immodificabilità. Per tali caratteristiche, vengono definiti Distributed Legder.

Per comprendere appieno tali concetti e quelli, ben più complessi, che verranno esplicati in seguito, occorre procedere per gradi, iniziando dal significato di nodo.

Con questo termine ci si riferisce precisamente ad ogni dispositivo hardware in grado di comunicare con altri dispositivi che fanno parte della medesima sottorete o della Rete (vi rientrano dunque una molteplicità di strumenti informatici: computer, palmari, dispositivi mobili, web TV ecc.).

Da un punto di vista software, i nodi vengono anche definiti host (dall’inglese to host, ospitare) in quanto dotati di applicazioni che possono essere sia client (ad esempio browser web, reader di posta elettronica), sia server (ad esempio, web server).

Un’applicazione assume il ruolo di client quando è utilizzatrice di servizi messi a disposizione da altre applicazioni.

Un’applicazione assume invece il ruolo di server quando è fornitrice di servizi usati da altre applicazioni.

Infine, si definisce actor, quando può fungere sia da client sia da server, a seconda dell’operazione richiestagli (sistema c.d. peer to peer).

Il funzionamento logico dei nodi della rete, infatti, può essere del tipo client/server o peer to peer.

In termini generali, nella prima architettura la periferica client (utente) può svolgere una serie di operazioni di elaborazione che le consentono una certa autonomia operativa ma, per il suo funzionamento complessivo ottimale, necessita di altre risorse messe a disposizione da un’unità centrale chiamata server.

Nell’architettura peer to peer, invece, gli elaboratori connessi fra loro e posti sul medesimo piano operativo, sono in posizione paritetica, sebbene svolgano, a seconda dell’operazione richiesta, il ruolo di client o server.

Questi termini, pertanto, possono assumere una connotazione sia hardware sia software.

Per quanto riguarda la definizione di sistema distribuito, è più facilmente comprensibile ponendo dei termini di paragone.

Ebbene, la prima strutturazione delle attività informatiche (risalente al tempo in cui i client erano rappresentati dai terminali, unità sostanzialmente prive di autonomia e capacità elaborativa), è stata quella centralizzata.

Sommariamente, è possibile definire un sistema informatico centralizzato quello in cui i contenuti richiesti dai client risiedono in un unico nodo elaborativo (server).

Con l’evoluzione tecnologica si è giunti all’adozione di sistemi decentrati (es. rete BitTorrent, Gnutella, eDonkey ecc.) in cui i singoli nodi condividono risorse fra loro, demandando al nodo centrale il solo compito di fornire un indice di chi condivide cosa.

Infine, si definisce sistema informatico distribuito, di cui la blockchain Bitcoin rappresenta uno dei più recenti e significativi sviluppi, quello che presenta almeno una delle seguenti condizioni:

1.  le applicazioni, fra loro cooperanti, risiedono su più nodi elaborativi (elaborazione distribuita);

2.  il patrimonio informativo, unitario, è ospitato su più nodi elaborativi (base di dati distribuita).

In termini generali, quindi, un sistema distribuito è costituito da un insieme di applicazioni, logicamente indipendenti, che collaborano per il perseguimento di obiettivi comuni attraverso una infrastruttura di comunicazione hardware e software.

Esso garantisce una maggiore flessibilità nell’organizzazione delle attività, permettendo ai client di essere configurati in modo da svolgere attività tra loro differenziate.

I partecipanti alla rete, collettivamente, verificano, approvano e successivamente registrano le varie transazioni.

In altri termini, più chiaramente:

  • Distribuzione

Si riferisce alla condivisione del ledger, dunque al numero di device (cc.dd nodi) che ne detengono una copia e garantiscono la distribuzione del network.

Il numero dei nodi, anche se determinante per assicurare l’immodificabilità del dato e la sicurezza, non è l’unico elemento caratterizzante poiché entrano in gioco anche altre variabili come l’architettura del network e il meccanismo di consenso implementato ossia, semplificando, il sistema per consentire ai vari utenti (cc.dd. actor), che potrebbero anche non conoscersi, di collaborare fra loro (cfr. in seguito).

  • Decentralizzazione

Con questo termine ci si riferisce all’architettura del network e al grado di partecipazione decisionale, nella gestione quotidiana ed evolutiva, riconosciuto ai vari utenti/device (cc.dd. actor).

Una blockchain, sotto questo profilo, può essere più o meno decentralizzata.

In particolare, potremmo individuare tre macro architetture in considerazione del numero di ruoli esperibili dagli actor e del rapporto che li lega l’uno all’altro:

“orizzontale”

gli actor svolgono tutti il medesimo ruolo;

“competitiva”

gli actor svolgono generalmente due ruoli differenti:

– condividere il ledger;

– validare i records che vengono caricati sul ledger in cambio di una reward;

“consortile” e/o “federale”

gli actor svolgono differenti e molteplici ruoli, ragion per cui la parità si realizza esclusivamente fra quelli del medesimo tipo.

I piani operativi, dunque, variano a seconda delle tipologie di nodi (es. Hyperledger Fabric).

2. Blockchain, hashing ed immutabilità

Il termine blockchain si riferisce alla peculiare implementazione software di taluni Distributed Ledger, in virtù della quale tutte le operazioni eseguite in un determinato range temporale e di memoria, sono raggruppate in blocchi, legati fra loro da hash crittografici consequenziali.

In Bitcoin, ad esempio, la c.d. block size è definita da un paramento temporale di circa 10 minuti e da un parametro mnemonico di 1 MB, all’interno del quale possono essere raggruppate al massimo 2000 transazioni.

L’hashing è una funzione crittografica, più precisamente un processo in cui un algoritmo conosciuto come funzione hash riceve un input di dati (di qualsiasi dimensione) e restituisce un output determinato che contiene un valore di lunghezza fissa.

A prescindere dalle dimensioni dell’input, l’output presenta sempre la stessa lunghezza, di conseguenza, se l’input viene modificato, l’output risulterà completamente differente.

Tuttavia, se l’input non cambia, l’hash risultante sarà sempre la stessa – non importa quante volte viene eseguita la funzione hash.

All’interno delle blockchain, questi valori di output hash vengono usati come identificatori unici per i blocchi di dati.

Precisamente:

  • l’hash di ciascun blocco viene generato in relazione a quello del blocco precedente;
  • dato che l’hash del blocco dipende dai dati contenuti al suo interno, qualsiasi modifica ai dati richiederebbe per forza anche la modifica della hash del blocco;
  • poiché l’hash di ciascun blocco viene generata in base sia ai dati contenuti al suo interno che all’hash del blocco precedente, si determina una catena di blocchi consequenziali, che in considerazione altresì del c.d. consenso adottato, determina una difficoltà di alterazione del dato direttamente proporzionale alla distribuzione del network.

Per consenso, come si esplicherà in seguito, ci si riferisce ai protocolli e relativi algoritmi che regolano il funzionamento di un network blockchain, in particolare la validazione delle transazioni e l’aggiornamento del Distributed Ledger (di cui si dirà in seguito).

Nella blockchain di Bitcoin, per esempio, l’algoritmo Proof of Work (PoW) utilizzato per raggiungere il consenso e per il mining di nuove unità sfrutta una funzione hash denominata SHA-256, giacché trasforma i dati di input in un’hash lunga 256 bit o 64 caratteri.

3. Permissioned, permissionless e hybrid

Tali definizioni riguardano la presenza o meno di requisiti formali per l’accesso e la partecipazione al network. La distinzione è sfuggevole, poiché, come si dirà in seguito prendendo a riferimento Bitcoin, anche reti che astrattamente non presentano requisiti, in concreto li hanno.

Le reti permissioned risultano più facilmente implementabili dai vari contributor, non solo in ragione del fatto che la loro identità è accertata ma altresì del fatto che spesso tale strutturazione coincide con l’attribuzione di privilegi gestionali in capo ad una pletora di nodi (in altri termini, spesso, permissioned ed architettura consortile/federale coincidono).

Le reti permissionless, per converso, non presentano formalmente requisiti di accesso e partecipazione e risultano meno scalabili una volta strutturate poiché coincidono spesso con architetture “orizzontali”, in cui cioè il consenso è distribuito paritariamente fra tutti i contributor su un unico piano operativo.

In ragione delle loro caratteristiche (informatiche ed economiche), le reti permissionless hanno attualmente un numero di nodi ben maggior di quello delle reti permissioned.

Nel tentativo di garantire un giusto compromesso fra le due strutturazioni e consentire ad aziende che vogliano impiegare in modo agevole tali tecnologie per specifiche finalità, senza tuttavia attenuare la trasparenza nei confronti degli utenti, sono recentemente sorte reti ibride, ossia permissioned (secondo varie architetture) ma sottoposte alla “vigilanza” o più correttamente governance di blockchain totalmente permissionless (es. Ethereum).

Sotto questo profilo, particolarmente interessante potrebbe essere l’integrazione proprio della blockchain di Ethereum in Hyperledger, per mezzo del progetto Pantheon. 

4. Ledger pubblico o privato

Tali espressioni si riferiscono alla consultabilità del ledger.

Privata è ad esempio la blockchain in sperimentazione da parte dell’ABI, pubblica invece Bitcoin.

Sono quindi concetti che non coincidono necessariamente con i precedenti, potendosi avere ad esempio una blockchain permissioned ma liberamente consultabile in modalità pseudonima.

5. Consenso

Come accennato, è necessario distinguere il protocollo dall’algoritmo di consenso.

Con protocollo si identifica l’organizzazione di una blockchain, l’insieme di regole primarie.

L’algoritmo invece può essere definito come il meccanismo attraverso cui un network blockchain raggiunge il consenso o, più chiaramente, ciò che garantisce il rispetto delle regole definite nel protocollo, che tutte le transazioni avvengano correttamente e le medesime criptovalute non possano essere spese più di una volta (c.d. double spending).

Ad esempio, il protocollo Bitcoin definisce:

  • il modo in cui i nodi interagiscono;
  • come i dati devono essere trasmessi tra loro;
  • quali sono i requisiti per convalidare un blocco con successo.

L’algoritmo di consenso, invece, ha il compito di:

  • verificare i bilanci e le firme;
  • confermare le transazioni;
  • eseguire effettivamente la convalida dei blocchi – e tutto questo dipende dal consenso del network.

Come intuibile gli algoritmi di consenso sono di vitale importanza per mantenere l’integrità e la sicurezza del network di una criptovaluta.

Ve ne sono taluni cc.dd. byzantine fault tolerant (Proof of Work di Bitcoin, Proof of Stake di Ethereum, Delegated Proof of Stake di Eos) altri no (Proof of Authority di Hyperledger Fabric e Proof of Elapsed Time di Hyperledger SawTooth).

La distinzione è rilevante perché:

  • i primi sono in grado di risolvere eventuali conflitti generati in contesti in cui gli actor non sono identificati e non vi è sostanziale distinzione fra loro, dunque, “orizzontali” o “competitivi”.

Per questo prevedono di default l’uso di criptovalute per incentivare la partecipazione al network da parte di coloro che vogliano offrire un contributo più rilevante per validare le operazioni;

  • i secondi sono studiati per operare in contesti più verticali/consortili/federati come la P.A., la Supply Chain e nel c.d. InsurTech, in cui gli actor sono identificati e, in ragione delle caratteristiche di coloro che li gestiscono, gli sono attribuiti ruoli diversi.  Per tali ragioni, non prevedono ordinariamente l’uso di asset digitali.

6. Criptoeconomia

Le blockchain sono quindi protette da una varietà di meccanismi fondati su tecniche crittografiche avanzate e modelli matematici comportamentali e decisionali, la cui combinazione garantisce l’integrità dei dati e dei registri di transazioni dopo che ciascun nuovo blocco di dati viene confermato come valido.

Oltre alla crittografia, un concetto relativamente nuovo conosciuto come criptoeconomia ha un ruolo nel mantenere la sicurezza dei network blockchain.

Fa riferimento al campo di studi conosciuto come teoria dei giochi, il quale formula matematicamente processi decisionali di attori razionali in situazioni con regole e ricompense predefinite.

Mentre la teoria dei giochi tradizionale può essere applicata a un’ampia gamma di casi, la criptoeconomia modella e descrive nello specifico il comportamento di nodi all’interno di sistemi blockchain distribuiti.

In breve, la criptoeconomia è lo studio dell’aspetto economico proprio di protocolli blockchain e dei possibili risultati che la loro progettazione potrebbe presentare in base al comportamento dei partecipanti.

La sicurezza tramite la criptoeconomia si basa sulla nozione secondo cui i sistemi blockchain offrono incentivi migliori ai nodi che agiscono onestamente invece di adottare comportamenti malevoli o scorretti.

Di nuovo, l’algoritmo di consenso Proof of Work utilizzato nel mining di Bitcoin offre un ottimo esempio di questa schema di incentivi.

Quando Satoshi Nakamoto ha creato la struttura per il mining di Bitcoin, il processo è stato concepito intenzionalmente come costoso e dispendioso in termini di risorse.

A causa della sua complessità e delle sue esigenze computazionali, il mining PoW comporta un considerevole investimento di tempo e denaro – a prescindere da dove si trova il nodo di mining.

Di conseguenza, questa struttura pone un forte disincentivo alle azioni malevoli e incentivi notevoli per le attività di mining oneste.

I nodi disonesti o inefficienti vengono espulsi rapidamente dal network della blockchain, mentre i miner onesti ed efficienti hanno il potenziale di ricevere sostanziali ricompense per i blocchi.

Analogamente, questo equilibrio di rischi e ricompense garantisce anche la protezione da potenziali attacchi che mirano a compromettere il consenso accumulando la maggioranza dell’hash rate di un network blockchain nelle mani di un singolo gruppo o entità.

Tali attacchi, conosciuti come 51 percent attack, potrebbero essere estremamente dannosi se eseguiti con successo.

A causa della competitività del mining Proof of Work e della grandezza del network di Bitcoin, la probabilità che un soggetto malintenzionato riesca ad ottenere il controllo della maggioranza dei nodi è davvero minima.

Inoltre, il costo della potenza computazionale necessaria per ottenere il 51 percento del controllo di un enorme network blockchain sarebbe astronomico, ponendo un disincentivo immediato a un tale enorme investimento per una potenziale piccola ricompensa.

Questo fattore contribuisce alla caratteristica delle blockchain conosciuta come Byzantine Fault Tolerance (BFT), essenzialmente la capacità di un sistema distribuito di continuare ad operare normalmente anche se alcuni nodi vengono compromessi o agiscono in modo disonesto.

Finché il costo legato allo stabilire una maggioranza di nodi disonesti rimane proibitivo ed esistono incentivi migliori per l’attività onesta, il sistema sarà in grado di prosperare senza disturbi significativi.

Occorre sottolineare, tuttavia, che i network blockchain più piccoli sono indubbiamente suscettibili agli attacchi descritti sopra, dato che la totale hash rate dedicata a questi sistemi è notevolmente inferiore a quella di Bitcoin.

CONCLUSIONE

Nel prossimo approfondimento ci si addentrerà nei meccanismi di consenso delle blockchain, al fine di comprendere le molteplici soluzioni attualmente elaborate per risolvere il problema dei generali bizantini e l’importanza del primo modello di criptoeconomia di Satoshi Nakamoto.

Se necessiti di assistenza o vuoi far parte del network

Contattaci

Lascia un commento