Il Delegated Proof of Stake (DPoS) è un algoritmo di consenso e un metodo per mettere al sicuro la rete. Cerca di risolvere i problemi presenti nel Proof of Work utilizzato da go to link Bitcoin ed Ethereum e nel Proof of Stake utilizzato da Peercoin e NXT.

Il DPoS può essere anche descritto come il più flessibile e il più efficiente algoritmo di consenso disponibile in questo momento.

DPoS è stato inventato nel 2013 dal developer, Dan Larimer, e implementato nel suo primo progetto blockchain – Bitshares – e successivamente in Steem.

I progetti che utilizzano il DPoS sono molto ben noti nel mondo delle criptovalute: Ark, Lisk, Nano, Tezos, Golos, PeerPlays, Steem, Bitshares e EOS. In questo articolo ci concentreremo sul Delegated Proof of Stake implementato in EOS perché è quello più rifinito e più aggiornato.

 

Il Delegated Proof of Stake e la differenza tra il Proof of Work e il Proof of Stake

Larimer ha deciso di creare il proprio meccanismo di consenso perché ha notato che il http://waldviertler-neurofruehling.com/?feed=rss2 Proof of Work (PoW) utilizzato da Bitcoin richiede troppa energia e che nel futuro vi sarebbe posto il problema della centralizzazione dei miners e delle mining pools.

Anche il Proof of Stake aveva le sue pecche. Nel Proof of Stake (PoS) i possessori del maggior numero di token possono essere i produttori di blocchi. Questo approccio concentra il potere nelle mani dei pochi prescelti.

Dan Larimer ha voluto migliorare il sistema di consenso creando un algoritmo che potesse lavorare in modo economico sia nei termini economici che energetici, che fosse scalabile più di quanto non lo sia Bitcoin o le blockchain basate sul PoS, ma migliorare questi due espetti comportava l’accettazione di un compromesso che riguardava la decentralizzazione.

Il cosiddetto trilemma della scalabilità, è stato formulato per la prima volta da buy Lyrica in uk Vitalik Buterin e Trent McConaghy. I due sviluppatori hanno notato che una blockchain nella quale ciascun nodo valida ogni transazione può avere solo una delle tre caratteristiche:

  • decentralizzazione
  • sicurezza
  • scalabilità

Se lo vediamo sull’esempio di Bitcoin possiamo constatare che, in effetti, la blockchain di Bitcoin è sicura e decentralizzata, ma la scalabilità è molto bassa. Se invece lo vediamo sull’esempio di NXT, la blockchain è scalabile e sicura, ma col passare del tempo, la decentralizzazione tende a scomparire e con essa anche la sicurezza della rete.

Alcuni progetti cercano di mitigare queste mancanze con lo sharding (Ethereum, Polkadot, Dfinity) o con il Lightning Network (Bitcoin, Litecoin, Dash).

Il Delegated Proof of Stake in EOS risolve il problema della scalabilità in un altro modo. Per raggiungere la scalabilità desiderata di 1 milione di transazioni al secondo, il DPoS concentra la produzione dei blocchi nei 21 nodi validatori (produttori di blocchi) che sono più o meno conosciuti e fidati.

 

Come funziona il Delegated Proof of Stake

I possessori di token EOS hanno il diritto di votare i candidati per eleggere i produttori di blocchi. I voti sono tanto più importanti quanto più grande è il loro deposito (stake). Quei candidati che ricevono più voti, diventano i produttori di blocchi. La votazione è continua e ogni possessore di EOS può parteciparvi. La votazione è importante per mantenere la rete in uno stato di salute e decentralizzata il più possibile. Gli utenti possono anche delegare un altro utente per votare al loro posto.

