Democrazia Diretta Distribuita e governo algoritmico: The Cicada Project_ita

Ho principiato a tradurre in italiano questo whitepaper. ché mi pare affascinante. Non so se avrò mai il tempo di tradurre il resto (e comunque, anche se l’avessi, si tratta di termini perlopiù tecnico-informatici che mi risultano spesso oscvri e misteriosi). Ad ogni modo, lo condivido qui giusto per sapere se si tratta di utopie irrealizzabili o se invece vale la pena approfondire. Se avete dubbî di natura tecnica, vi consiglio di leggervi direttamente il paper in originale, ché tanto io non sarei capace di rispondere; qualora non trovaste risposta lì, sulla pagina di GitHub c’è anche la mail del tizî che hanno scritto questa roba (cicada@iamcicada.com). EDIT Il sito è http://iamcicada.com/ EDIT 2 Intanto ho tradotto per intero il riassunto di 2 paginette, qua sotto ci sta il pdf Cicada in breve.pdf (67.5 KB)

Abstract

Questo documento illustra una rivoluzionaria Piattaforma Decentralizzata APplicativa (DAPP), insieme con la sua prima e principale applicazione, cioè una Democrazia Diretta Distribuita (DDD). Per creare qualcosa di sufficientemente scalabile per “far girare” (originale: to run) un’intera nazione senza rappresentati, creiamo due tecnologie che rappresentano le fondamenta della piattaforma:

  1. Un Identificativo Unico Umano (HUID) decentralizzato e rispettoso della privacy, unico per ogni persona sulla terra, che restituisce agli individui il controllo delle informazioni personali identificative (PII), permettendo il controllo degli accessi a tali dati basato su regole revocabili.

  2. Una nuova blockchain sostenuta dalla Distributed Proof of Work (DpoW), che è immune alla centralizzazione perché ogni persona può essere un solo miner, collegato in modo anonimo all’HUID. I miners sono estratti a sorte in built-in pools, cioè ognuno contribuisce ma nessuno domina. Questo sistema fornisce un efficace Reddito di base universale (UBI): ad esempio, paga gli utenti per partecipare, dal momento che ognuno è tenuto (?) (orig: drafted) a rendere sicura la rete. È incredibilmente efficiente dal punto di vista energetico, perché non mina tutto il tempo, ed è efficiente anche dal punto di vista della memoria, perché usa una Distributed Hash Table (DHT) delle transazioni storiche della blockchain, permettendo così di girare anche su uno smartphone.

Motivazione

Una vera democrazia diretta (DD) permette un governo senza rappresentanti. Si tratta di un concetto così innovativo che l’espressione stessa “senza rappresentanti” non esiste ancora. Ce la siamo dovuti inventare. Potete pensare alla DD digitale come a un vero governo algoritmico. Possiede il potenziale di liberare le persone, essendo al tempo stesso una naturale evoluzione degli attuali sistemi di governo. Mentre le democrazie dirette sono state tentate, in passato, per scopi limitati (come ad esempio nell’antica Atene e nella Roma pre-Repubblicana [falso]), non c’era praticamente alcun modo per assicurarsi che un sistema del genere potesse funzionare con una tecnologia puramente analogica. Una DD richiede assolutamente la comunicazione di massa e la digitalizzazione, e quasi certamente l’Intelligenza Artificiale. Due sono state le nostre fonti di ispirazione. La prima è The Jasmine wars, di Daniel Jeffries, una saga fantascientifica e militare in cui la Cina diventa la prima democrazia diretta del mondo, governata da una piattaforma DAPP di intelligenza artificiale altamente evoluta, chiamata appunto Cicada. Questo ha portato Jeffries a chiedersi che cosa esattamente ci sarebbe voluto per creare una tale piattaforma, e se la tecnologia per farlo fosse disponibile. Quando concepì l’idea venti anni fa, la risposta era decisamente “No”, ma la società è ora nella fase in cui si può almeno cominciare a creare questa tecnologia, anche se alcuni dei pezzi necessari sono ancora in evoluzione.

