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

In informatica, una rete peer-to-peer (P2P) è costituita da un gruppo di dispositivi che archiviano e condividono collettivamente file. Ogni partecipante (nodo) agisce come un singolo peer. Tutti i nodi solitamente hanno la stessa potenza e svolgono gli stessi compiti.

Nella tecnologia finanziaria, il termine peer-to-peer si riferisce solitamente allo scambio di valute o risorse digitali su una rete distribuita. Le piattaforme P2P consentono ad acquirenti e venditori di eseguire operazioni direttamente senza la necessità di intermediari. In alcuni casi i siti web possono anche fornire un ambiente P2P che collega finanziatori e mutuatari.

L’architettura P2P può essere adatta a molti casi d’uso diversi, ma è diventata particolarmente popolare negli anni ’90 quando è stato creato il primo software di condivisione file. Oggi, le reti P2P sono diventate il nucleo della maggior parte delle valute digitali, che costituiscono gran parte del settore blockchain. Tuttavia, è attualmente supportato anche in altre applicazioni di calcolo distribuito, inclusi motori di ricerca web, piattaforme di streaming, mercati online e il protocollo web InterPlanetary File System (IPFS).


Come funziona il P2P?

Fondamentalmente, i sistemi P2P sono gestiti da una rete distribuita di utenti e di solito non hanno un amministratore o un server centrale perché ogni nodo contiene una copia dei file e funge da client e server per gli altri nodi. Pertanto ogni nodo può scaricare file da altri nodi o caricare file su altri nodi. Questo è ciò che distingue le reti P2P dai tradizionali sistemi server in cui i dispositivi scaricano file da un server centrale.

I dispositivi connessi su reti P2P condividono file archiviati sui propri dischi rigidi utilizzando applicazioni software progettate per mediare la condivisione di dati e file. Gli utenti possono anche interrogare altri dispositivi connessi sulla rete per trovare e scaricare file. Una volta che un utente scarica un determinato file, può fungere da origine di quel file.

In altre parole, quando un nodo funge da client scarica file da altri nodi della rete. Ma quando i nodi fungono da server, diventano la fonte da cui altri nodi possono scaricare file. Tuttavia, in pratica entrambe le funzioni possono essere eseguite contemporaneamente (come scaricare il file A e caricare il file B).

Le reti P2P tendono a diventare più veloci ed efficienti man mano che la loro base di utenti cresce perché ogni nodo archivia, trasmette e riceve file. Inoltre, la sua architettura distribuita rende i sistemi P2P altamente resistenti agli attacchi informatici perché le reti P2P non hanno un singolo punto di guasto, a differenza dei modelli tradizionali.

Possiamo classificare i sistemi peer-to-peer in base alla loro architettura. I tre tipi principali di reti P2P sono chiamate non strutturate, strutturate e ibride.


Reti P2P non regolamentate

Le reti P2P non strutturate non forniscono alcuna organizzazione specifica di nodi. Dove i partecipanti comunicano in modo casuale tra loro. Questi sistemi sono efficaci quando c'è uno stato di elevata attività (ad esempio molti nodi si uniscono e lasciano la rete frequentemente).

Sebbene le reti P2P non strutturate siano facili da costruire, potrebbero richiedere un utilizzo maggiore di CPU e memoria perché le query di ricerca vengono inviate al maggior numero possibile di peer. Ciò tende a inondare la rete di query soprattutto se ci sono solo pochi nodi che forniscono il contenuto richiesto.


Reti P2P organizzate

Al contrario, le reti P2P strutturate offrono una struttura organizzata, come suggerisce il nome. Ciò consente ai nodi di cercare in modo efficiente i file anche se il contenuto non è ampiamente disponibile. Nella maggior parte dei casi ciò si ottiene attraverso l'uso di funzioni hash che facilitano le ricerche nei database.

Sebbene le reti organizzate possano essere più efficienti, tendono a introdurre livelli più elevati di centralizzazione e di solito richiedono costi di installazione e manutenzione più elevati. Altrimenti, le reti organizzate sono anche meno robuste quando devono far fronte ad alti tassi di interruzione.


Reti P2P ibride

Le reti ibride P2P combinano il tradizionale modello client-server con alcuni aspetti di un'architettura peer-to-peer. Ad esempio, progetti un server centrale che faciliti la comunicazione tra peer.

Rispetto agli altri due tipi di reti peer-to-peer, il tipo ibrido tende ad offrire prestazioni complessive migliori. Poiché di solito combina alcuni dei principali vantaggi di ciascun tipo. Che raggiunge contemporaneamente grandi gradi di efficienza e decentralizzazione.


Distribuito e decentralizzato

Sebbene l’ambiente P2P sia per sua natura distribuito, è importante notare che esistono vari gradi di decentralizzazione. Quindi non tutte le reti P2P sono decentralizzate. 

In effetti, molti sistemi si affidano a un’autorità centrale per dirigere l’attività di rete, rendendoli in qualche modo centralizzati. Ad esempio, alcuni sistemi di condivisione file P2P consentono agli utenti di cercare e scaricare file da altri utenti ma non sono in grado di partecipare ad altre operazioni come la gestione delle ricerche.

Inoltre, possiamo dire che le piccole reti controllate da una base di utenti limitata con obiettivi comuni hanno un grado di centralizzazione più elevato nonostante la mancanza di un’infrastruttura di rete centrale.


Il ruolo del peer-to-peer (P2P) nella blockchain

