Direttore responsabile: Giovanni Capaccioli

Blockchain: la Proof of Authority (PoA)

Intro.

Nella PoW è il notevole sforzo del mining a dare sicurezza e validità alla rete, mentre nella PoS è la garanzia dello stake maggiore, assieme ad altri dettagli, a coprire tali funzioni.

Da qualche tempo si sta affacciando, nel mondo Blockchain, un diverso tipo di consenso: la Proof of Authority.

Nel 2017 Gavin Wood, Co-Founder e CTO di Ethereum, propose proprio la PoA come possibile “naturale” evoluzione del sistema PoW di Ethereum stessa. 

Tutto parte sempre dal trilemma. 

Ogni tecnologia Blockchain ed ogni nuovo o vecchio modello di consenso deve, gioco-forza, affrontare il trilemma Blockchain, secondo il quale una rete deve essere sicura, decentralizzata e scalabile: ad oggi è molto complesso garantire le 3 caratteristiche ad altissimi livelli, contemporaneamente. 

L’obiettivo è e sarà sempre settarle per trovare il più elevato punto di bilanciamento adottando varie soluzioni architetturali, software e di sistema , testando sul campo i vari tipi di consenso e gli effetti che producono.

Ecco perché uno dei metodi chiave di lavoro degli attori in gioco è quello di valutare con visione costruttiva i pro ed i contro che ciascun metodo di consenso produce sul campo, non filosoficamente “in linea teorica”, bensì con un approccio scientifico “in linea pratica e tangibile”.

PoA: l’’identità come “stake”.

In questo caso, la Proof of Authority (PoA), consiste in un sistema nel quale gli attori mettono “in stake” la loro identità: è chiaro, quindi, che essi mettano in gioco la loro reputazione.

Come avviene nella PoS, nella PoA entrano in gioco i nodi validatori

  • essi devono settare le loro identità, che devono essere reali, corrispondenti a quelle della vita di tutti i giorni, confermando inoltre le eventuali qualifiche e/o caratteristiche aggiuntive in relazione alle regole immesse dalla variante PoA in questione;
  • superati con successo i filtri iniziali, divengono validatori e possono così verificare blocchi e transazioni;
  • una volta scelto lo standard per l’approvazione dei validatori, quello standard deve esser rispettato per tutti gli altri che verranno dopo.

La reputazione messa in gioco al pari di uno stake di coin di qualsiasi tipologia è il filtro primario di tale sistema: tanto completo è il processo di selezione dei validatori, quanto basso sarà il rischio di inserire nel sistema validatori poco seri.

Pro e contro.

Essendo i validatori esigui (in numero limitato) rispetto agli altri sistemi di consenso, i blocchi e le transazioni potranno esser verificati con una maggiore velocità, creando quindi un sistema Blockchain maggiormente scalabile in confronto agli altri.

Il fattore “visibilità” dei validatori viene qui visto come un pregio: ogni attore che viene autorizzato, diventando un validatore dell’intero processo, rende visibile a tutti la propria identità, quindi chiunque la conoscerà.

Chiunque potrà quindi incidere sulla reputazione del validatore stesso, qualora egli abbia tentato di truffare il sistema. Tale reputazione sarà compromessa sia a livello digitale (nel circuito Blockchain) sia a livello della vita reale, poiché permanente in Blockchain.

Nel trilemma Blockchain, chiaramente, la PoA cerca di dare maggiore peso alla scalabilità, aumentando notevolmente le prestazioni della rete, ma abbassando di qualche grado il livello di decentralizzazione (rispetto ad altre reti come la PoW), rendendosi attraente soprattutto per sistemi che necessitano di un maggior “controllo” sulla sicurezza della catena effettuato tramite la verifica delle identità.

In Bitcoin, per esempio, i grossi limiti di scalabilità vengono affiancati da una elevata decentralizzazione e sicurezza della rete. Ecco perché in Bitcoin, per esempio, si stanno introducendo sistemi come il lightning network, per eseguire alcuni processi “off-chain”, cercando di aumentare la scalabilità del sistema.

Da quale necessità è nata la PoA.

“Ci vogliono 20 anni per costruire una reputazione e cinque minuti per rovinarla. Se ci pensi, farai le cose in modo diverso “. – Warren Buffett

Questa frase sostanzialmente riassume il motivo per il quale è nata la PoA: una data importante fu il 24 Febbraio 2017, quando Ropsten fu vittima di una attacco “Denial of Service”

Ropsten era l’ambiente pubblico di sviluppo usato dai programmatori Ethereum per testare gli Smart Contracts prima di farli girare sulla main net di Ethereum: in poche parole, era una testnet.

A causa di questo attacco, nell’arco di poche ore, fu creato un nuovo testnet di sviluppo, basato questa volta sulla PoA, che fu chiamato Kovan.

Gavin Wood (Co Fondatore di Ethereum) coniò il termine PoA, aggiungendo quanto segue: “Dopo il fallimento di Ropsten, è stato chiaro che avevamo bisogno di un’infrastruttura affidabile per aiutare lo sviluppo delle dapp di Ehereum in una maniera inclusiva e interoperabile.”

