logo academy

Come funziona la rete peer-to-peer di una blockchain?

25 maggio, 2020

7 min

Come funziona la rete peer-to-peer di una blockchain?
Principiante

Un sistema peer-to-peer consente di trasferire valore tra due utenti eliminando la necessità di un intermediario. Questo è il caso della blockchain, i cui nodi registrano le transazioni sulla rete della blockchain controllandosi a vicenda.

Eliminare l’intermediario

Quello della blockchain è un lavoro di aggiornamento collettivo. La blockchain è un sistema decentralizzato, ciò significa che chiunque può scegliere di partecipare alla rete validando le transazioni insieme ad altri partecipanti con pari responsabilità. 

In una situazione normale, quando paghiamo qualcuno con un bonifico bancario, la banca fa da intermediario. 

Significa che:

  • fornisce l’infrastruttura su cui inviare il pagamento
  • garantisce la sicurezza delle nostre operazioni
  • si occupa di verificare la corretta esecuzione delle transazioni
  • Aggiorna il proprio database che memorizza tutte le transazioni
  • …e in cambio di tutto questo richiede delle commissioni (e la burocrazia di aprire un conto corrente).

Sulla blockchain avviene la stessa cosa, con una fondamentale eccezione: il singolo operatore viene sostituito da migliaia di operatori. A fare il lavoro necessario però non sono direttamente le persone, ma computer e dispositivi di privati o aziende. Qualsiasi dispositivo che si connette all’interfaccia di una blockchain è detto nodo. Dal momento che chiunque può aprire un nodo, in alcuni casi anche con un portatile, questi possono trovarsi in qualsiasi parte del mondo. 

In generale, i nodi sono tutti quei dispositivi che memorizzano la cronologia di transazioni della blockchain. Ogni nodo contiene un record completo di tutte le transazioni che sono state registrate in quella blockchain, ovvero una copia aggiornata del registro contabile o libro mastro.

I nodi possono decidere anche di diventare validatori, o nel caso di Bitcoin, miner

Un validatore o miner è un tipo di nodo che oltre a memorizzare una copia della blockchain, si occupa anche di controllare le transazioni trasmesse alla blockchain e di registrarle sulla blockchain.

I validatori di una rete si assicurano che le regole del protocollo vengano seguite e che tutte le transazioni avvengano correttamente.

Dal momento che non c’è un’autorità centrale che dica ai nodi cosa fare o che controlli il loro operato (come una banca fa con il suo operatore), essi devono poter concordare sul loro lavoro. Inoltre, deve esserci un meccanismo che spinga i nodi ad agire per l’interesse comune e non verso interessi egoistici. Questo meccanismo è l’algoritmo di consenso. L’algoritmo di consenso è scritto nel protocollo. Un protocollo è un insieme di regole che definiscono le modalità di dialogo tra due o più entità.

Ad esempio, il protocollo HTTP permette il dialogo tra client e server. Nel caso più comune, l’HTTP permette a un browser web di connettersi al server che ospita un certo sito e di mostrare così questo sito web sull’interfaccia del computer o smartphone.

Allo stesso modo, il protocollo di una blockchain regola il rapporto tra i nodi della rete e come questi raggiungono il consenso.

Che cosa sono gli algoritmi di consenso?

Gli algoritmi di consenso sono così chiamati perché permettono ai validatori del network di raggiungere il consenso sulla validità o meno di una transazione e sull’aggiunta di nuovi blocchi. L’interazione tra i validatori si basa sul rispetto e l’adempimento di regole scritte nel protocollo sotto forma di codice. Ogni interazione o configurazione che esula da queste regole è esclusa a priori, quindi non si può verificare. Per questo si dice che sulla blockchain il codice è la legge.

Se ad esempio consideriamo la blockchain di Bitcoin, il protocollo Bitcoin è l’insieme di regole che definisce la struttura stessa della blockchain e il suo intero funzionamento: dal modo in cui vengono richieste e registrate le transazioni e le funzioni crittografiche usate, a come funzionano le commissioni e i wallet, fino a comprendere l’algoritmo di consenso.

Ogni protocollo ha il suo algoritmo di consenso. Bitcoin ad esempio raggiunge il consenso sulle transazioni secondo il Proof-of-Work

Il consenso decentralizzato e l’immutabilità delle transazioni rendono la blockchain sia esente da errori che immune da manipolazioni, aumentando quindi non solo la sicurezza della rete rispetto ai classici database, ma anche l’affidabilità delle informazioni registrate. 

Infine, per quanto tutte le transazioni registrate siano consultabili, la blockchain non richiede agli utenti di registrarsi e non prevede un controllo preventivo dei medesimi, offrendo quindi un alto livello di anonimato.

Come avviene una transazione su Blockchain? 

Esistono modelli diversi per raggiungere il consenso. A prescindere dalle specificità tecniche che distinguono le varie blockchain, il meccanismo di validazione e consenso consiste fondamentalmente nella seguente procedura: 

  • i nodi validatori vengono informati in tempo reale di una transazione
  • I validatori concordano sulla validità della transazione
  • un validatore selezionato conferma e registra la transazione e/o il blocco

Nel caso specifico delle criptovalute, quando vengono inviate da un wallet (portafoglio digitale) a un altro wallet avvengono quelle che possiamo chiamare 4 fasi: 

  1. Richiesta. La richiesta di trasferire n criptovalute dal wallet A al wallet B viene trasmessa sulla rete di nodi. 
  2. Verifica. I nodi vedono la transazione. Alcuni tipi particolari di nodi – i miner o i validatori – verificano la validità della transazione e raggiungono il consenso sulla validità. 
  3. Registrazione. Se ritenuta valida, la transazione viene registrata in un blocco della blockchain in modo irreversibile e immutabile. 
  4. Aggiornamento. I nodi aggiornano le loro copie della blockchain. Ora tutti i nodi sanno che il wallet A non può più inviare quelle specifiche criptovalute di nuovo al wallet B o a un altro wallet (una cosiddetta doppia spesa) perché le ha già trasferite e non gli appartengono più.

Riassunto dei concetti

  • Un nodo è qualsiasi dispositivo connesso a una blockchain che ne detenga una copia aggiornata
  • Un protocollo blockchain definisce il modo in cui il sistema deve funzionare, è l’insieme di regole che permette ai nodi di scambiarsi informazioni e convalidare blocchi.
  • Un algoritmo di consenso è il meccanismo attraverso il quale queste regole vengono fatte rispettare, permettendo ai nodi di raggiungere il consenso su una determinata transazione.

La blockchain è una tecnologia che consente di inviare denaro direttamente tra due persone (peer-to-peer) senza passare attraverso una banca, una società di carte di credito o servizio di pagamento. Al posto della banca, un network di nodi convalida e registra la transazione tra i soggetti.

Per la prima volta nella storia, la blockchain permette a due persone di scambiarsi valore grazie a un network decentralizzato di nodi capace di raggiungere un consenso senza la necessità di un’autorità di controllo che faccia da arbitro. Questo è possibile perché la blockchain non si basa sulla fiducia ma si avvale di un complesso meccanismo di consenso.

Correlati