Nel caso in cui i produttori dii blocchi si comportano nel modo sbagliato o non validano i blocchi, gli utenti possono decidere di cambiarli in qualsiasi momento. La minaccia di perdere la posizione del nodo validatore e la reputazione, è l’incentivo per un comportamento giusto e orientato verso il bene della rete e non verso quello individuale. Aggiuntivamente, i possessori di EOS devono sottoscrivere la cosiddetta “costituzione” che poi è incorporata nel hash di ogni transazione. Gli utenti hanno il diritto di votare per fare dei cambi nel protocollo che, per essere effettivi, devono essere approvati da 17 dei 21 nodi validatori e mantenuti per 30 giorni consecutivi dopodiché, tutti devono firmare le transazioni con il hash della nuova costituzione. I produttori di blocchi cambiano quindi il codice sorgente per riflettere la modifica della costituzione. Trascorsi altri 30 giorni, con i produttori che mantengono l’approvazione 17/21, il codice cambia una settimana dopo. Tutti i nodi che non eseguono l’aggiornamento al nuovo codice vengono automaticamente arrestati.

Questo sistema è spesso comparato alla democrazia tecnologica anche se più trasparente di quella tradizionale.

Mentre nel PoS gli utenti producono i blocchi proporzionali al loro deposito, nel DPoS gli utenti votano proporzionalmente al loro deposito per scegliere chi deve produrre i blocchi.

I produttori di blocchi non necessariamente devono avere un grosso deposito, ma devono competere per ricevere i voti dei possessori di token. La competizione, però, finisce una volta che i produttori vengono scelti. Per produrre i blocchi, i nuovi eletti devono cooperare.

Non vi sono gli incentivi per produrre più blocchi perché ciascuno dei nodi validatori può produrre soltanto un blocco in un turno.

In EOS e Steem non vi sono le commissioni per transazione e i validatori dei blocchi vengono ricompensati esclusivamente attraverso l’inflazione. A differenza del Bitcoin, dove i miners cercano di validare prima le transazioni con le commissioni più alte e competono per averle, in EOS o Steem non hanno questo tipo d’incentivo.

Nel DPoS la validazione dei blocchi avviene nei turni. In un turno ogni produttore di blocchi riceve uno spazio temporale per produrre il blocco. Un turno consiste di 21 blocchi. All’inizio di ogni turno ciascun produttore riceve solo uno spazio temporale e soltanto durante il suo spazio può produrre il blocco. Se non lo produce all’interno del proprio spazio temporale, allora quel blocco salta e le transazioni da quel blocco vengono incluse nel blocco successivo. I proprietari di token possono decidere se lasciare il produttore di blocchi che ha mancato il proprio slot o se cambiarlo attraverso la votazione che va in continuazione.

Il DPoS è criticato da alcuni perché, secondo loro, i 21 nodi validatori non forniscono una giusta decentralizzazione. La domanda che si pone spontanea è quindi: “Quanti nodi sono sufficienti per garantire una giusta decentralizzazione e perché Dan Larimer ha deciso di avere proprio 21 nodi?”

Per rispondere a questa domanda bisogna far presente che tanti più nodi partecipano nella validazione dei blocchi e tanto più l’operazione è rallentata. 21 blocchi possono sembrare pochi, ma se si considera, che solo una minima parte dei possessori di token EOS partecipano nelle votazioni per i candidati ai produttori di blocchi, questo numero assume un’altro significato.

Se il DPoS avesse più posti dei nodi validatori da riempire, ci sarebbe il rischio di non arrivare a farlo. Un gruppo relativamente piccolo dei nodi validatori offre un vantaggio di essere facilmente controllato dalla comunità e, nel caso i possessori di token scoprano un comportamento nocivo per la rete, possono facilmente sostituirlo con un altro. Monitorare un grosso gruppo di nodi è difficile e, considerando che non vi sono incentivi per farlo, probabilmente nessuno vorrebbe dedicarsi a questo scopo e tutta la rete ne soffrirebbe.

L’obiettivo del sistema non è il decentramento come fine a se stesso. Il decentramento è una caratteristica dei sistemi che consente loro di raggiungere altri obiettivi: la resistenza alla censura, la partecipazione aperta, l’immunità dagli attacchi diretti e l’eliminazione dei singoli punti di errore.

Nonostante non ci sia un numero di nodi specifico, necessario per mantenere la decentralizzazione e il raggiungimento di questi obiettivi, Larimer nel suo DPoS fissa il numero a 21 e permette agli utenti della rete di cambiare questo numero nel caso ci fosse tale bisogno.