I punti focali.

Come abbiamo accennato precedentemente, i validatori sono il fulcro di tutto il sistema, coloro che danno vita al consenso. Essi vengono scelti quindi con estrema attenzione, proprio per via del ruolo che poi avranno all’interno del sistema.

  • I validatori devono fornire la propria identità ufficiale, riconosciuta nella vita reale. La Blockchain deve essere quindi in grado di ottenere dati reali, veritieri;
  • il metodo di verifica scelto deve essere omogeneo ed imparziale, non corruttibile (computazionalmente), proprio per garantire imparzialità;
  • gli standard di convalida, sia che essi siano classici o accessori, devono essere elevati, proprio perché il sistema funziona quando filtra bene fin dall’inizio;
  • i validatori devono essere sia premiati (economicamente) che esser sottoposti ad un elemento deterrente tangibile e pesante, in caso si manifestino non onesti. Questo garantirebbe libertà di diventare validatori, con la certezza che nei casi gravi essi subirebbero sia il giudizio pubblico aperto, sia una pena economicamente tangibile e pesante;
  • se da un lato il grado di decentralizzazione si abbassa, dall’altro si alza molto quello della sostenibilità: non è richiesto un elevato potere hardware per risolvere puzzle computazionali complessi; 
  • spesso in questa tipologia di sistemi vengono inserite regole che non permettono allo stesso validatore di validare uno o più blocchi consecutivi: questo è uno dei motivi per i quali la PoA viene spesso considerata maggiormente resistente agli attacchi 51%;
  • se da un lato si parla di una rete permissioned (occorre loggarsi, autenticandosi, per accedervi), dall’altro garantisce elevate performance ed alti standard di fault tollerance: soltanto i nodi validatori hanno l’autorità di “firmare” transazioni e blocchi;
  • i nodi validatori devono garantire la propria continua partecipazione: se un validatore viene visto inattivo dal sistema può essergli revocato il ruolo;
  • il 51% attack in un consensum di questo tipo è molto più difficile da portare a termine: l’attaccante non deve ottenere il 51% del potere computazionale, ma il reale controllo del 51% dei nodi della rete.

Sostanzialmente: qualora l’identità fosse l’elemento primario richiesto da una rete Blockchain, affiancato da un’elevata scalabilità la PoA potrebbe esser vista come una soluzione promettente.

Blockchain: l’obiettivo è la fiducia.

In qualsiasi contesto venga applicata la Blockchain, qualsiasi sia la tipologia di consensum preferita, qualsiasi siano gli strumenti accessori collegati ad essa, l’obiettivo massimo che essa si prodiga di raggiungere è uno solo: la fiducia.

La Blockchain nasce, infatti, solo e soltanto per trasmettere fiducia in coloro che lo usano tangibilmente, traendone beneficio, senza più domandarsi “di chi mi posso fidare?”.

La Proof of Authority si sviluppa sulla base di un concetto tanto semplice quanto per certi aspetti condivisibile: di chi si può avere maggiore fiducia?

  • Di 1 milione di persone delle quali non si conoscono le identità, che possono non essere propriamente competenti in materia e che usano sistemi altamente energivori? 
  • Oppure di un più esiguo gruppo di soggetti ritenuti autorevoli in materia, sui quali pendano regole di dimostrata concorrenza con effetti premianti e deterrenti, che sono pubblici agli occhi degli utenti e che conoscono l’un l’altro le identità di ciascuno di essi? 

Facciamo un esempio: la Proof of Work basa il proprio sistema tagliando alla radice il problema della fiducia. Il sistema così descritto è estremamente decentralizzato, basato su una competizione aperta tra miners. 

Costruendo un sistema “trustless”, l’utente prova tendenzialmente fiducia in esso, anche se, scavando in profondità, è possibile arrivare a sapere che la stragrande maggioranza di potere di calcolo è nelle mani di pochissime mining pools, cosa che non era certamente una volontà o un obiettivo del creatore della PoW di Bitcoin.

Un sistema estremamente decentralizzato sta tendendo alla centralizzazione poiché non è più economicamente sostenibile per essere usato dai minatori come in origine. In futuro potrebbero svilupparsi nuovi scenari, ma attualmente in pochi possono decidere computazionalmente su molti.

La PoA basa il proprio sistema non sul proteggersi inserendo milioni di sentinelle, bensì dando ad un centinaio di sentinelle tecnologie (armi) migliori per proteggere il “fortino”.

Queste sentinelle, stando alle regole della PoA, avranno un’identità riconoscibile, effetti premianti e deterrenti e dovranno sottostare a regole computazionali costruite per prevenire casi come simulazione d’identità o accordi tra validatori.

Ecco perché la PoA si descrive “più snello”, più scalabile, basato sul riconoscimento dell’ identità, quindi riconoscibile dalle entità nazionali o sovra nazionali, pienamente usufruibile persino da quest’ultimi, “compliant” con le regole che ogni cittadino – azienda – ente – Nazione –  segue giornalmente.