La seconda fonte di ispirazione è stata la Primavera Araba. Iniziata in Tunisia nel dicembre 2010, l’onda rivoluzionaria ha investito il mondo arabo, portando le persone a ribellarsi e riuscire finalmente a sbarazzarsi di generazioni di regimi brutali e oppressivi. Dopo i primi giorni impetuosi e pieni di speranza, tuttavia, i risultati sono stati tristemente prevedibili: la Tunisia rimane instabile, e, al momento della scrittura di questo documento, incapace di darsi una Costituzione. Gli egiziani hanno sostituito una dittatura militare con un’altra. La Siria è sprofondata in una brutale e orripilante guerra civile che ha portato alla nascita dell’ISIS, creando al contempo una crisi di rifugiati che minaccia di lacerare il mondo civilizzato.

In altre parole, le persone stanno peggio di quando hanno iniziato la rivoluzione.

E questo risultato è, tristemente, la regola nella storia umana. Anche quando le persone riescono a destituire in modo pacifico una dittatura, a parte poche, pochissime eccezioni, finiscono col giungere ad un’altra. La Cina comunista è un altro perfetto esempio. I cinesi si sono sollevati e hanno rimpiazzato cinquemila anni di regole dinastiche con un’altra dinastia, solo con un nome diverso: la Repubblica Popolare della Cina, una “dittatura del popolo” che è essenzialmente solo un’evoluzione in piccolo del loro sistema dinastico. Questo problema di rimpiazzare un brutto governo con un altro deriva da vari problemi organizzativi e sistemici. Dopo a rivoluzione egiziana, le uniche persone sufficientemente preparate e organizzate per raccogliere voti erano i Fratelli Mussulmani, che avevano passato gli anni precedenti a organizzarsi “sottoterra” (clandestinamente). I partiti più liberali e secolarizzati sono stati costretti a coalizzarsi per far sentire la propria voce. E ciò ha portato i Fratelli Mussulmani a vincere le elezioni con una maggioranza relativa, nonostante la loro relativa impopolarità.

E una volta al potere, hanno cercato di creare una Costituzione piegata ai dettami della religione. Niente di cui stupirsi, dal momento che la loro principale convinzione è che la religione debba essere la suprema legge per la vita delle persone. Le visioni del mondo delle persone condizionano direttamente e limitano la loro abilità di creare soluzioni. Sfortunatamente, poiché la visione dei Fratelli Mussulmani non era condivisa da tutti nel sistema e hanno fallito nel tenere in considerazione e dar voce a punti di vista diversi -il che è il vero fondamento della democrazia- il loro collasso era inevitabile. Nel giro di un anno furono sopraffatti dall’unico altro gruppo organizzato: i militari.

Così, nel giro di 3 anni, l’Egitto è tornato esattamente al punto di partenza, sostituendo 40 anni di giunta militare con “poteri esecutivi di emergenza” con un’altra giunta militare, mascherata da democrazia.

Ora, una Democrazia Diretta Distribuita propriamente sviluppata, in grado di funzionare dal telefono o da un dispositivo IoT, ha il potenziale di rompere per sempre questo circolo vizioso. In questo Stato ideale, la Democrazia Diretta si auto-organizza, si auto “avvia” (self booting), auto-replica il sistema che fornisce, automatizza tutte le funzioni governative. È in grado di sostenersi da sola a tempo indeterminato, finché esistano sufficienti infrastrutture di comunicazione nel Paese, o almeno un numero sufficiente di dispositivi client in grado di alimentare la mesh network.

Creare una piattaforma del genere può richiedere 10 anni. Ciò richiederà una programmazione d’avanguardia, pensiero critico, e la volontà di risolvere una serie di problemi attualmente irrisolti. Ma i potenziali benefici sono vasti e molteplici, e la fatica varrà l’enorme sforzo tecnico richiesto per renderlo una realtà. Se c’è un obiettivo di questo progetto, sopra tutti gli altri, è questo:

La prossima volta che ci sarà una primavera araba, la gente sarà in grado di sostituire i loro capi con il codice.

Definizione di Democrazia Diretta Distribuita

