Come funziona la rete peer-to-peer di una blockchain?steemCreated with Sketch.

in #blockchain3 years ago

peer-to-peer-1024x576.png

Con il termine peer-to-peer ci si riferisce a un network di nodi che registrano e convalidano le transazioni sulla rete della blockchain. Un sistema peer-to-peer consente di trasferire valore tra due utenti eliminando la necessità di un intermediario.

Cosa imparerai:
Come funziona la rete peer-to-peer di una blockchain
Il compito dei nodi nella blockchain
Che cos’è un algoritmo di consenso
Come avviene una transazione su blockchain

Introduzione
Quello della blockchain è un lavoro di aggiornamento collettivo. La blockchain è un sistema decentralizzato, ciò significa che utilizza la comunità per validare e aggiornare i dati.

Per comunità s’intende l’insieme di computer o dispositivi connessi tra loro, detti nodi, con il compito di certificare la legittimità di una transazione e di registrarla.

La rete di pagamento peer-to-peer
In una situazione normale, quando paghiamo qualcuno con un bonifico bancario, la banca si assicura che il denaro sia effettivamente in nostro possesso prima di approvare la transazione. Il database della banca viene quindi aggiornato mostrando il trasferimento dei nostri soldi dal nostro conto a quello del beneficiario.

Sulla blockchain avviene la stessa cosa, con una fondamentale eccezione: il singolo operatore viene sostituito da migliaia di operatori. Questi operatori non sono persone, ma computer e dispositivi. Qualsiasi dispositivo che si connette all’interfaccia di una blockchain è detto nodo. Dal momento che chiunque può aprire un nodo, anche con il computer di casa, questi possono trovarsi in qualsiasi parte del mondo.

Che cosa sono i nodi in una rete peer-to-peer?
Il compito dei nodi è quello di validare e registrare le transazioni. 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. Essi garantiscono che le regole del protocollo vengano seguite e che tutte le transazioni avvengano correttamente, facendo in modo che le monete possano essere spese solo una volta.

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 es. il protocollo http://).

Che cosa sono gli algoritmi di consenso?
Gli algoritmi di consenso sono così chiamati perché permettono ai nodi del network di raggiungere il consenso sulla validità o meno di una transazione e sull’aggiunta di nuovi blocchi. L’interazione tra i nodi si basa sul rispetto e l’adempimento di regole matematiche inscritte nel protocollo. Ogni non conformità è esclusa a priori. È così che con la tecnologia blockchain si ripropone l’assunto in base al quale è il codice a diventare legge.

Se ad esempio consideriamo la blockchain di Bitcoin, il protocollo Bitcoin definisce le modalità di interazione tra i nodi, come i dati devono essere diffusi sulla rete e quali sono i requisiti che una transazione deve soddisfare per essere valida. L’algoritmo di consenso, invece, verifica i saldi e le firme crittografiche, conferma le transazioni ed esegue effettivamente la convalida dei blocchi.

Il meccanismo del consenso decentrato e l’immodificabilità di quanto registrato rendono la blockchain sia esente da errori, sia immune da manipolazioni, aumentando quindi non solo la sicurezza della rete ma anche l’affidabilità delle informazioni registrate. Infine, per quanto tutte le transazioni siano trasparenti e sia certo il momento in cui sono state effettuate, 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 seconda dello scopo della rete blockchain (scambiare valore, memorizzare dati, o proteggere sistemi e contratti). A prescindere dalle specificità tecniche che distinguono le varie blockchain, il meccanismo di validazione e consenso consiste fondamentalmente nella seguente procedura: i nodi vengono informati in tempo reale di ogni transazione e verificano la correttezza di tutte le informazioni rilevanti prima di approvare il nuovo blocco e aggiungerlo alla catena.

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

Richiesta. La richiesta di trasferire n°. criptovalute dal wallet A al wallet B viene trasmessa sulla rete di nodi.
Verifica. I nodi vedono la transazione. Alcuni tipi particolari di nodi – i miner o i validatori – cercano di verificare la transazione.
Registrazione. Se ritenuta valida, la transazione viene registrata su blockchain in modo irreversibile e immutabile. Eventuali transazioni ritenute irregolari, vengono isolate e scartate.
Aggiornamento. I nodi aggiornano le loro copie della blockchain. Ora tutti i nodi sanno che il wallet A non può più inviare quelle specifiche n° criptovalute di nuovo al wallet B o a un altro wallet (facendo una doppia spesa) perché le ha già trasferite e non le appartengono più.

Memo
– 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.

Conclusione
Abbiamo visto come funziona una rete peer-to-peer di una blockchain. E’ 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, nonostante i nodi non si conoscano e vivano lontane. Questo è possibile perché la blockchain non si basa sulla fiducia ma si avvale di un potente meccanismo di consenso, l’algoritmo, che prevede degli incentivi cryptoeconomici per il lavoro svolto dai nodi. Questi incentivi sono spesso token o criptovalute come Bitcoin.