Pionieri della blockchain
Accedi

Raggiungere il consenso su blockchain: PoW vs PoSTempo di lettura: 10 min.

Il consenso sulla blockchain è un elemento chiave e differenziante tra le blockchain stesse. I protocolli maggiormente dibatutti sono il PoW e il PoS, quest'ultimo il punto di arrivo di Ethereum 2.0, conosciamoli meglio nelle loro caratteristiche.

Come già più volte descritto in altri articoli, una blockchain pubblica non è null’altro che un registro distribuito (DLT) gestito da “soggetti partecipanti”, ed è fondamentale per ogni transazione che un numero superiore alla metà dei partecipanti raggiunga un consenso comune a livello di rete perchè le transazioni “valide” vengano registrate sulla blockchain.

Ma come possiamo assicurarci di migliorare l’efficenza del consenso senza dover compromettere la sicurezza?

Questa è sicuramente una delle sfide più importanti che da sempre, e maggiormente oggi, deve affrontare la blockchain.

Che cos’è il consenso sulla Blockchain?

La società moderna, grazie allo sviluppo delle tecnologie, per esigenze ovvie (vedi social network), ha saputo sviluppare diversi sistemi di “votazione informale”, come i Like di Facebook o i voti di Reddit, tuttavia questi sistemi di votazione umana risultano non essere in grado di gestire alte velocità e ancor meno elevati volumi di transazioni, come ci si aspetterebbe da una rete di calcolo.

In aiuto agli uomini sono stati sviluppati “gli algoritmi” che possono aiutarci a raggiungere un consenso, decisamente molto più in fretta.

Un esempio di questi algoritmi possono essere ad esempio:

  • i page Rank di Google;
  • le valutazioni degli utenti di Uber o Tinder;

Tuttavia, anche questi algoritmi non possono garantire l’accuratezza di queste singole transazioni, poichè i partecpianti non sono per forza utenti “fidati”.

Fortunatamente la blockchain è invece in grado di spingersi un pò più avanti, fornendo così un metodo computazionale e automatizzato, in grado di convalidare e registrare con assoluta sicurezza le transazioni.

Proof of work (PoW)

Partiamo dall’ esempio più classico in questo campo, ossia dalla rete Bitcoin.

La rete di Bitcoin è un classico esempio di blockchain con consenso di tipo PoW, che soffre di alcune problematiche quali:

  • basse prestazioni;
  • scarsa scalabilità;
  • spreco di elettricità

nonostante ciò, fino ad oggi si è dimostrata in grado di resistere agli attacchi di singoli utenti, ogranizzazioni e perfino stati, riuscendo a tenere in piedi una rete globale multimiliardaria, ed infatti fino ad ora nessuno è stato in grado di creare una transazione fraudolenta nella blockchain di Bitcoin.

In un sistema PoW, i miner sono in costante competizione tra di loro per chi risolve per primo un problema matematico per ogni blocco, così che, il primo a risolvere il problema, sarà anche il primo a proporre un nuovo blocco e a ricevere la ricompensa in bitcoin associata allo stesso.

Come avviene la votazione che genera la fiducia?

Nel seguente modo:

Il “vincitore” può inserire nel blocco qualsiasi transazione pendente che egli desidera, ma non potrà includere transazioni ritenute non valide (infatti per essere ritenute valide, tutte le transazioni dovranno essere correttamente firmate, e i loro conti di origine devono avere sufficienti fondi).
Se altri miner rilevano che nel blocco vi sono transazioni non valide, proporranno blocchi concorrenti.
La comunità dei miner “voterà” ognuno di questi blocchi in modo indipendente, scegliendo fra i blocchi concorrenti quello che entrerà nella catena.