Prima di addentrarci in dettagli tecnici, precisiamo cos’è una Democrazia Diretta Distribuita e perché è necessaria. Per cominciare, una DDD non è un’altra iniziativa di democrazia digitale focalizzata sull’aumentare o razionalizzare gli attuali sistemi di governo rappresentativi. Una DDD è un governo senza rappresentati, dove ogni idea è votata da ogni cittadino. Ciò, ovviamente, crea un gran numero di nuove sfide: come l’indirizzare la partecipazione al voto, come evitare che l’elettore si stanchi, e ha a che fare con l’imperfetta comprensione dell’elettore medio delle questioni fondamentali. C’è anche il problema di come impedire che il sistema venga inondato di proposte irrilevanti, impraticabili o false, un problema che flagella alcuni sistemi esistenti, ad esempio quello Californiano delle primarie o il sito web del Regno Unito per le petizioni. Un paragrafo di questo paper affronta molti di questi problemi attraverso il voto automatizzato, la “gameficazione” del voto e la possibilità di chiamare gruppi di esperti privati per creare rapidamente proposte “tracciate” (tracked) per materie complesse come l’economia, la tecnologia e le scienze, invece di affidarci a politici senza esperienza o con scarsa comprensione di queste discipline. Forniremo anche un sistema di filtraggio che limita drasticamente la quantità di proposte presentate all’intera nazione, assicurandoci che solo “la crema” raggiunga la vetta.

In breve, proponiamo di creare:

  • Un governo algoritmico
  • Un governo senza rappresentanti

Siamo inoltre concentrati sul creare qualcosa che sia interamente decentralizzato e senza server, né strozzature centrali. Alcuni progetti già esistenti -come DemocracyOS, Liquid Feedback e BitCongress, per quanto interessanti e innovativi, nonché -lo ammettiamo- molto più avanti di questo stesso progetto in certi aspetti, sono prima di tutto tentativi di fornire uno strumento per parlare facilmente con i rappresentanti eletti. Il problema è che questi rappresentanti non hanno alcun obbligo di preoccuparsi del feedback. E abbiamo già una robusta piattaforma per dibattere e studiare i problemi: si chiama Internet. I nostri rappresentanti non sono interessati al costante feedback da parte di coloro che rappresentano. Sono invece interessati alle proprie visioni e agende, il che spiega perché queste piattaforme hanno avuto finora applicazioni molto limitate -e verosimilmente le cose rimarranno così in futuro-. Un sistema rappresentativo è imperfetto perché i rappresentanti non devono veramente preoccuparsi di ciò che le persone pensano. Sono eletti come proxy, non come riflessioni dirette delle idee ed opinioni della gente. Sono lì per governare per noi. Se le loro visioni cominciano a divergere da quelle popolari, non c’è alcuna “patch” per questa imperfezione del sistema. Le persone sono tagliate fuori, condannate a guardare mentre i loro “rappresentanti” iniziano ad implementare politiche che lavorano contro di loro, senza possibilità di rallentare o stoppare la diapositiva. Mentre gli Stati Uniti rimangono ancora gli alfieri mondiali del successo della democrazia nel mondo, le posizioni politiche dei rappresentanti divergono significativamente dalla media dell’“uomo della strada”. L’ormai famoso studio Princeton, che ha analizzato 40 anni di legislazione, ha rilevato che se una proposta aveva il 100% di supporto da parte della popolazione, aveva soltanto il 30% di possibilità di essere approvata. Al tempo stesso, se una proposta aveva lo 0% di supporto popolare, essa aveva comunque il 30% di possibilità di passare. Queste sono divergenze intrinseche a un sistema rappresentativo. E quindi qualunque sistema che vuole fornire dei feedback non cambierà molto. Di contro, una Democrazia Diretta crea una potente struttura per votazioni continue, che riflettono la cangiante volontà dei cittadini, esattamente come desiderano. Mentre esistono certe sfide e debolezze da risolvere in questo tipo di sistema, crediamo che il sistema possa essere realizzato in modo tale da essere fortemente resistente alle distorsioni, al tempo stesso fornendo potenti “contrappesi” (checks & balances) a livello algoritmico, rendendolo meno prono alla sovversione quando i rappresentanti eletti decidono di erodere o ignorare i contrappesi costituzionali e legali al proprio potere, per vantaggi personali.

