Cos'è il peer-to-peer (P2P)?

In informatica, una rete peer-to-peer è costituita da un gruppo di dispositivi in ​​grado di archiviare e condividere documenti. Ogni partecipante (nodo) equivale a un individuo pari. Cioè, tutti i nodi hanno gli stessi diritti ed eseguono le stesse attività.

Nel campo del fintech, il P2P si riferisce solitamente alla transazione di valuta digitale o risorse digitali attraverso una rete distribuita. Una piattaforma P2P consente ad acquirenti e venditori di effettuare transazioni direttamente senza intermediari. Alcuni siti Web possono anche fornire un ambiente di trading P2P per mutuatari e istituti di credito.

L’architettura P2P è adatta a diversi scenari, ma è diventata davvero popolare negli anni ’90, quando sono nati i primi programmi di file sharing. Oggi, le reti peer-to-peer sono diventate il nucleo della maggior parte delle valute digitali e rappresentano gran parte del settore blockchain. Tuttavia, viene utilizzato anche in una varietà di altri programmi informatici distribuiti, tra cui: motori di ricerca web, piattaforme di streaming, mercati online e il protocollo di rete InterPlanetary File System (IPFS).


Come funziona il P2P

Essenzialmente, un sistema P2P è mantenuto dagli utenti in una rete distribuita. In genere, non hanno un amministratore di sistema o un server centrale perché ogni nodo ha una copia dei file: un utente e un server per gli altri nodi. Pertanto, ciascun nodo può scaricare file da altri nodi o caricare file su di essi. Il dispositivo client del sistema server tradizionale deve scaricare file dal server centrale. Questa è la differenza tra la rete P2P e altri sistemi di servizi tradizionali.

In una rete P2P, i file condivisi dai dispositivi interconnessi vengono archiviati sui loro dischi rigidi. E utilizzando le applicazioni software per trasferire i dati condivisi, gli utenti possono anche trovare e scaricare file su altri dispositivi. Se un utente scarica un file specificato, può fungere da origine di quel file.

In altre parole, quando un nodo funge da utente, scarica file da altri nodi. Ma se funziona come server, altri nodi possono scaricare file da esso. Infatti queste due funzioni possono essere eseguite contemporaneamente (ad esempio scaricare il file A e caricare il file B).

Poiché ogni nodo può archiviare, trasmettere e ricevere file, e man mano che la base utenti della rete P2P cresce, diventa più veloce ed efficiente. La struttura distribuita rende inoltre il sistema P2P più resistente agli attacchi di rete. A differenza dei modelli tradizionali, le reti P2P non presentano un singolo punto di guasto.

In base alla sua struttura, possiamo classificare i sistemi P2P, di cui i tre tipi principali sono: rete peer-to-peer non strutturata, rete peer-to-peer strutturata e rete peer-to-peer ibrida.


Rete P2P non strutturata

Le reti peer-to-peer non strutturate non rivelano l'architettura specifica dei nodi. I partecipanti possono comunicare liberamente tra loro. Questi sistemi sono resistenti all'attività ad alta frequenza, il che significa che diversi nodi che entrano ed escono frequentemente dalla rete non avranno alcun impatto sul sistema.

Sebbene le reti peer-to-peer non strutturate siano più facili da configurare, richiedono CPU e memoria più potenti perché le query di ricerca vengono inviate al maggior numero di peer. Soprattutto se un numero limitato di nodi è in grado di fornire il contenuto richiesto, un gran numero di ricerche inonderà la rete.


rete strutturata peer-to-peer

A differenza delle reti peer-to-peer non strutturate, le reti peer-to-peer strutturate presentano una struttura organizzativa che consente ai nodi di cercare in modo efficiente un file anche se il contenuto del file non è ampiamente utilizzato. Nella maggior parte dei casi, le ricerche vengono eseguite utilizzando le funzioni hash per facilitare le ricerche nel database.

Relativamente parlando, le reti peer-to-peer strutturate sono più efficienti perché possono dimostrare un livello più elevato di centralizzazione e richiedono maggiori costi di capitale di avvio e di manutenzione. Inoltre, le reti strutturate peer-to-peer sono meno tolleranti nei confronti dell’attività ad alta frequenza.


Rete ibrida peer-to-peer

Le reti ibride peer-to-peer combinano la tradizionale architettura master-slave con alcune caratteristiche dell'architettura peer-to-peer. Ad esempio, potrebbe istituire un server centrale per accelerare l’integrazione tra i punti.

A differenza delle altre due modalità, le reti ibride peer-to-peer tendono a mostrare prestazioni complessive migliori. Combina i vantaggi di ciascun metodo ottenendo efficienza e decentralizzazione.


Distribuito VS decentralizzato

Sebbene le strutture peer-to-peer siano tutte distribuite, il loro grado di decentralizzazione è diverso. Pertanto, non tutte le reti peer-to-peer sono decentralizzate.

In effetti, molti sistemi richiedono che un’autorità centrale diriga l’attività della rete, rendendola più o meno centralizzata. Ad esempio, alcuni sistemi di condivisione di file peer-to-peer consentono agli utenti di cercare e scaricare file da altri utenti, ma non possono partecipare a processi come la gestione delle query di ricerca.