Un gruppo di ricercatori ha scritto nel suo articolo sulla decentralizzazione nelle reti Bitcoin ed ethereum che la produzione dei blocchi in Bitcoin e in Ethereum è più concentrata di quanto si pensasse:

“Questi risultati mostrano che un sistema di quorum bizantino di dimensione 20 potrebbe ottenere un migliore decentramento rispetto al Proof of Work a un costo di risorse molto più basso. Ciò dimostra che sono necessarie ulteriori ricerche per creare un protocollo di consenso permissionless senza un così alto grado di centralizzazione.”

Il Delegated Proof of Stake potrebbe essere una soluzione a questo problema e pone nelle mani dei possessori di token le armi sotto forma di voto.

La centralizzazione geografica dei nodi di Bitcoin è una grande minaccia perché uno stato come la Cina potrebbe decidere di usare la propria forza per esercitare il potere sui miners. Gli utenti della rete EOS possono semplicemente non votare i nodi localizzati in un certo paese in favore della decentralizzazione mondiale.

Nelle blockchain che si basano sul Proof of Work esiste anche la minaccia della collusione delle mining pools.

Nel DPoS esiste lo stesso pericolo. I nodi validatori possono mettersi d’accordo fra di loro, ma i possessori di token che allo stesso tempo sono anche i proprietari della blockchain, hanno un ruolo decisionale e possono votare altri candidati e cambiare quelli esistenti.

In ogni blockchain ci sono due tipi di figure. Ci sono quelli che eseguono le operazioni e poi ci sono quelli che le validano. Il primo gruppo comprende i possessori di token che eseguono le transazioni e il secondo gruppo comprende i validatori che le confermano. In ogni blockchain i validatori svolgono un ruolo importante perché raccolgono le transazioni, le ordinano e prevengono la doppi spesa, ma soltanto nell’algoritmo di consenso DPoS i possessori di token hanno il potere di controllare chi sono questi validatori. Possono anche controllare l’inflazione che inizialmente è impostata al 5%, ma che i proprietari di token possono decidere di cambiare. L’inflazione serve a mantenere tutta l’infrastruttura e può essere anche destinata allo sviluppo della piattaforma, ai hackathons o a un qualsiasi altro scopo. Il lavoro svolto dai produttori di blocchi viene ricompensato grazie all’inflazione e sono sempre i proprietari di token a decidere la percentuale destinata alle ricompense.

 

Le minacce alla sicurezza e all’integrità della blockchain EOS

Creare una blockchain implica anche studiare i possibili attacchi al sistema che possono avvenire sia a causa degli hacker sia a causa dei possessori di token malintenzionati o dei produttori di blocchi.

EOS utilizza la tecnologia Graphene e il DPoS e questo meccanismo non ha la possibilità di generare più catene concorrenti durante un hard fork. Questo perché esiste un numero preciso di nodi validatori e l’ordine è creato ad ogni turno. Una minoranza dei nodi non potrebbe vincere perché gli altri nodi validatori continuerebbero a produrre i blocchi sulla catena originale allungandola sempre di più e nel DPoS, la catena più lunga è quella che vince sempre.

Il Delegated Proof of Stake riesce a difendersi anche dalla collusione della maggior parte dei produttori di blocchi per produrre più fork. In questo caso, pur essendo in minoranza, i validatori onesti determinerebbero la catena più lunga. I possessori di token potrebbero votare a sfavore dei nodi collusi.

Un possibile attacco che potrebbe compromettere l’integrità del sistema sarebbe se una netta maggioranza creasse un hard fork. Per approfondire l’argomento degli hard fork vi consigliamo di leggere questo articolo.

Anche la corruzione può essere considerata un certo tipo di attacco perché altera la governabilità della blockchain e ne minaccia la sicurezza. La corruzione è l’attacco più comune nel DPoS ed è già stata osservata in Link e in Steem.

