I meccanismi di consenso nella blockchain

I meccanismi di consenso nella blockchain

Ogni volta che non c’è un’autorità centrale, si arriva al consenso solamente se la maggioranza dei partecipanti è d’accordo. Ad esempio, supponi che tre amici vogliano decidere cosa fare una sera. Se due preferiscono andare al cinema ed uno preferisce andare a mangiare una pizza, è probabile che alla fine vadano al cinema. Al contrario, se una professoressa decide che i suoi studenti debbano fare un compito in classe a sorpresa, gli studenti non avranno possibilità di scelta, che siano d’accordo o meno.

Le banche hanno autorità sul sistema dei pagamenti e decidono autonomamente se una transazione è valida o meno. Al contrario, nel mondo delle criptovalute non c’è un’autorità centrale, bensì tanti partecipanti decentralizzati. Per decidere se una transazione è valida o meno, questi partecipanti utilizzano dei meccanismi di consenso.

Come vedremo in questo articolo, esistono diversi meccanismi di consenso, ognuno con i suoi pro ed i suoi contro. Andiamo a scoprire i principali.

Cos’è un meccanismo di consenso?

Nel sistema finanziario tradizionale, la legittimità di un bonifico bancario viene determinata dalla banca: se il conto non ha fondi sufficienti la transazione verrà negata. In questo caso l’autorità risiede su una singola entità (la banca), che è responsabile per la verifica e la conferma delle transazioni.

Le transazioni di criptovalute non vengono schedate sul registro di un intermediario finanziario, ma sulla rete blockchain. La blockchain non è altro che un registro decentralizzato sul quale sono registrate tutte le transazioni mai avvenute per una criptovaluta. Prima di registrare una nuova transazione sulla blockchain, bisogna confermarne la sua legittimità. La validità di una transazione (come un trasferimento di Bitcoin), non viene confermata da un’entità centrale, ma da un network di partecipanti collegati alla rete. Per confermare la legittimità di una transazione si usa un meccanismo di consenso. Ogni partecipante ha diritto di voto e le nuove transazioni vengono aggiunte al registro solo dopo che il consenso viene raggiunto da una percentuale sufficiente di partecipanti.  I meccanismi di consenso vengono anche chiamati protocolli di consenso o algoritmi di consenso.

L’utilizzo dei meccanismi di consenso aiuta anche a prevenire certi tipi di attacchi fraudolenti. In teoria, un partecipante fraudolento può compromettere il consenso facendo un “51% attack”, vale a dire controllando la maggioranza della rete. I meccanismi di consenso sono progettati per rendere questo attacco difficile da realizzare, in quanto il costo per avere il controllo di una blockchain può arrivare a cifre talmente elevate da rendere l’attacco non lucrativo.

Proof of Work (PoW)

Proof of Work (PoW) è il meccanismo di consenso più vecchio ed è attualmente utilizzato da Bitcoin, Ethereum 1.0 e tante altre criptovalute. In italiano, Proof of Work si può tradurre come “prova di lavoro”. Viene chiamato così perché è un meccanismo che richiede un’elevata potenza di calcolo per arrivare al consenso.

Per verificare una transazione ed aggiungerla alla blockchain, Il PoW utilizza il lavoro dei cosiddetti miners. I miners sono dei partecipanti che competono tra loro per risolvere un complicato problema matematico che richiede un’elevata potenza di calcolo. Chi risolve questo problema per primo aggiorna la rete blockchain aggiungendo le nuove transazioni e riceve in cambio un importo prestabilito della criptovaluta in questione.

Tra i principali vantaggi del PoW c’è la sua elevata sicurezza. È adatto a criptovalute relativamente semplici e con un valore elevato, come il Bitcoin. L’elevato livello di complessità necessario per confermare le nuove transazioni rappresenta uno dei suoi principali limiti e lo rende inadatto a volumi elevati per via dei costi eccessivi. Oltre ai costi, un altro aspetto negativo è l’alto impatto ambientale dovuto al fatto che, per risolvere i complicati puzzle matematici, viene consumata una grande quantità di energia elettrica spesso prodotta con fonti non rinnovabili.

Per questo motivo sono stati sviluppati dei meccanismi di consenso alternativi, il più popolare dei quali è chiamato Proof of Stake.

Proof of Stake (PoS)

Uno dei problemi di utilizzare il PoW è che, con l’aumentare dei volumi, i costi per transazione sono cresciuti parecchio. Per questo motivo Vitalik Buterin – fondatore di Ethereum – ha deciso di creare una nuova blockchain, chiamata Etereum 2.0, che utilizza il Proof of Stake (PoS). Con il PoS, i partecipanti versano le loro criptovalute (il cosiddetto staking) in cambio della possibilità di essere selezionati per convalidare nuove transazioni ed ottenere una ricompensa.

La differenza principale tra PoW e PoS è che mentre nel primo i miners lavorano tutti per cercare di risolvere lo stesso problema nel minor tempo possibile in concorrenza l’uno con l’altro, nel secondo un partecipante viene selezionato per convalidare la transazione. In questo modo viene limitato lo spreco di risorse.

Per verificare una transazione, i partecipanti vengono scelti in base a:

  • L’importo di criptovalute versato in staking
  • La durata del versamento

Dopo che il partecipante selezionato ha verificato la transazione, altri partecipanti attestano che sia corretta. Una volta raggiunto il consenso la blockchain viene aggiornata. Tutti ricevono una ricompensa in misura che varia in base a importo e durata del loro versamento.

Per disincentivare comportamenti fraudolenti, i partecipanti che accettano una transazione irregolare vengono penalizzati sottraendogli parte dei loro fondi versati in staking.

Tra i vantaggi di PoS ci sono velocità di esecuzione e costi nettamente inferiori rispetto a PoW. Tra i rischi c’è una minore decentralizzazione e – secondo alcuni – una minore sicurezza.

Il meccanismo della Proof of Stake sta avendo grande successo, ed infatti Ethereum è diventato la blockchain più utilizzata dalle nascenti applicazioni di finanza decentralizzata (DeFi).

Proof of History (PoH)

Proof of History (PoH) è il meccanismo di consenso utilizzato da Solana. Mentre i due meccanismi descritti finora richiedono che diversi partecipanti siano d’accordo su data e ora di una transazione, con PoH ogni partecipante ha il suo orologio che registra in modo incontrovertibile l’ordine nel quale una serie di transazioni sono avvenute. In pratica, ogni volta che i partecipanti alla blockchain Solana comunicano, una prova crittografica dell’orario di ogni messaggio viene registrata nel libro mastro della rete, permettendo alla rete di ignorare differenze di fuso orario e di concentrarsi sull’ordine cronologico delle transazioni.

Ottenendo il consenso tramite PoH, Solana è in grado di raggiungere tempi di conferma veloci senza sacrificare eccessivamente la sicurezza e mantenendo un buon livello di decentralizzazione.

Conclusione

Come abbiamo visto, ci sono tanti modi per ottenere il consenso. Man mano che questo settore continua a maturare, questi meccanismi di consenso continueranno ad evolversi tenendo conto di tre caratteristiche fondamentali: sicurezza, accessibilità e sostenibilità.

Gli sviluppatori trovano costantemente nuovi modi per fondere le caratteristiche migliori di diversi meccanismi di consenso per formarne di nuovi. Ogni meccanismo ha i suoi punti di forza e di debolezza che vanno valutati nel contesto dell’uso previsto dalla rete.