Introduzione tecnologica

Per rendere possibile un’idea così audace occorre ripensare dalle fondamenta le piattaforme DAPP. Posto che è possibile che Bitcoin ed Ethereum -i due maggiori contendenti al trono delle DAPP- saranno un giorno pronti a scalare le vette necessarie a far viaggiare un’intera nazione, quel giorno non è oggi. (…) [Spiega perché Bitcoin ed Ethereum non vanno bene] Abbiamo bisogno di un nuovo modo di pensare le DAPP, per creare la piattaforma che manderà avanti la prossima generazione di applicazioni autonome e decentralizzate, e ci darà l’Internet che ci meritiamo in primo luogo, anziché l sistema sempre più fragile, insicuro e controllato a livello centrale che abbiamo oggi. Molte tecnologie sono cruciali per costruire questo nuovo sistema, e ognuna di esse verrà approfondita.

  1. Un HUID (Human Unique Identifier) generato attraverso l’intersezione di crittografia e biometrica revocabile. Quest’ultima implementa la biometrica permettendo ai sistemi di revocare un token biometrico senza revocare la biometrica sottostante. E questo è ulteriormente implementato con crittografia addizionale. Utilizzando makers biometrici (inizialmente gli input di entrambi gli iridi) per creare una coppia di chiavi pubblica/privata, possiamo generare un unico identificativo per ogni persona sulla Terra. Questo ID non è controllato centralmente, il che elimina virtualmente tutti gli attacchi di Sybil, unitamente alla grande maggioranza dei problemi nelle reti P2P. L’HUID consente inoltre dei sub-ID per firme cieche o dimostrazioni a conoscenza zero, che permettono il controllo degli accessi basato sui ruoli alle informazioni personali identificabili (PII).

  2. Una rete peer-to-peer basata su una versione modificata del protocollo Kademilia. Usando uno speciale sub-ID monouso dell’HUID per generare i Nodi ID nel sistema, possiamo prevenire gli attacchi di Sybil e permettere un nuovo sistema di Proof of Work. Questo sub-ID, creato per questo specifico scopo, non ha accesso neanche ai numeri di base dell’HUID, e ciò assicura la “non-linkabilità” e l’inosservabilità. E ciò, a sua volta, fornisce quel tipo di capacità a cui siamo già abituati nelle nostre democrazie, come ad esempio il voto anonimo e il principio “una testa-un voto”.

  3. Linkando l’HUID al Nodo ID, possiamo creare una nuova e potente Distributed Proof of Work (DpoW), per assicurare la nostra blockchain. La chiave è eliminare la scissione (split) tra client e miner che attualmente esiste in tutti i sistemi di cripto-valute. Invece, unifichiamo client e miner, il che significa che ogni client è un miner e viceversa. Ogni persona può essere solo un miner. Per assicurare il sistema, i miners infilati a caso in dei mining pools “incorporati” (built-in) per competere gli uni contro gli altri. Ciò ha il piacevole beneficio di fornire a tutti un fattibile e pratico UBI, dal momento che ognuno è messo a lavorare per rendere sicura la rete. Comunque, dato che solo una frazione del network richiede in qualunque momento di assicurare il network stesso, rimane energia sufficiente per utilizzare il cellulare, dal momento che le operazioni che consumano la batteria non girano costantemente. Inoltre, questo sistema elimina alla radice la piaga del mining centralizzato in Bitcoin e alter cripto-valute, dove compagnie private costruiscono ASICs segretamente e non le rilasciano mai al pubblico, vendendo una forma di centralizzazione (banche sanzionate dal governo) per un’altra, più pericolosa (privata, irrintracciabile e ultra segreta tra corporations). Infine, rendiamo la piattaforma efficiente dal punto di vista della memoria, memorizzando solo le transazioni più recenti nel programma, ad esempio quelle degli ultimi mesi, e poi (to shard up=???) lo storico della blockchain tramite una Distributed Hash Table (DHT), che viene distribuita a tutti i miner/client che partecipano, così che possa adattarsi anche ai dispositivi meno potenti. Delineeremo anche altre specifiche tecnologie per il funzionamento della DDD, nonché della sottostante piattaforma DAPP. Ma prima di addentrarci in dettaglio in ciascuno di questi fondamentali blocchi, diamo una rapida occhiata alla filosofia dietro queste idee, per capire perché esse sono importanti e necessarie.

