XRP e il protocollo di Consenso

Sistema alternativo al PoW basato sul consenso tra i membri del network. Punta ad eliminare il pericolo di un attacco del 51%, insieme al concetto di mining.

Immaginiamo di trovarci con un gruppo di una decina di amici… è quasi ora di cena e si decide di andare a mangiare qualcosa tutti assieme.
Improvvisamente un componente del gruppo propone: “pizza?”.
La prima proposta è stata lanciata, ora un altro amico ha un’altra idea: “no trattoria!”… “perché non del sushi?” ribatte un altro!

A questo punto ogni componente del gruppo elabora le proposte. Proviamo ad immaginarci la scelta come una serie di veloci “round”, tenendo conto che queste due regole devono essere rispettate:
1) Ci deve essere il consenso di almeno l’80% dei partecipanti
2) L’obiettivo finale è di mangiare tutti assieme, d’altronde siamo amici!

Round 1
5 pizza
3 trattoria
2 sushi

Dopo il primo round chi ha votato sushi ha capito di essere in netta minoranza, di conseguenza sa che dovrà cambiare idea.
Anche chi ha votato trattoria è in minoranza, ma sapendo che chi ha votato sushi sicuramente cambierà idea, non ha intenzione di “mollare” subito: questi ultimi due infatti possono bilanciare il risultato.

Round 2
6 pizza
4 trattoria

A questo punto il risultato è già delineato, ma non è stato ancora rispettata le regola 1)
Ecco quindi che almeno due che hanno votato trattoria sicuramente voteranno pizza per rispettare anche la regola 2):

Round 3
9 pizza
1 trattoria

La decisione è tratta: anche l’ultimo si dovrà adeguare, e lo farà senza ribattere.
Notiamo inoltre che, durate questo processo, nessuno dei votanti ha avuto più potere di altri.
La decisione è stata presa da tutte le persone coinvolte contemporaneamente, facendo in modo di rispettare sempre e comunque le prime due regole (anche cambiando idea se necessario).

Ecco, a grandi linee, abbiamo illustrato come funziona il protocollo di consenso sulla blockchain XRP!
Continuiamo dettagliando un po’ le cose.

Come funziona il protocollo di consenso

Come abbiamo detto poco fa, il consenso non fa uso di algoritmi di tipo PoW.
Infatti il mining in senso stretto non è necessario, in quanto tutti i token XRP sono stati creati fin dall’inizio.
Questo significa che non esiste un “premio” per chi partecipa alla validazione delle transazioni.

A questo punto la domanda sorge spontanea: ma se non ho incentivo economico a partecipare perché dovrei farlo?
La risposta è semplice: per il bene della rete stessa!

E per quanto questa motivazione possa sembrare “utopica”, in realtà è una delle motivazioni più forti che possono portare alla costruzione di una rete stabile.
Chi partecipa infatti è convinto delle potenzialità di XRP, di conseguenza sa che se anche il validator ha un costo, la rete XRP porta benefici ben più grandi.

Inoltre chi sviluppa o ha intenzione di creare progetti sulla rete XRP, è incentivato comunque ad attivare un validator, perché è nel suo interesse che la rete rimanga il più possibile decentralizzata.

Un miner bitcoin invece, appena vedrà che la promessa di guadagno svanisce, tenderà a lasciare il network. (cosa che sta già accadendo, accentrando di fatto la potenza di calcolo in pochi mining-pools, vedi Bitmain).
Ovviamente non è una regola generale, ma c’è comunque la tendenza nel mondo bitcoin a partecipare “perché si guadagna” invece del “perché si fa del bene al network”, e questa mentalità sul lungo termine potrebbe diventare la debolezza del network stesso.

Non aiuta ovviamente lo spropositato consumo energetico necessario ad una rete proof of work per funzionare, quando invece un server validator XRP consuma pochissime risorse, dato che non deve risolvere nessun problema matematico complesso.
Una qualsiasi azienda/ente al giorno d’oggi può gestire un server validator senza particolari costi (basta una macchina virtuale basata su Linux)

Riprendendo l’analogia con i nostri affamati amici: un server validator non deve far altro che “alzare la mano” quando vedrà passare una transazione proposta. Questa transazione verrà inserita nella lista delle transazioni in attesa di validazione.
Questa lista viene scambiata di continuo tra tutti i nodi della rete, finché non scade il tempo del round.

A questo punto il “round di proposte” viene chiuso e si apre il “round di validazione“, dove in sostanza ogni nodo crea un hash della sua lista di transizioni e la confronta con quella degli altri.
Solo le transazioni che sono state accettate da almeno l’80% dei nodi sono validate ed eseguite, quelle rimanenti vengono inserite nelle proposte del round successivo, assieme ovviamente alle nuove proposte che nel frattempo sono “nate”.
E il ciclo ricomincia.
Per dettagli più tecnici, qui trovate tutte le info.

A differenza di Bitcoin quindi, non esiste un nodo che “vince la soluzione” e che improvvisamente diventa proprietario di un blocco.
Le transazioni sono decise da tutti i nodi in contemporanea, e nessuno di questi ha più potere di altri durante il processo di validazione e ordinamento.

Inoltre la natura stessa del consenso (ovvero il funzionamento basato su round), rende la blockchain XRP molto deterministica.
Mentre una transazione Bitcoin può richiedere dai 10 minuti fino a diverse ore per essere completata, una transazione XRP valida richiede massimo 5 secondi (nella peggiore delle ipotesi), con fee estremamente basse.
La fee minima applicata ad una transazione infatti è di 0,000012 XRP, e non viene influenzata dalla quantità di XRP che deve essere trasferita.
Ci sono transazioni di diversi milioni di XRP, che hanno come fee 0,000012.
Qui un esempio sul sito xrpcharts.

Altro vantaggio la capacità del network: più di 1500 transazioni al secondo reali (non promesse), che staccano di gran lunga le performance di quasi tutte le blockchain disponibili oggi.

Continueremo in uno dei prossimi articoli, dove spiegherò come mai il consenso è necessario, e non opzionale, per consentire alla blockchain XRP di essere il più grande exchange decentralizzato del mondo!

Matteo Granuzzo

System Integrator, installo e configuro server dalla mattina alla sera! Appassionato di blockchain e particolarmente di XRP

Condividi l'articolo con:

Matteo Granuzzo

System Integrator, installo e configuro server dalla mattina alla sera! Appassionato di blockchain e particolarmente di XRP

Matteo Granuzzo