CRIPTOVALUTE – Meccanismi di consenso blockchain

10 Novembre 2021 -

Per completare l’introduzione alle criptovalute e comprendere pienamente cos’è una blockchain, è necessario esaminare i principali meccanismi attraverso cui molteplici contributor possono raggiungere, con sicurezza, il consenso sul suo status.

SOMMARIO

1. Byzantine fault tolerance

2. Proof of Work

2.1 Possibili implementazioni

2.2 Mining, commissioni e reward

3. Proof of Stake

4. Varianti del Proof of Stake

5. Brevi cenni su criptoeconomia e smart contract

CONCLUSIONE

NOTE

1. Byzantine fault tolerance

Ideato nel 1982, il Problema dei Generali Bizantini è un dilemma logico relativo al raggiungimento del consenso, univoco ed irrevocabile, su un’azione da intraprendere fra attori che potrebbero incorrere in problemi di comunicazione.

Più chiaramente, ipotizzando:

  • l’esistenza di molteplici generali bizantini, con relativo esercito, attorno ad una roccaforte nemica;
  • il verificarsi di errori o tradimenti che impediscano alle comunicazioni fra i generali di giungere correttamente;

è necessario individuare una soluzione affinché:

  • la maggior parte dei generali concordi se attaccare o ripiegare (si o no);
  • la maggior parte dei generali esegua la decisione in modo sincronizzato;
  • la decisione, una volta presa, non possa essere revocata.

Traslando il dilemma nel contesto della blockchain, ciascun generale rappresenta un nodo del network e la maggior parte di essi deve raggiungere il consenso sull’attuale stato del sistema ed evitare errori ed azioni malevole come il double spending delle criptovalute e il 51% attack.

I sistemi distribuiti come i network blockchain adottano diversi meccanismi al fine di avere almeno ⅔ o più nodi affidabili e onesti, e resistere alla classe di fallimenti derivata dal Problema dei Generali Bizantini (proprietà denominata per l’appunto Byzantine fault tolerance).

2. Proof of Work

La proof of work è il meccanismo di consenso adottato da Bitcoin.

E’ stato, per lungo tempo, anche il meccanismo di consenso adottato da gran parte delle criptovalute “minori” (cc. dd. altcoin).

Si adotta il passato poiché, nel corso del tempo, come si dirà compiutamente in seguito, sono stati sviluppati meccanismi di consenso alternativi, sotto taluni profili più efficienti (in particolare il costo dell’hardware, dell’energia e, conseguentemente, la decentralizzazione).

La denominazione deriva dal fatto che il processo di validazione delle transazioni, detto anche “mining”, si sostanzia in calcoli matematici finalizzati ad attribuire a ciascun blocco un hash crittografico.

L’operazione è computazionalmente banale se non per il fatto che ogni hash deve iniziare con un certo numero di zeri (c.d. “nonce”), consequenziale a quello del precedente blocco.

Quella che viene a formarsi è dunque per l’appunto una catena di blocchi.

I miner non hanno modo di prevedere quale nonce produrrà il corretto numero di zeri dunque procedono a computazioni multiple sino alla generazione casuale dell’hash corretto, da cui deriva la convalida del blocco.

Se piccole operazioni possono ritenersi sicure nel momento in cui anche il singolo blocco nelle quali sono contenute viene confermato, per somme ingenti potrebbero essere necessari fino a sei blocchi.

Come intuibile, i principali inconvenienti di tale strutturazione sono:

  • il tempo necessario per convalidare una transazione, variabile da almeno 10 minuti (quelli necessari a formare un blocco) a diverse ore (a seconda del valore economico);
  • il costo dell’hardware e la disponibilità (cfr. Bitmain shop);
  • il costo dell’energia per il funzionamento dell’hardware;
  • la centralizzazione ossia la concentrazione dell’hashpower in capo ad una ristretta pletora di soggetti dotati di adeguate risorse finanziarie (cfr. paragrafo 2.2).

2.1 Possibili implementazioni

Fra le principali soluzioni in fase di sperimentazione per incrementare velocità ed economicità delle transazioni, va menzionato Lightning Network.

Teorizzato da Thaddeus Dryja e Joseph Poon nel 2015, si sostanzia nella creazione di canali di transazioni separati dalla blockchain i quali vengono chiusi ad operazione verificata e reimmessi nella blockchain sotto il profilo strettamente informativo.

Eviscerando la singola transazione dalla trasmissione e verifica dell’intera catena di blocchi, essa diviene quindi molto più rapida ed economica per gli utenti che la pongono in essere, sebbene attualmente meno sicura.