Filosofia del progetto

La nostra filosofia è semplice: c’è sempre una soluzione. (…) [Questo lo traduco in futuro]

Architettura

In questo paragrafo presentiamo l’architettura ad alto livello del sistema. Per prima cosa, le componenti primarie della DDD:

Parti chiave del sistema:

  • Human Unique Identifier (HUID) -Controllabile dall’utente -Non immagazzinato in un database centrale di nessun tipo -Altamente resistente alla coercizione e alla corruzione -Praticamente impossibile da duplicare o rubare

  • ID delle organizzazioni

  • RBAC (Role-Based Access Control) di organizzazioni e persone

  • DNS decentralizzati, come quello di Blockstack

  • Piattaforma di voto verificabile end-to-end

  • Gruppi

  • Protocolli di routing -Basati su Kademilia, l’hash table distribuito per le reti P2P °Si basa sull’HUID per prevenire gli attacchi di Sybil e usa un algoritmo di fiducia appresa geneticamente (genetic learned trust algorithm) tra pari per il routing e il rating dei nodi e dei peer.

  • Un sistema di comunicazione P2P completamente criptato

  • Una piattaforma legislativa che include -Leggi basate su XML analizzabili -Un sistema di proposte e iniziative

  • Smart contracts

  • Un sistema di partecipazione e Group Entity Reputation

  • Un canale (bus) di messaggi decentralizzato

  • Un repository di codice distribuito

  • Distributed Proof of Work (DpoW)

  • Un sistema di intelligenza artificiale capace di auto-apprendere -L’Intelligenza artificiale sarà usata per: Casting di auto-voto [eh?] Arbitrati Descrizione semplificata delle votazioni Gamificazione migliorativa del voto Distribuzione del budget e analisi

Tecnologie criptografiche:

  • Dimostrazioni a conoscenza zero

  • Transazioni multi-firma

  • Firme cieche

  • Mix networks

  • Chiavi pubblico/private

  • Funzioni di hash monodirezionali, non invertite

Abstracts/Primitive del sistema

