Proof of Believability: l’algoritmo di consenso di IOST
Blockchain

Proof of Believability: l’algoritmo di consenso di IOST

By Emanuele Pagliari - 11 Ago 2019

Chevron down

Si parla spesso di Proof of Stake, Proof of Work, Delegated-Proof of Stake e tanti altri meccanismo di consenso. Fra questi vi è anche il poco conosciuto Proof of Believability, letteralmente prova di credibilità. Si tratta dell’algoritmo di consenso utilizzato da IOST.

Nonostante sia poco noto, si tratta di un algoritmo di consenso molto interessante, viste le sfide tecnologiche che punta risolvere.

Ecco dunque come funziona e quali sono le particolarità del Proof of Believability.

Proof of Believability: il concetto di Servi

Una delle principali sfide che deve affrontare il tradizionale meccanismo di consenso Proof of Stake è la tendenza alla centralizzazione. Al fine di mitigare questo rischio, IOST ha introdotto il concetto di Servi per misurare i contributi degli utenti al mantenimento della comunità e per incoraggiare ed incentivare il continuo sviluppo della IOSChain.

Un Servi ha le seguente caratteristiche:

  • Non è scambiabile: il Servi non è concepito come un mezzo di scambio, dunque non può essere tradato in alcun modo;
  • Autodistruttivo: dopo aver convalidato un blocco, il sistema cancellerà automaticamente il saldo dei Servi appartenente al validatore. In questo modo, i nodi con elevati punteggi di credibilità possono validare i blocchi in maniera alternata, così da garantire un processo equo di generazione dei blocchi ed evitare l’affermarsi di validatori al di sopra degli altri;
  • Auto-emissione: i Servi vengono generati e depositati automaticamente sui conti degli utenti in base ai contributi apportati alla community. Tali contributi consistono nella fornitura di servizi alla comunità, oppure nel controllo e valutazione dei servizi forniti da altre entità

I Servi contribuiscono alla determinazione del punteggio di credibilità che verrà illustrato fra poco. Inoltre, consentono di mantenere un certo livello di entropia nella scelta dei validatori incaricati di processare una transazione.

Come funziona l’algoritmo di consenso Proof of Believability di IOST?

I classici sistemi basati su blockchain hanno un certo compromesso tra sicurezza e throughput. Esso dipende dalle esigenze e dalle dimensione degli Shards (frammenti), nonché dei blocchi.

Un sistema con un gran numero Shards offre prestazioni migliori ma è decisamente più vulnerabili ad eventuali attacchi. Per superare tale compromesso, così da mantenere un certo livello di sicurezza e prestazioni, IOST ha sviluppato un nuovo algoritmo di consenso.

La Proof of Believability (PoB) – utilizzata sulla IOSChain garantisce infatti che i nodi abbiano una probabilità di errore trascurabile, aumentando quindi in maniera significativa il volume delle transazioni eseguibili grazie alla variazione delle dimensioni degli Shards.

Il protocollo basato sul PoB utilizza un approccio basato sull’intra-shard Believable-First. Questo vuol dire che il protocollo divide tutti i validatori in due gruppi: da una lato i validatori credibili e dall’altro quelli normali.

Si ha dunque che i validatori credibili processano le transazioni in maniera assai rapida nella prima fase. In seguito, i validatori normali campionano e verificano le transazioni nella seconda fase, così da finalizzare l’operazione e garantire legittimità delle transazioni.

La probabilità che un nodo venga eletto come credibile da parte degli altri validatori credibili viene determinata dal punteggio di credibilità del nodo. Quest’ultima viene calcolata tramite molteplici parametri, fra cui il bilancio in token, i contributi alla comunità etc. Più il punteggio è alto, maggiore è la probabilità che il nodo venga eletto.

Si hanno dunque i validatori credibili che gestiscono le procedure necessarie a decidere l’insieme delle transazioni da processare e l’ordine con cui elaborarle. Tali validatori possono aggregarsi, formando dei veri propri gruppi di validazione. Tuttavia tali gruppi possono essere anche molto piccoli, tanto da risultare costituiti da un solo validatore per gruppo.

Si avrà quindi una distribuzione casuale delle transazioni da processare tra i vari validatori credibili. Di conseguenza, vengono prodotti blocchi più piccoli con una latenza estremamente bassa.

Tuttavia, si possono avere alcuni problemi di sicurezza, in quanto la verifica è effettuata da un solo nodo. Perciò, alcune transazioni maligne potrebbero venir eseguite da validatori credibili malintenzionati. Per risolvere questo problema, viene definito un certo intervallo di campionamento che determinerà ogni quanto i validatori normali dovranno verificare le transazioni nella seconda fase, rilevando dunque le eventuali incongruenze. Se un validatore viene rilevato come malevolo, perderà tutti i propri token e la reputazione all’interno del sistema.

Per tutti i dettagli sul PoB è possibile consultare la documentazione ufficiale: PoB.

Emanuele Pagliari
Emanuele Pagliari

Ingegnere delle telecomunicazioni appassionato di tecnologia. La sua avventura nel mondo del blogging è iniziata su GizChina.it nel 2014 per poi proseguire su LFFL.org e GizBlog.it. Emanuele è nel mondo delle criptovalute come miner dal 2013 ed ad oggi segue gli aspetti tecnici legati alla blockchain, crittografia e dApp, anche per applicazioni nell'ambito dell'Internet of Things

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.