Si ricorda infatti che è proprio la concatenazione di blocchi con hash crittografici a costituire la base portante della sicurezza di questo sistema.

Il Lightning Network risulta quindi per il momento idoneo esclusivamente per operazioni di scarsa entità.

Le ulteriori due notevoli criticità di Lightning Network sono:

  • l’assenza di aggiornamenti per i tradizionali software wallet affinché siano compatibili con L. N.;
  • la mancanza di una interfaccia grafica facilmente utilizzabile dalla generalità degli utenti.

Relativamente a quest’ultimo aspetto, il Lightning Developer Igor Cota ha recentemente avanzato la proposta di collegare il protocollo Lightning Network con la tecnologia NFC (near-field communication).

Trattasi di una tecnologia che fornisce connettività senza fili (RF) bidirezionale a corto raggio (fino a un massimo di 10 cm) ed è stata sviluppata congiuntamente da Philips, LG, Sony, Samsung e Nokia a partire già dai primi anni 2000.

Integrando Lightning Network con NFC, gli utenti potrebbero effettuare transazioni usando bitcoin semplicemente appoggiando lo smartphone sul dispositivo di pagamento proprio come quando si utilizza Applepay o Samsungpay.

Attualmente la maggior parte dei pagamenti nelle attività che accettano Bitcoin vengono effettuati inquadrando con il proprio smartphone i QrCode.

Leggendoli, lo smartphone riesce a risalire all’indirizzo destinatario ed all’entità del pagamento da effettuare.

Tuttavia, l’utilizzo del sistema contactless per i pagamenti tramite NFC potrebbe rendere l’operazione ancor più veloce ed immediata, rendendo inutili i QrCode. Questi, infatti, sono anche meno sicuri di un sistema NFC e consentono di inserire una quantità di informazioni minori.

Utilizzando l’NFC i commercianti saranno in grado di aggiungere molte più informazioni, rendendo le ricevute più dettagliate.

Secondo Cota, questo offrirebbe ai consumatori un tracking dettagliato delle loro spese abituali, consentendo loro di gestire meglio le proprie finanze e scoprire più nel dettaglio come vengono spesi i propri soldi.

L. N. potrebbe finalmente porre rimedio ad uno degli ostacoli all’adozione di massa di Bitcoin come sistema di pagamento ma non al principale, ossia l’oscillazione valoriale determinata, come si è detto, dal numero limitato di monete in circolazione e dall’attuale preponderanza dell’interesse speculativo.

2.2 Mining, commissioni e reward

Con il termine mining ci si riferisce quindi ai complessi calcoli matematici necessari ad evitare il double spending (la possibilità di utilizzare molteplici volte la stessa criptovaluta) e convalidare un’operazione.

I miner sono gli utenti che hanno deciso di mettere a disposizione del network la potenza di calcolo dei propri elaboratori per ottenere un corrispettivo in criptovaluta.

Astrattamente chiunque può diventare un minatore giacché il software è liberamente scaricabile. Tuttavia, la possibilità di guadagnare attraverso questa attività è col tempo divenuta sempre più difficile.

Come si è detto, all’interno del network la produzione dei blocchi è fissata in uno ogni dieci minuti.

Per i minatori sono previste sia ricompense per la creazione di un nuovo blocco all’interno della blockchain, sia commissioni per la corretta inclusione di una transazione.

Inizialmente, nel 2009, la ricompensa era pari a 50 bitcoin, nel 2012 è stata dimezzata a 25, nel 2016 a 12,5 e nel giugno 2020 è stata ulteriormente dimezzata a 6,25 bitcoin (c.d. halving).

La reward giungerà a zero in coincidenza con l’esaurimento della possibilità di conio, che è stato fissato a 21 milioni di bitcoin.

Questo limite è stato fissato per attenuare la possibilità di un ente finanziario tradizionale di incidere sull’evoluzione del protocollo e, in particolare, sul valore della moneta, determinando ad esempio processi inflazionistici.

L’immissione di nuovi coin è dunque cadenzata nel tempo; nel 2013 era già stata immessa quasi metà della quantità complessiva e nel 2018 sono stati raggiunti quasi i tre quarti.

Il numero limitato di monete comporta un aumento esponenziale del loro valore all’aumentare del numero di possessori e, conseguenzialmente, anche una riduzione progressiva della capacità di scambio.

3. Proof of Stake

Il Proof of Work non è l’unico meccanismo di consenso con cui è possibile verificare il corretto trasferimento di valore da un wallet all’altro ed evitare la possibilità di spendere molteplici volte la stessa criptovaluta (c.d. double spending).