Inoltre, si può dire che anche alcune piccole reti controllate da un numero limitato di utenti siano altamente centralizzate, sebbene possano non disporre di un'infrastruttura neutrale.


Il ruolo del peer-to-peer nella blockchain

Agli albori del Bitcoin, Satoshi Nakamoto lo definì un "sistema di cassa elettronico peer-to-peer". Bitcoin è apparso agli occhi del pubblico come una forma di denaro elettronico. Può essere trasferito tra due utenti attraverso una rete peer-to-peer, che richiede l'uso di un registro distribuito, vale a dire: blockchain.

Nella blockchain, l'architettura peer-to-peer consente a Bitcoin e ad altre valute digitali di essere trasferite tra loro in tutto il mondo senza la necessità di intermediari e server centrali. Se un utente desidera partecipare al processo di verifica dei blocchi, può stabilire un nodo Bitcoin.

Pertanto, non ci sono passaggi bancari o registrazioni di transazioni nella rete Bitcoin. Invece, la blockchain funge da registro elettronico che registra pubblicamente tutte le attività di transazione. Fondamentalmente ogni nodo ha una copia della blockchain e la confronta con altri nodi per garantire la correttezza dei dati. La rete Bitcoin può eliminare rapidamente tutti i tipi di errori e attività dannose.

I nodi possono svolgere una varietà di ruoli diversi nella blockchain. Ad esempio, i full node verificano le transazioni attraverso regole di consenso, garantendo così la sicurezza della rete.

Ogni nodo completo mantiene una copia completa e aggiornata della blockchain, consentendo a queste copie blockchain di lavorare insieme per verificare il vero stato del registro distribuito. Va notato che non tutti i nodi di verifica sono minatori.


Vantaggio

L’architettura peer-to-peer della blockchain presenta molti vantaggi. Ancora più importante, rispetto alla tradizionale architettura master-slave, le reti punto-punto hanno una maggiore riservatezza. La maggior parte dei nodi è quasi immune agli attacchi Denial of Service (DoS) che hanno compromesso molti sistemi.

Allo stesso modo, poiché i dati vengono aggiunti alla blockchain richiedendo il consenso unanime della maggioranza dei nodi, è quasi impossibile per un utente malintenzionato alterare i dati. Soprattutto in una rete grande come Bitcoin. Tuttavia, le blockchain relativamente piccole sono vulnerabili agli attacchi perché una persona o un’organizzazione spesso controlla un gran numero di nodi (anche questo è un attacco del 51%).

Pertanto, con la premessa del consenso unanime della maggior parte dei nodi, la rete peer-to-peer distribuita rende la blockchain più resistente agli attacchi di rete dannosi. Il modello peer-to-peer è il motivo principale per cui la rete Bitcoin può raggiungere la tolleranza agli errori bizantina.

Oltre alla sicurezza, l’architettura peer-to-peer consente alle blockchain di valuta digitale di evitare il controllo delle autorità centrali. A differenza dei normali conti bancari, i portafogli di valuta digitale non possono essere congelati o consumati dai governi. Anche l’elaborazione dei pagamenti personali e le piattaforme di contenuti possono evitare corrispondenti sforzi di censura. Per evitare l’intervento di terzi nei loro pagamenti, alcuni commercianti online hanno adottato metodi di pagamento in valuta digitale.


limitazione

Nonostante i vantaggi sopra menzionati, l’utilizzo delle reti P2P nella blockchain presenta anche alcune limitazioni.

Poiché il registro distribuito deve essere aggiornato su ogni nodo, l’aggiunta di transazioni alla blockchain richiede un’enorme potenza del computer. Sebbene ciò migliori la sicurezza, riduce anche notevolmente l’efficienza ed è diventato uno dei principali ostacoli all’espansione e alla promozione delle reti blockchain. Tuttavia, crittografi e sviluppatori blockchain stanno lavorando su alternative per affrontare i problemi di scalabilità. Alcuni esempi evidenti includono “Lightning Network”, “Ethereum Plasma” e il “Protocollo Mimblewimble”.

Un'altra potenziale limitazione riguarda i possibili attacchi durante un hard fork. Poiché la maggior parte delle blockchain sono decentralizzate e open source, i nodi sono liberi di copiare e modificare il codice e di separarsi dalla catena principale, formando in questo modo nuove reti parallele. Gli hard fork sono del tutto normali e non rappresentano una minaccia. Ma entrambe le catene possono essere vulnerabili agli attacchi replay se determinate misure di sicurezza non vengono impiegate correttamente.

Inoltre, la natura distribuita delle reti P2P le rende relativamente difficili da controllare e regolamentare. Questo problema non si limita alla blockchain, anche alcune applicazioni e aziende P2P sono coinvolte in attività illegali come la violazione.


Riassumere

L’architettura peer-to-peer può essere sviluppata e applicata in molti aspetti diversi e la sua posizione centrale nella blockchain ha contribuito anche alla nascita delle valute digitali. Distribuendo il registro delle transazioni su un’ampia rete di nodi, l’architettura peer-to-peer offre i vantaggi di sicurezza, decentralizzazione e protezione dalla regolamentazione.

Oltre ai vantaggi offerti dalla tecnologia blockchain, i sistemi P2P possono essere applicati anche ad altri campi di applicazione del calcolo distribuito, che vanno dalle reti di condivisione di file alle piattaforme di scambio energetico.