Supponiamo adesso che vi sia un miner disonesto che intenda includere una grossa transazione non autorizzata in bitcoin a suo favore, nel momento in cui dovesse vincere la gara matematica che gli consente di proporre un nuovo blocco, si scontrerebbe con il controllo di validità degli altri miner, che non hanno alcun interesse a infrangere le regole per avvantaggiare un’ altro. Se costui continuasse a costruire la catena sul suo blocco truffaldino, si ritroverebbe da solo su tale ramo della blockchain. A quel punto diventerebbe così ovvio, che il suo ramo (o fork) della blockchain è illegale.

Ma cosa accadrebbe se la maggioranza dei miner (misurata in termini di potenza di calcolo) dovesse essere collusa?

Beh, anche se un grosso numero di miner dovessero sostenere intenzionalmente il blocco illegale e far così sembrare che la fork appaia come un ramo legittimo della blockchain di Bitcoin (questa situazione è chiamata in gergo “Attacco del 51%”), in una rete blockchain,grande come quella di Bitcoin, le risorse necessarie per accumulare una potenza di calcolo tale da raggiungere il 51% del consenso, sarebbero così enormi, che il potenziale hacker pagherebbe un prezzo cosi alto, in termini di costi e di svalutazione della moneta, tali da far perdere ogni vantaggio nel tentare l’ attacco alla rete.

Proof of stake (PoS)

Quindi, anche se la PoW è indubbiamente stata una grande invenzione, che ha dimostrato negli anni di essere in grado di mantenere la sicurezza, nel mondo reale delle transazioni, come abbiamo già detto, soffre di alcuni problemi.

Inanzitutto richiede un’ enorme quantità di potenza di calcolo, per poter eseguire il dispendioso lavoro computazionale necessario alla creazione di ogni singolo blocco. Il processo di mining è poco scalabile ed il sistema di “consenso” viene spesso rallentato quando ci sono più blocchi concorrenti da validare, a tal punto che potrebbe volerci anche un’ora in più perchè il sistema raggiunga il consenso su di un ramo.

Per risolvere i problemi della PoW è stato proposto di utilizzare un nuovo meccanismo di consenso chiamato Proof-of-Stake (PoS).

Un sistema basato su PoS, consente agli “stakeholder” (i possessori di conti per la criptovaluta) un voto per ogni nuovo blocco ed ha le seguenti caratteristiche:

  • Il proponente di un nuovo blocco (lo stakeholder) verrà scelto in maniera del tutto casuale e, il suo potere di voto (per arrivare al consenso) sarà proporzionale ai token che possiede sul conto personale.
  • Con questo tipo di votazione, la blockchain può raggiungere l’accettazione/consenso di ogni blocco, con una minima quantità di calcolo computazionale.
  • Il proponente del nuovo blocco accettato viene poi ricompensato nella cripto valuta nativa della blockchain.
  • Questo processo viene chiamato in gergo “minting”, (coniazione) della nuova valuta, che al contrario del processo di mining, (estrazione) del metodo PoW, risulta essere molto più veloce .

Il concetto finale nella promozione dell’ uso del protocollo PoS, è che gli stakeholder sono incoraggiati ad accumulare (stake, appunto) i loro token per partecipare al processo di votazione e ricevere la ricompensa per il nuovo blocco. Questo riduce la quantità di denaro in circolazione, e può rendere così la criptovaluta più preziosa sul mercato, e gli stakeholder meno intenzionati a vendere i loro token.

Nonostante il vistoso aumento della velocità e della scalabilità, anche il sistema PoS ha alcuni difetti significativi, quali:

  • gli stakeholder partecipanti potrebbero non avere nulla da perdere nell’accettare proposte di blocchi non validi.
  • Il sistema di voto diventa una sfida tecnica che poche persone possono permettersi.
  • Il fatto di consentire il voto a tutti i partecipanti alla rete (anche quelli che detengono un’unico token) può provocare lo stesso degrado prestazionale che abbiamo visto nei sistemi a PoW.
  • Il potere di voto degli stakeholder più grandi potrebbe portare ad una concentrazione di predominio, nel corso del tempo.

Tra i suggerimenti migliori per risolvere i problemi del PoS troviamo sicuramente il “Delegate Proof of Stake “.