Prima di discutere ciascuna di queste componenti, una per una, diamo un’occhiata ad alcuni metapattern della piattaforma. I protocolli ideati per questo sistema potrebbero trovare applicazione in un vasto numero di altri tipi di sistema, non solo voto/governo. Per questo è meglio evidenziare questi protocolli in termini generali e riutilizzabili, in modo che possano funzionare come una piattaforma DAPP completa. Stiamo creando un metodo per definire le interazioni sociali a livello planetario. Le interazioni sociali sono collegamenti tra vari gruppi o tra individui. Potete pensare a questi gruppi come a sfere connesse da delle stringhe. Una società non è altro che una grande sfera che ingloba altre sfere più piccole, come gli Stati, le regioni, le città, le aziende, i club locali, i gruppi di volontariato, quelli di lettura, i fan di certi film, i circoli del cucito. Le interazioni tra questi gruppi non sono altro che una serie di protocolli sociali. Una società non è niente più che una serie di protocolli impliciti per come noi ci organizziamo, connettiamo, accordiamo e discordiamo. Le identità di vedute e le divergenze, le connessioni e le rescissioni di legami sono transazioni nel sistema dell’esperienza umana. Potete pensare a questo sistema come a una piattaforma per modellare le interazioni umane. Questo è ciò che intendiamo quando parliamo di “primitive di gruppi” [il termine “primitiva” va inteso in senso metaforico dal suo significato in informatica, vd. qui]. Mentre il progetto parte da un motore di democrazia diretta, la democrazia stessa è semplicemente un sottoinsieme di casi d’uso di queste primitive. Da notare che il “motore” della democrazia diretta è un particolare e unico caso d’uso, e in quanto tale avremo alcuni abstract disegnati specificamente per tali usi (per esempio gli action token e la non-linkabilità per prevenire il tracciamento del voto [vd. sotto, lo spiega]). Il sistema è anche completamente scalabile. Un gruppo locale di carità o un club privato potrebbero limitare la loro sfera di voto ai membri del gruppo. E ciò potrebbe permettere alla piattaforma di funzionare per tutto, da un hub di giocatori a uno Stato nazionale. Il sistema si basa su un sistema universale, aperto e totalmente decentralizzato di ID, che identificano in modo unico ogni umano sul pianeta, sono altamente resistenti al compromesso e alla coercizione e non sono controllati da nessuna singola azienda, gruppo o Governo. Nondimeno, queste aziende e i governi possono consumare il sistema degli ID per legare un individuo alla loro sfera o organizzazione. Comunque, l’ID potrebbe essere un unico sub-ID che semplicemente garantisce accesso limitato solo a un sottoinsieme di ciò che ogni singolo umano vuole che esse vedano. Per esempio, la Nielsen potrebbe volervi rendere membri del loro rating team, e potrebbero volere avere accesso a sottoinsiemi di dati che avete immagazzinato nel database PII o nell’Info Wallet (che sarà descritto in dettaglio dopo). Voi potreste generare un sub-ID crittograficamente linkato al vostro ID Primario, ma che da accesso a un piccolo sottoinsieme dei vostri interessi. Stiamo cercando di modellare ogni aspetto di come gli umani interagiscono e formano legami. Come si scambiano valore, fanno affari, partoriscono idee, creano le leggi, come le applicano, come si uniscono e lasciano gruppi, concordano, discordano?

2 Mi Piace

Grazie per il lavoro di traduzione. È certamente interessante. Il progetto è lungo e complesso e, se ben comprendo, riguarda un’Internet alternativa (DNS decentralizzati, protocolli, comunicazioni criptate… c’è un’architettura software alternativa), la possibilità di eliminare gran parte della burocrazia (contratti tra cittadini e aziende), possibilità di lavorare insieme per proposte di legge, votazioni, ecc.

Potrebbe essere un “grande cervello” collettivo indipendente dagli Stati, che pur non avendo potere esecutivo, almeno è in grado di mostrare coerenza, convergenza, dialogo interno, offrire posizioni e ha certo un potere, di fatto, maggiore, nonché un’autorevolezza maggiore, rispetto alla voce di un singolo cittadino o di un gruppo di cittadini.

Nuovo capitolo tradotto: quello sulla Distributed Proof of Work. Ho tradotto questo prima di molti altri che stanno prima nell’originale perché mi pare affronti un aspetto fondamentale: quello della sostenibilità ecologica.

Distributed Proof of Work

