Il decentramento è uno dei concetti fondamentali più discussi nell’ambito delle valute virtuali, ma anche uno dei meno chiari.

Girovagando per la rete su siti autorevoli si trovano varie definizioni che usano il grafico qui sotto:

Il problema è che nessuno sembra riuscire a mettersi d’accordo su cosa è una rete distribuita e cosa è una rete decentrata.

Definiamo quindi tre tipi di decentramento:

  • Decentramento Logico: prende in considerazione l’interfaccia e le strutture dati utlizzate. Detto in modo pratico, se si taglia il sistema a metà, entrambe le sezioni riusciranno ad operare in modo indipendente?
  • Decentramento Politico: prende considerazione di quanti individui o computer controllano la rete.
  • Architettura Decentrata: prende in considerazione quanti computer compongono la rete.

Rappresentando queste tre dimensioni in un grafico abbiamo:

Tralasciando il fatto che la classificazione può essere oggetto di dibattito andiamo a vedere nel dettaglio gli elementi che abbiamo elencato:

  • Le multinazionali sono politicamente centralizzate (hanno un solo AD), architetturalmente centralizzate (hanno un ufficio centrale) e sono logicamente centralizzate (sono formate da parti indivisibili).
  • La legge civile si basa su un organismo centrale che legifera, al contrario in sistemi come quello Inglese (Common Law) la legge si basa su precedenti decisioni di tanti singoli giudici. Essendoci tanti tribunali la legge civile ha un po’ di decentramento architetturale. La Common Law ne ha nettamente di più. Entrambe però sono logicamente centralizzate: non si possono intuire partendo da dei concetti di base.
  • Le lingue sono logicamente decentrate: l’italiano parlato da un milanese e quello parlato da un sardo non devono andare d’accordo. Non c’è un’autorità centrale che stabilisce delle regole rigide su come dobbiamo comunicare. Nessun individuo controlla la grammatica italiana. O meglio ci sarebbe l’accademia della Crusca, ma è semplicemente un organismo che si adatta all’italiano reale, che si evolve dinamicamente e incrementalmente senza avere un’autorità centrale.
  • eMule e i Torrent sono logicamente decentrati. Le CDN sono simili, ma sono controllate da singole compagnie private.
  • Le Blockchain sono politicamente decentrate (nessuno le controlla) e architetturalmente decentrate(non c’è un nervo centrale vulnerabile), ma sono logicamente centralizzate (c’è uno stato attuale condiviso da tutti i peer e il sistema si comporta come un singolo computer).

Molte volte quando si parla delle virtù della blockchain si descrive quanto è conveniente avere “un database centrale”; questo tipo di accentramento è logico e in molti casi è qualcosa di buono. Anche se alcuni come gli sviluppatori di IPFS spingerebbero per decentralizzazione dovunque possibile perchè sistemi logicamente decentrati tendono a funzionare bene in regioni del mondo con scarsa connettività.

Centralizzare l’architettura può portare alla centralizzazione politica, anche se non necessariamente.

Una democrazia formale è un sistema in cui dei politici si incontrano in un parlamento, votano e prendono delle decisioni. I burocrati che si prendono cura del parlamento, però non ottengono nessun potere decisionale nel farlo.
In sistemi informatici decentramento architetturale, ma non politico può avvenire se c’è una comunità che usa un forum centralizzato per convenienza, ma c’è un patto sociale che prevede che se i proprietari del forum si comportano in modo malevolo tutti gli utenti si sposteranno da un’altra parte.

La decentralizzazione logica rende il decentramento dell’architettura più complicato, ma non impossibile. Reti che si basano sul consenso decentrato funzionano, ma sono più difficili da mantenere. Inoltre il decentramento logico rende l’accentramento del potere politico più difficile. Il problema è che in questi sistemi è difficile risolvere conflitti fra individui. Non si può “vivere e lasciar vivere”.

Tre punti a favore del decentramento

Cosa rende il decentramento utile? Questi sono i principali punti a favore:

  • Tolleranza agli errori – sistemi decentrati si basano su tanti componenti distribuiti sulla rete, per cui è difficile che si abbia un crash contemporaneo di tutta la rete.
  • Resistenza agli attacchi – I sistemi decentralizzati sono difficili da attaccare e distruggere o manipolare perchè non hanno dei nervi centrali che possono essere attaccati ad un costo relativamente basso.
  • Resistenza alle Collusioni – è molto difficile che i partecipanti di un sistema decentrato colludano e agiscano in modi che li favoriscano personalmente alle spese della collettività. D’altro canto le leadership di governi e corporation colludono regolarmente per trarre benefici personali alle spese di cittadini, clienti e dipendenti.

Ognuna di queste affermazioni porta a conclusioni diverse quando si inizia a pensare a decisoni di protocollo. Il primo punto è abbastanza ovvio come risolverlo per cui prendiamo gli ultimi due individualmente.

Resistenza agli attacchi

Guardando questo problema da un punto di vista economico, il decentramento non è poi così necessario.