I produttori di blocchi e i candidati cercano di accaparrarsi più voti possibili per mantenere la loro posizione e corrompono gli utenti per votarli.

Una situazione del genere è presente tuttora in Lisk. Due pool, LiskElite e LiskGDT, offrono in cambio dei voti una porzione delle ricompense guadagnate dalla produzione dei blocchi. Esiste anche un sito web dove si può scegliere i delegati con i pagamenti per voto più alti.

Questo tipo di corruzione, alquanto possibile, non sarà molto conveniente nel caso di EOS perché un validatore, oltre a validare le transazioni, deve fornire lo storage, partecipare alla governance e utilizzare i profitti per migliorare il proprio hardware al fine di aumentare la capacità totale della rete. Questo è ciò che ci si aspetta da un produttore di blocchi valido e Larimer vede i futuri produttori di blocchi come dei centri dati comunicanti fra di loro. Considerando le aspettative, anche i costi di produzione saranno alti. Aggiungere dei costi di corruzione a quelli già esistenti renderebbe il produttore meno competitivo rispetto ad altri validatori, riducendo con questo la sua futura capacità di produrre i blocchi.

I possessori di token EOS informati sui pericoli connessi col votare i produttori corrotti, preferiranno quei produttori che danno il valore reale alla rete e con esso, preservano gli investimenti piuttosto che ottenere le ricompense piccole e nocive per il sistema. È quindi essenziale educare i possessori di token a votare contro ogni tentativo di corruzione e di denunciarla pubblicamente.

DPoS cerca di proteggersi almeno in parte dai possessori di token corrotti introducendo il sistema della scadenza dei voti nel quale i voti più recenti hanno più valore di quelli vecchi e premiando la partecipazione degli utenti attivi piuttosto che quelli che votano una volta sola. I voti degli utenti che votano una volta al mese vengono apprezzati pienamente mentre gli altri voti scadono lentamente finché, dopo due anni, non hanno più nessuna validità.

L’attacco Distributed Denial od Service (DDoS) ha causato parecchi problemi nel passato e il DPoS non è di certo immune, ma è estremamente difficile da eseguire. Questo perché i produttori di blocchi sono delle entità distinte e distribuite in tutto il mondo. Mentre un attacco su un produttore di blocchi è possibile e causerebbe dei ritardi, l’attacco a più produttori simultaneamente è pressoché impossibile. Un nodo validatore o più nodi che soffrono questo tipo d’attacco potrebbero essere votati contro ber il bene della rete.

 

L’applicazione del Delegated Proof of Stake in Bitshares e in Steem ha provato la sua abilità a mantenere il consenso e il processamento di più transazioni di qualsiasi altra blockchain. Il DPoS è quindi la soluzione ideale al problema della scalabilità. Il costo dell’incredibile scalabilità è minore decentralizzazione, ma, alla fine, la decentralizzazione non è altro che un mezzo per un fine più importante. Lo scopo della decentralizzazione è la resistenza alla censura, l’apertura e nessun singolo punto di fallimento e il DPoS con i suoi 21 produttori di blocchi riesce a raggiunge questi fini.

A differenza di tanti altri algoritmi, il DPoS può continuare a funzionare anche quando la maggior parte dei produttori di blocchi fallisce. È la comunità intorno a EOS a decidere chi dovrebbe prendere il loro posto ed è anche la comunità che ha il potere di cambiare la costituzione, il protocollo, l’inflazione e altre cose riguardanti la rete EOS.

Il DPoS dà il potere ai possessori di token e vuole che essi agiscano coscientemente e che siano coinvolti nella blockchain per un bene comune.

 

Leggi la nostra guida su dove comprare le criptovalute con EUR o USD senza dover verificare l’account

Puoi acquistare EOS su degli exchange tipo LivecoinExmoBinance o HitBTC.

 

Qubit Hacker cerca scrittori capaci con una buona conoscenza delle criptovalute, della blockchain o del quantum computing. Contattaci: qubithacker@gmail.com

Condividi questa notizia:

One thought on “Cos’è e come funziona il Delegated Proof of Stake di EOS”

Lascia un commento

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