La creazione dell’HUID permette di costruire un nuovo tipo di PoW, chiamato Distributed Proof of Work, come accennato prima ed elaborato qui. Il consenso è un metodo per determinare un accordo tra vari nodi su quali transazioni sono conservate nella blockchain. Gli attuali metodi di consenso in uso oggi sono il Proof of Work (PoW) e il Proof of Stake (PoS). Anche se sono nati nuovi concetti semi-nuovi su come rendere sicura la blockchain e creare consenso, nessuno di essi è riuscito a distaccarsi da queste due metodologie primarie. Gli attuali sistemi di PoW hanno un problema grave: finiscono quasi inevitabilmente col diventare sistemi centralizzati. Man mano che il mining diventa sempre più competitivo, crea un fossato attorno ai players in trincea, rendendo ancor più difficile raggiungere il capitale necessario per competere contro di loro. È un qualcosa di simile alle multinazionali di oggi. Una volta che sei diventato la Coca Cola, è molto difficile per nuove imprese nasce e creare una bevanda competitiva in grado di spodestarti. E ciò ci riporta esattamente al punto in cui ci trovavamo con l’attuale sistema monetario e sociale, in cui pochi attori centrali controllano e manipolano il flusso di denaro e le idee in modo indefinito, portando infine a scontri e al 50% dei problemi. La risposta che questo progetto fornisce è un nuovo tipo di PoW, chiamato Distributed Proof of Work” (DpoW). Esso trae vantaggio dall’identificatore HUID/SIN per creare un nuovo tipo di relazione 1 a 1 tra client e nodo. Ogni nodo è al tempo stesso client e mining server. Nella maggior parte dei casi si tratterà del computer o del cellulare di una persona, stante l’attuale livello tecnologico, mentre nel futuro potranno essere altri dispositivi di computing come occhiali AR o vestiti “smart”. Nessuno è autorizzato a possedere più di un mining server. Esso è limitato dall’HUID primario, che mette al riparo dagli attacchi di Sybil in rete e crea parità di condizioni per tutti. I sub-ID non possono creare nuovi client/server. Questo criterio di 1 a 1 rende essenzialmente il protocco distribuito per sempre, senza che alcun pool di server o persone possa controllare la piattaforma. E ciò elimina in pratica il 50% del problema. In più, ha il beneficio aggiuntivo di creare un intrinseco Reddito di Base Universale (UBI) come ricompensa per la partecipazione stessa al sistema. Ma come funziona? In sostanza si basa sull’idea della hash table distribuita delle reti P2P Kademilia, rese popolari dai sistemi P2P di terza generazione come BitTorrent. Ogni clinet/server è assegnato a un NodeID immagazzinato nella blockchain ogni 10 minuti con un nuovo blocco, che chiameremo “block epoch”. Durante questi 10 minuti, le transazioni sono trasmesse alla rete e i miners le raccolgono nei Merkle Trees e quindi competono gli uni contro gli altri per risolvere il PoW, vincere e rilasciare nuovi coin e raccogliere tutte le “tasse” sulle transazioni dall’ultima block epoch. Nella DpoW, i nodi minatori sono eletti a caso all’inizio della block epoch per i successivi blocchi dal nodo Ids dell’hash table stile Kademilia. Ricevono un codice casuale a cui devono rispondere correttamente per testimoniare la loro esistenza in un determinato periodo di tempo. Per evitare una corsa (scramble) all’inizio di ogni block epoch, i nodi sono eletti in anticipo per un ammontare di blocchi non deciso in precedenza, ad esempio 6. Se i nodi sono offline e non rispondono, vengono selezionati altri nodi finché non si raggiunge una percentuale X del network. Un pool di nodi di backup viene designato appena si prevede che i nodi vadano offline durante il processo e diminuiscano i loro pool. Ciò permetterà che nuove entità vengano scambiate secondo le esigenze. I nodi sono poi raggruppati in gruppi di mining casuali, simili alla versione incorporata dei mining pool dei minatori privati di Bitcoin. La PoW è poi distribuita a vari nodi-testa, selezionati in modo ugualmente casuale, per essere assegnati ai loro mining pool. I nodi testa che distribuiscono frammenti casuali di PoW e li raccolgono per vincere i coin sono raggruppati in modo casuale, e viene dato loro un checksum per comprovare il fatto che un altro nodo non stia barando. Tutti controllano il lavoro degli altri, cosicché nessun nodo può semplicemente imbrogliare gli altri. I differenti mining pool eletti competono gli uni contro gli altri per vincere i coin e le tasse sulle transazioni, qualunque sia il sistema monetario incorporato nella piattaforma, cioè sia eso Ether, Bitcoin o qualche valuta 3.0 creata specificamente per questa piattaforma. Quando i miners sono chiamati alla rete, vengono verificati con le pratiche standard di computazione verificabile, come ad esempio i binaries match hashes nel software Blockchain, es. il tempo è corretto etc., come spiegato nella sezione Trusting Computer di questo documento, più avanti. Ciò previene o riduce i nodi affetti da malware e altri attacchi maligni nel network.