Nelle fasi iniziali di Bitcoin, Satoshi Nakamoto lo definì un “sistema di cassa elettronico peer-to-peer”. Bitcoin è stato creato come forma di denaro digitale. Può essere trasferito da un utente a un altro attraverso una rete P2P che gestisce un registro distribuito chiamato blockchain.

In questo contesto, l’architettura P2P insita nella tecnologia blockchain è ciò che consente a Bitcoin e ad altre valute digitali di essere facilmente trasferiti/trasferiti in tutto il mondo senza la necessità di intermediari o di alcun server centrale. Chiunque può anche creare un nodo sulla blockchain di Bitcoin se desidera partecipare al processo di verifica e autenticazione dei blocchi.

Quindi non ci sono banche che elaborano o registrano transazioni nella rete Bitcoin. Invece, la blockchain agisce come un registro digitale distribuito che registra pubblicamente tutte le attività in modo che gli altri partecipanti possano vederle. Fondamentalmente, ogni nodo mantiene una copia della blockchain e la confronta con altri nodi per garantire l’accuratezza dei dati. La rete rifiuta rapidamente qualsiasi attività dannosa o imprecisa.

Nella blockchain delle criptovalute, i nodi possono svolgere una varietà di ruoli diversi. Ad esempio, i nodi completi sono quelli che forniscono sicurezza alla rete verificando le transazioni secondo le regole di consenso del sistema.

Ogni full node mantiene una copia completa e aggiornata della blockchain, consentendogli di partecipare al lavoro collettivo di verifica dello stato attuale del registro distribuito. Tuttavia, va notato che non tutti i nodi di verifica completa sono rappresentati da minatori.


Vantaggi

La struttura peer-to-peer della blockchain offre molti vantaggi. Il principale tra questi è il fatto che le reti P2P offrono maggiore sicurezza rispetto ai tradizionali accordi client-server. Poiché la blockchain è distribuita su un gran numero di nodi, è praticamente immune agli attacchi Denial of Service (DoS) che infettano molti sistemi.

Inoltre, poiché la maggior parte dei nodi deve raggiungere il consenso prima che i dati vengano aggiunti alla blockchain, è quasi impossibile per un utente malintenzionato modificare i dati. Ciò è particolarmente vero per le reti di grandi dimensioni come la rete Bitcoin. Le reti blockchain più piccole sono più vulnerabili agli attacchi perché una persona o un gruppo può eventualmente controllare la maggior parte dei nodi (questo è noto come attacco del 51% o attacco della maggioranza).

Di conseguenza, una rete peer-to-peer distribuita combinata con i requisiti di consenso della maggioranza conferisce alle reti blockchain un grado relativamente elevato di resistenza alle attività dannose. Il modello P2P è uno dei motivi per cui Bitcoin (e altre blockchain) sono in grado di raggiungere la cosiddetta tolleranza agli errori bizantina.

Oltre alla protezione che fornisce, l'uso dell'architettura P2P nelle blockchain di criptovalute le rende anche resistenti alla censura da parte delle autorità centrali. A differenza dei conti bancari tradizionali, i portafogli di valuta digitale non possono essere congelati o incassati dai governi. Questa resistenza si estende anche agli sforzi di censura intrapresi dai pagamenti privati ​​e dalle piattaforme di contenuti. Alcuni creatori di contenuti e commercianti online hanno adottato i pagamenti in criptovaluta come un modo per evitare che i loro pagamenti vengano bloccati da terze parti.


Restrizioni

Sebbene ci siano molti vantaggi, l’utilizzo delle reti P2P su blockchain presenta anche dei limiti definiti.

Poiché il registro distribuito deve essere aggiornato su ciascun nodo partecipante anziché su un server centrale, l’aggiunta di transazioni alla blockchain richiede un’enorme quantità di potenza di calcolo. Sebbene questa misura offra maggiore sicurezza, riduce notevolmente l’efficienza e rappresenta uno dei principali inconvenienti in termini di scalabilità e adozione su vasta scala. Tuttavia, coloro che sono interessati alla crittografia e agli sviluppatori blockchain sono attualmente alla ricerca di alternative che possano essere utilizzate come soluzioni a questa scalabilità. Esempi degni di nota includono Lightning Network, Ethereum Plasma e il protocollo Mimblewimble.

Un'altra potenziale limitazione riguarda gli attacchi che potrebbero verificarsi durante gli eventi di hard fork. Dato che la maggior parte delle reti blockchain sono decentralizzate e open source, i gruppi di nodi sono liberi di copiare e modificare il codice, staccarsi dalla catena principale e formare una nuova rete parallela. Gli hard fork sono del tutto normali e non rappresentano una minaccia di per sé, ma se alcuni metodi di sicurezza non vengono implementati correttamente, entrambe le catene potrebbero diventare vulnerabili agli attacchi di replay.

Inoltre, la natura distribuita delle reti P2P le rende relativamente difficili da controllare e rendere legali, non solo nello spazio blockchain. Molte applicazioni e aziende P2P sono state coinvolte in attività illegali e violazioni del copyright.


Considerazioni conclusive

L'architettura peer-to-peer può essere sviluppata e utilizzata in molti modi diversi. È il nucleo della blockchain che rende possibili le valute digitali. L’architettura P2P fornisce sicurezza, decentralizzazione e resistenza alla censura distribuendo i registri delle transazioni su ampie reti di nodi.

Oltre alla loro utilità nella tecnologia blockchain, i sistemi P2P possono essere utilizzati anche in altre applicazioni informatiche distribuite che vanno dalle reti di condivisione di file alle piattaforme di scambio energetico.