Delegate proof of stake (DPoS)

A contendersi il primato di scalabilità e di velocità, nel prossimo futuro bisognerà sicuramente tenere d’occhio anche la nuova versione del protocollo PoS, denominata Delegate Proof of Stake (DPoS).

Una blockchain basata sul protocollo DPoS utilizza un sistema di voto in cui le parti interessate possono delegare il proprio lavoro ad una terza parte. In altre parole, i partecipanti possono votare dei delegati che hanno il compito di proteggere il network al loro posto. I delegati, vengono chiamati anche testimoni, essi hanno il compito di raggiungere il consenso durante la generazione e la validazione di nuovi blocchi. Il potere di voto sarà proporzionale al numero di monete in possesso di ciascun utente. Il sistema di voto invece varia da progetto a progetto ma, in generale, ciascun delegato ha la possibilità di presentare una proposta individuale che, gli utenti del network potranno valutare prima di scegliere chi votare. In generale, le ricompense ottenute dai delegati verranno distribuite proporzionalmente ai rispettivi elettori.

Quindi, nella pratica, l’algoritmo DPoS crea un sistema di voto che dipende direttamente dalla reputazione dei delegati. Se un nodo eletto dovesse fare qualcosa di sbagliato, o non lavorasse in modo efficiente, verrebbe espulso rapidamente e sostituito da un nuovo delegato.

Per quanto riguarda le prestazioni oggettive, le blockchain di tipo DPoS offrono una maggiore scalabilità, essendo in grado di elaborare molte più transazioni al secondo (TPS) rispetto al metodo PoW ed anche al metodo PoS.

Nota: esistono anche altri metodi per ottenere il consenso ma al momento non sono tra i più utilizzati, quindi li nominiamo per pura curiosità:

  • Proof of Burn
  • Proof of Activity
  • Proof of Elapsed Time (PoET)
  • Simplified Byzantine Fault Tolerance (SBFT)

Conclusione

In questo articolo ho cercato di spiegarti come funziona la tecnica economica quando lavora insieme alla tecnica software per rendere sicura una rete blockchain.

Spero che ora, la differenza tra i maggiori sistemi di consenso ti sia molto più chiara, adesso non rimane che vedere cosa succederà nella pratica quando avverrà il cambio di Ethereum 2.0 su PoS.

Come sempre se hai delle domande lascia pure un commento e condividi l’articolo sul tuo social network preferito per aiutarci a diffondere il nostro lavoro.

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su telegram
Condividi su whatsapp
Condividi su reddit
Lorenzo Disilvestro

Lorenzo Disilvestro

Appassionato di nuove tecnologie e sempre alla scoperta delle migliori soluzioni per aumentare l'efficienza aziendale, come per esempio, la resilienza e tutto ciò che ha a che fare con la sicurezza dei dati. Il mondo dell'IT e quello delle criptovalute sono per me un tutt'uno, dal mining, agli smart contract.

Vuoi approfondire le dinamiche di questo articolo?

Prenota una consulenza con un esperto del team di EtherEvolution che saprà rispondere alle tue domande.
Lorenzo Disilvestro

Lorenzo Disilvestro

Appassionato di nuove tecnologie e sempre alla scoperta delle migliori soluzioni per aumentare l'efficienza aziendale, come per esempio, la resilienza e tutto ciò che ha a che fare con la sicurezza dei dati. Il mondo dell'IT e quello delle criptovalute sono per me un tutt'uno, dal mining, agli smart contract.

Vuoi approfondire le dinamiche di questo articolo?

Prenota una consulenza con un esperto del team di EtherEvolution che saprà rispondere alle tue domande.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ricevi 4 video dall'evento EtherEvolution LIVE

e altre informazioni utili per capire la blockchain ed il mondo di Ethereum

Ricevi 4 video dall'evento EtherEvolution LIVE

e altre informazioni utili per capire la blockchain ed il mondo di Ethereum