La ragione per usare mining pool casuali anziché far girare la DpoW su tutti i nodi tutte le volte è quella di risparmiare elettricità e batteria dei dispositivi come gli smartphone, fino a che degli ASIC dedicati non diventeranno popolari (cioè economici, n.d.t.) e massivamente distribuiti. L’operazione di mining è intrinsecamente energivora dal punto di vista dell’hardware e dell’elettricità, quindi distribuire i compiti di mining in maniera casuale sulla rete rende il tutto economicamente ed energeticamente fattibile, preservando al tempo stesso la user experience. Il mining pool vincitore raccoglie i coin e le tasse sulle transazioni, dopodiché i mining server diventano nuovamente inattivi, continuando ad esistere come semplici client, fino al momento in cui non vengono nuovamente chiamati a partecipare. Questo permette ad ogni persona che partecipa alla rete di ottenere un UBI per il semplice fatto di partecipare, dal momento che ogni nodo verrà infine chiamato a fare la sua parte per rendere sicuro il sistema, rendendo il Reddito di Base reale e fattibile subito; una cosa virtualmente impossibile con gli attuali sistemi, a causa dei livelli di tassazione e di reddito ineguali, per non parlare dell’attuale incapacità dei governi di concordare su pressoché qualunque cosa abbia una qualche importanza. Nel momento in cui più client e server si uniscono al network, il consenso diventa ancor più sicuro e al tempo stesso più distribuito/egualitario, a differenza di quanto avviene oggi con i sistemi di PoW che ci lasciano dei miners che diventano tanto più potenti e centralizzati quanto più il sistema si sviluppa. Vale anche la pena considerare un sistema di reputazione per i miners, che permetta di richiamare più regolarmente i miners più affidabili. Comunque, un sistema del genere dev’essere soppesato con attenzione, in modo da non permettere che gli stessi miners dirigano tutto il traffico in modo permanente. La fiducia dovrebbe essere definita in modo algoritmico, per esempio basandosi su quanto il nodo ha risposto a tutte le richieste nel corso del tempo, o se ha mai “malformato” i pacchetti o se usa software obsoleto, se i suoi binari sono stati mai alterati da hash standard, la velocità del nodo etc. L’idea è spiegata in dettaglio nel paragrafo “Networking”. I nodi dovrebbero avere meno probabilità di ricevere richieste se presentano qualche problema o un basso rating, e potrebbero perfino essere messi in una lista nera se alcuni di questi problemi si sono ripetuti nel tempo (software compromesso, binari alterati etc.). Infine: le blockchain possono ingrandirsi molto, quindi come può un piccolo client -come un cellulare- immagazzinare l’intera blockchain? La risposta è semplice: nessuno ha necessità di farlo. Invece, i client necessitano solo di un piccolo sottoinsieme delle transazioni più recenti, mentre il resto della blockchain è conservato e replicato a pezzi su tutti i client, cosicché ogni client è responsabile di conservare solo una porzione della blockchain storica. Se un nodo si ritira o va offline, un frammento può essere replicato temporaneamente da un nodo esistente, per mantenere un’appropriata percentuale della catena ed evitare così di perdere un pezzo di essa. Poiché gli altri nodi contengono istanze ridondanti di quel particolare frammento, tutte le istanze dovrebbero essere distrutte per distruggere quella parte della blockchain, il che rende il protocollo efficiente a livello di spazio occupato e in grado di girare su un dispositivo mobile. In più, delle blockchain possono essere fatti dei backup da chiunque o da qualunque compagnia di backup, per mantenere il sistema al sicuro in caso di disastro totale, e permettere il ripristino successivamente, al tempo stesso fornendo le prove della loro completezza. Le ricerche potrebbero usare un DHT per trovare quali nodi al momento ospitano la necessaria parte della blockchain; in caso di una vecchia transazione che necessita di essere verificata, più client verrebbero controllati per assicurare accuratezza. Quindi la Distributed Proof of Work fornisce, in una singola piattaforma:

  • Un sistema egualitario altamente resistente, se non proprio completamente immune, alla centralizzazione
  • Un Reddito di Base Universale come sottoprodotto
  • Un alto livello di sicurezza
  • Un consesso dinamico che incoraggia la partecipazione di tutti nel sistema
  • Efficienza energetica
  • L’eliminazione della necessità di sviluppare i dispositivi ASIC, e le conseguenti gare a chi sviluppa l’ASIC più potente nelle attuali piattaforme di criptovalute