Immaginiamo di creare un protocollo in cui i validatori perdono 100 milioni di euro se avviene un attacco 51%, allora non importa un granchè se i validatori sono una singola azienda o mille.

Perdere 100 milioni di euro è un’ottima clausola di sicurezza.

Analizzando il problema usando la teoria dei giochi si arriva la conclusione ci porta alla soluzione che la centralizzazione aumenta l’efficacia di questo sistema di sicurezza.

Detto questo di fronte a serie minacce di morte 100 milioni di euro non saranno più così importanti.

Ma se questi 100 milioni sono spalmati fra 10 persone si dovrebbero minacciare contemporaneamente 10 persone.

In generale nel mondo moderno la difesa e l’attacco sono asimmetriche. Se per costruire un edificio ci vogliono 10 milioni di euro, per abbatterlo bastano 100.000 euro. Addestrare e attrezzare un soldato per missioni di guerra costa qualche milione di euro, ad un talebano che fa guerriglia basta un AK-47 da 500$. Detto questo un edificio che costa un milione di dollari da costruire realisticamente potrebbe costare 30.000$ da demolire. Generalmente più si va nel piccolo, più migliorano le proporzioni.

A cosa ci porta un ragionamento di questo tipo?

Innanzi tutto verso una soluzione basata su proof of stake e non su proof of work. Visto che dei computer sono facilmente individuabili, regolabili commercialmente e attaccabili. D’altro canto dei token virtuali sono facili da nascondere.

In secondo luogo è un punto a favore di decentramento geografico e di team di sviluppo.

Terzo, implica che entrambi i modelli economici e la resistenza agli errori devono essere considerati nel progettare protocolli di consenso.

Resistenza alle collusioni

Questo è l’argomento più intricato. In primis perchè è difficile definire esattamente cosa si intende per collusione.

Dire che una collusione è una “coordinazione fra individui che non ci piace” non è una definizione soddisfacente.

Ci sono molte situazioni in cui avere coordinazione potrebbe sembrare ideale. Quando però un sottogruppo riesce a coordinarsi mentre gli altri no la situazione diventa potenzialmente pericolosa.

Un esempio di intervento volto a evitare problemi di questo tipo potrebbe essere una legge antitrust, che non permette ai player più grossi di accordarsi, formare cartelli e arricchirsi alle spese del mercato e delle persone. Una regola simile è quella che non permette a due giocatori di scacchi di giocare troppe volte l’uno contro l’altro per cercare di aumentare il punteggio ELO di un giocatore. Nella società in generale troviamo montagne di esempi di regole volte a prevenire coordinazioni indesiderate.

Nel mondo delle cryptovalute, i ragionamenti economici e matematici sono fatti partendo dal presupposto che ci sono molti piccoli player che contribuiscono alle decisioni.

Se un agente riesce ad accentrarsi più di un terzo della potenza di mining in un sistema, può arricchirsi immensamente facendo selfish mining. Comunque, possiamo davvero affermare che un modello non coordinato possa funzionare quando il 90% della potenza di hashing dei Bitcoin è abbastanza coordinato da potersi trovare insieme alla stessa conferenza?

L’intero scopo di questi sistemi è quello di comportarsi in modo neutrale, senza interessarsi agli interessi dei singoli player. Quindi possiamo benissimo dire che per le blockchain sarebbe ideale se i miner non fossero coordinati.

Detto questo ci troviamo davanti ad un paradosso. Quando si analizzano dei progetti si guarda sempre quanto le comunità siano forti e in grado di coordinarsi velocemente nel sviluppare e implementare soluzioni a problemi.

La domanda quindi è: “come si incoraggia un coordinamento costruttivo, scoraggiando comportamenti di collusione?”.

Alcune possibili soluzioni possono essere:

  • Non preoccuparsi e lasciar fare; impegnandosi però a costruire protocolli che impediscano collusioni.
  • Cercare di trovare una via di mezzo in cui il protocollo ha abbastanza libertà per crescere, ma non abbastanza per autorizzare attacchi.
  • Cercare di distinguere coordinazioni benigne da quelle malevole.

Il primo punto è quello più facile da implementare. Il secondo è difficile da formalizzare, ma può accadere per caso. Per esempio: nel mondo reale abbiamo trovato questo tipo di equilibrio con i Bitcoin, dove gli sviluppatori generalmente comunicano in inglese, mentre i miner parlano cinese, questo genera un sistema di governo quasi bicamerale, dato che è difficile che due gruppi così culturalmente diversi si mettano in accordo.

Il terzo punto invece è difficile da definire, è un problema più sociale che qualcosa di razionalmente definibile.

Concludendo è il terzo tipo di decentramento, ovvero quello volto ad evitare coordinazioni malevole quello più difficile da implementare. Probabilmente la soluzione migliore sarebbe quella di affidarsi a tutti gli utenti del sistema, che come gruppo hanno interesse nel portare avanti e sviluppare la rete senza favorire nessuno in particolare.