Fra le più rilevanti alternative al Proof of Work vanno menzionate:

  • proof of stake (adottato ad esempio da Ethereum);
  • delegated proof of stake (adottato ad esempio da Bitshares, Steem, Ark e Lisk).

Come si è detto, il proof of work determina la possibilità, per coloro che siano in grado di dotarsi degli adeguati costosi hardware (GPU e ASIC), di minare le criptovalute ricevendone in cambio una ricompensa sotto forma di nuovi coin (per questo in numerosi protocolli l’attività di mining equivale, almeno in parte, al conio).

Il proof of stake è stato progettato per risolvere le principali criticità delle blockchain basate sulla PoW ossia il costo dell’hardware e il consumo di energia per la validazione non deterministica delle transazioni.

Infatti, nel POS l’attività di validatore non è assolutamente legata all’utilizzo di dispositivi fisici.

Giova precisare, anzitutto, che lo staking è un’operazione simile al tradizionale deposito in garanzia per cui il validatore delle transazioni blocca su un wallet (conto) un determinato ammontare di criptovalute con l’obiettivo di sostenere la sicurezza e le operazioni di un network blockchain, ottenendo al contempo una reward.

La presenza del “deposito” costituisce una garanzia per il network poiché gli è possibile aggredirlo qualora il validatore abbia effettuato o consentito operazioni malevole a danno della blockchain.

In altri termini, più chiaramente, gli utenti che intendono partecipare al processo di validazione devono congelare una certa somma di moneta all’interno del network (letteralmente “At Stake”).

Le dimensioni dello staking possono incidere sulle probabilità di un nodo di essere selezionato come validatore e di agire da forger del blocco di transazioni successivo.

Tuttavia, per fare in modo che questo processo non favorisca solo i nodi più ricchi del network, il processo di selezione presenta generalmente altri criteri divenendo così pseudo-casuale.

I fattori utilizzati possono essere, anche in combinazione:

  • ammontare dello staking;
  • periodo di staking;
  • valore del blocco di transazioni;
  • randomizzazione temporale ecc.

In ragione della profonda diversità di questo meccanismo di validazione rispetto al Proof of Work, l’inserimento di nuovi blocchi di transazioni nel registro distribuito (blockchain) è denominato forging invece di mining e, conseguentemente, i validatori sono denominati forger anziché miner.

In altri termini:

  • mentre i sistemi PoW si basano su investimenti esterni (consumo di energia e hardware), una blockchain Proof of Stake è protetta attraverso un investimento interno (la criptovaluta stessa);
  • mentre nel sistema PoW gli eventuali attacchi alla blockchain richiedono almeno il 51% della potenza computazionale del network, nel sistema PoS è necessario possedere almeno il 51% delle criptovalute esistenti. Ne consegue che gli attacchi falliti determinerebbero gravissime perdite economiche.

4. Varianti del Proof of Stake

Nel corso del tempo sono state sviluppate molteplici varianti del Proof of Stake.

Una delle più note è il Delegated Proof of Stake, che utilizza un sistema di voto in cui le parti interessate delegano il ruolo di validatore delle transazioni (c.d. testimone). 

La variante che caratterizza il noto Network DeFi Polkadot è denominata Nominated Proof of Stake.

5. Brevi cenni su criptoeconomia e smart contract

In ogni caso, come si è detto compiutamente in altro approfondimento, in questi sistemi le criptovalute rappresentano l’incentivo per gli utenti che vogliano sostenere il protocollo per mezzo della potenza computazionale dei propri dispositivi e/o per coloro che pongano in essere ulteriori comportamenti a favore di esso, pre – stabiliti mediante c.d. “smart contract”.

Trattasi di un programma che permette alla piattaforma che lo implementa di effettuare automaticamente determinate azioni all’avverarsi delle condizioni predeterminate dalle parti.

Ad esempio, gli utenti che condividono file su BitTorrent guadagnano un certo numero di token in base alla banda fornita al network. In altri termini, più Mbps in upload vengono forniti e maggiore è la ricompensa.

Non essendo previsto alcun intervento umano nelle fasi successive alla programmazione dello smart contract, esso deve essere realizzato in maniera estremamente precisa con riferimento a condizioni e relative conseguenze che ne devono scaturire (“If-this-then-that”, “se accade ciò allora succede questo”).

CONCLUSIONE

Terminato l’excursus introduttivo su criptovalute, DLT, blockchain e criptoeconomia, nel prossimo approfondimento si esplicherà la complessa classificazione delle criptovalute effettuata dall’Università di Zurigo, sulla base di attributi di scopo, governance, funzionali e tecnici.

Se necessiti di assistenza o vuoi far parte del network

Contattaci

Lascia un commento