In questo articolo andremo a vedere cos’è un algoritmo di consenso e che ruolo svolge all’interno di una criptovaluta.
Inoltre, parleremo dei più importanti e popolari algoritmi di consenso esistenti: Proof-of-Work (PoW) e Proof-of-Stake (PoS).
Che cos’è un algoritmo di consenso
Quando si parla di algoritmo di consenso (o meccanismo/protocollo di consenso) si intendono i meccanismi utilizzati in una criptovaluta affinchè i partecipanti del network possano coordinarsi e giungere ad una conclusione attendibile circa il suo stato contabile.
Di fatto, l’algoritmo di consenso permette ad una criptovaluta decentralizzata di essere effettivamente utilizzata perchè stabilisce le regole e le dinamiche con le quali i vari utenti della rete possono aggiornare il registro contabile della criptovaluta.
In altre parole, gli algoritmi di consenso sono la soluzione elegante con la quale gli utenti di una rete possono rimuovere ogni autorità fiduciaria, sapendo che la situazione contabile rappresentata nella blockchain della criptovaluta è attendibile.
Trovare un modo per coordinarsi tra individui che non si fidano l’uno dell’altro è tutt’altro che facile e si tratta di un problema ben noto a chi si occupa di sistemi distribuiti. Questo problema è così importante che ha un nome tutto suo:
Il problema dei Generali Bizantini (Bizantine Generals Problem).
Questo problema illustra la difficoltà nel tentativo di coordinare più entità quando non si può garantire l’integrità e l’affidabilità delle comunicazioni.
Questo problema è stato risolto nel 2009 da Satoshi Nakamoto con l’invenzione di Bitcoin. Nel suo specifico campo d’applicazione, Bitcoin ha per la prima volta risolto il problema dei Generali Bizantini, per questo viene detto Bizantine Fault Tolerant.
L’algoritmo di consenso utilizzato in Bitcoin è la Proof-of-Work. Tuttavia, non fu Satoshi ad inventare il Proof-of-Work ma esisteva già prima di Bitcoin.
Algoritmi di consenso impiegati nelle criptovalute.
Gli algoritmi di consenso sono una componente fondamentale delle criptovalute perchè permettono agli utenti di coordinarsi.
Tuttavia, l’algoritmo di consenso utilizzato da una criptovaluta ha delle implicazioni importanti sulla sua sicurezza, e quindi sulla sua affidabilità come strumento monetario. Pertanto, influenza direttamente le possibilità di sopravvivere del progetto stesso.
Ogni algoritmo di consenso ha i suoi pro e i suoi contro, che andrebbero valutati accuratamente sia per esprimere un giudizio sensato che per valutare un investimento.
Non importa quanto innovativo o green sia un meccanismo di consenso, se questo non rende la criptovaluta sicura e decentralizzata.
Il Proof-of-Work è spesso accusato di consumare troppa energia, e per questo con il tempo sono stati sviluppati altri algoritmi di consenso che usano meno energia.
Tuttavia, come la maggior parte delle accuse mosse a Bitcoin, anche quella della mostruosità del PoW è infondata e malevola. Il PoW fornisce un grado di sicurezza senza pari perchè si basa sulla termodinamica e non su un software. In aggiunta, è aperto a chiunque, non a qualche entità con abbastanza token (come nella PoS).
Quelli che seguono sono i principali meccanismi di consenso utilizzati nel mondo delle criptovalute.
Proof-of-Work
L’algoritmo di consenso Proof-of-Work (PoW) è lo storico meccanismo utilizzato in Bitcoin.
Questo algoritmo di consenso prevede che per aggiungere un blocco alla blockchain, un utente (“miner“) dovrà raggruppare un insieme di dati ed elaborarli finchè non raggiungerà un risultato coerente con i parametri matematici stabiliti dal protocollo.
Nell’algoritmo di consenso PoW, un miner utilizza energia per produrre un blocco della blockchain, e verrà ricompensato con dei nuovi token come premio per il lavoro svolto.
Nel caso di Bitcoin, la proof of work è alla base del mining per la creazione di nuovi bitcoin.
Come funziona la Proof-of-Work?
In questo processo, il miner metterà insieme tutte le nuove transazioni in BTC ed altri dati accessori, e li elaborerà finchè non raggiungerà un numero detto hash.
Tuttavia, il miner dovrà trovare un hash valido per i parametri del protocollo, quindi l’hash valido dovrà rispettare certi criteri; ad esempio iniziare con 0000000.
Un hash che rispetti i parametri del protocollo può essere trovato solo con svariati tentativi (brute force) che costano tempo ed energia. Da qui il nome Proof of Work che in italiano si traduce Prova di lavoro.
In questo meccanismo di consenso, il miner è disincentivato a comportarsi disonestamente perchè produrre un hash valido costerà fatica ed energia, ma verificarlo è semplicissimo e pressochè gratuito. Pertanto, un tentativo di ingannare il network non passerebbe mai.
Proof of Stake (PoS)
La proof-of-Stake è un altra tipologia di algoritmo di consenso ampiamente diffusa ed utilizzata da molte criptovalute. Ad esempio, la versione 2.0 di Ethereum utilizzerà la Proof-of-Stake.
In questo algoritmo, i dati vengono inseriti nella blockchain da dei validatori, i quali sono selezionati casualmente dal protocollo. Maggiore è la quantità di token in stake, maggiore sarà la probabilità di essere selezionati per validare i blocchi.
Il validatore dovrà bloccare un certo quantitativo di token (“stake“) che andranno perduti se tenta di ingannare il network. Il validatore sarà così incentivato a comportarsi onestamente ed inserire dati corretti e validi, pena perdere i token in stake.
Anche nel meccanismo di consenso PoS, il validatore viene ripagato per la sua validazione con dei nuovi token.
Altri algoritmi di consenso nelle criptovalute
Gli algoritmi di consenso non sono limitati alla PoW e alla PoS. Esistono anche altre soluzioni che tentano di superare gli svantaggi dei sistemi più comuni.
Ad esempio c’è il Delegated Proof Of Stake (dove oltre allo stake si calcola la “reputazione” ), altri meccanismi ibridi PoW-PoS, ed altri protocolli ancora che provano ad utilizzare la reputazione, l’autorità o la memoria di un database.
Conclusione sugli algoritmi di consenso
L’algoritmo di consenso è una componente fondamentale in una criptovaluta perchè permette agli utenti di coordinarsi senza fare affidamento ad un’autorità centrale.
Tuttavia, gli algoritmi di consenso determinano l’affidabilità di una criptovaluta perchè ne influenzano direttamente la decentralizzazione e la sicurezza. Per questo, bisogna valutare tutti gli elementi nel loro insieme e fare attenzione a non farsi ingannare da slogan altisonanti o eco-friendly.