Ce este peer-to-peer (P2P)?

În informatică, o rețea peer-to-peer (P2P) constă dintr-un grup de dispozitive care stochează și partajează colectiv fișiere. Fiecare participant (nod) acționează ca un egal individual. De obicei, toate nodurile au putere egală și îndeplinesc aceleași sarcini.

În tehnologia financiară, termenul peer-to-peer se referă de obicei la schimbul de criptomonede sau active digitale prin intermediul unei rețele distribuite. O platformă P2P permite cumpărătorilor și vânzătorilor să execute tranzacții fără a fi nevoie de intermediari. În unele cazuri, site-urile web pot oferi, de asemenea, un mediu P2P care conectează creditorii și debitorii.

Arhitectura P2P poate fi potrivită pentru diferite cazuri de utilizare, dar a devenit deosebit de populară în anii 1990, când au fost create primele programe de partajare a fișierelor. Astăzi, rețelele P2P sunt în centrul majorității criptomonedelor, constituind o mare parte a industriei blockchain. Cu toate acestea, acestea sunt utilizate și în alte aplicații de calcul distribuite, inclusiv motoarele de căutare web, platformele de streaming, piețele online și protocolul web InterPlanetary File System (IPFS).


Cum funcționează P2P?

În esență, un sistem P2P este întreținut de o rețea distribuită de utilizatori. De obicei, nu au administrator sau server central, deoarece fiecare nod deține o copie a fișierelor - acționând atât ca client, cât și ca server pentru alte noduri. Astfel, fiecare nod poate descărca fișiere de la alte noduri sau poate încărca fișiere în ele. Acesta este ceea ce diferențiază rețelele P2P de sistemele client-server mai tradiționale, în care dispozitivele client descarcă fișiere de pe un server centralizat.

În rețelele P2P, dispozitivele conectate partajează fișiere care sunt stocate pe hard disk-urile lor. Folosind aplicații software concepute pentru a media partajarea datelor, utilizatorii pot interoga alte dispozitive din rețea pentru a găsi și descărca fișiere. Odată ce un utilizator a descărcat un anumit fișier, acesta poate acționa ca sursă a acelui fișier.

Cu alte cuvinte, atunci când un nod acționează ca client, ei descarcă fișiere de la alte noduri de rețea. Dar atunci când lucrează ca server, sunt sursa din care alte noduri pot descărca fișiere. În practică, totuși, ambele funcții pot fi executate în același timp (de exemplu, descărcarea fișierului A și încărcarea fișierului B).

Deoarece fiecare nod stochează, transmite și primește fișiere, rețelele P2P tind să fie mai rapide și mai eficiente pe măsură ce baza lor de utilizatori crește. De asemenea, arhitectura lor distribuită face ca sistemele P2P să fie foarte rezistente la atacurile cibernetice. Spre deosebire de modelele tradiționale, rețelele P2P nu au un singur punct de defecțiune.

Putem clasifica sistemele peer-to-peer în funcție de arhitectura lor. Cele trei tipuri principale sunt numite rețele P2P nestructurate, structurate și hibride.


Rețele P2P nestructurate

Rețelele P2P nestructurate nu prezintă nicio organizare specifică a nodurilor. Participanții comunică la întâmplare între ei. Aceste sisteme sunt considerate robuste împotriva activității ridicate de abandon (adică mai multe noduri care se unesc și părăsesc frecvent rețeaua).

Deși mai ușor de construit, rețelele P2P nestructurate pot necesita o utilizare mai mare a CPU și a memoriei, deoarece interogările de căutare sunt trimise către cel mai mare număr posibil de colegi. Acest lucru tinde să inunde rețeaua cu interogări, mai ales dacă un număr mic de noduri oferă conținutul dorit.


Rețele P2P structurate

În schimb, rețelele P2P structurate prezintă o arhitectură organizată, permițând nodurilor să caute eficient fișiere, chiar dacă conținutul nu este disponibil pe scară largă. În cele mai multe cazuri, acest lucru se realizează prin utilizarea funcțiilor hash care facilitează căutările în bazele de date.

În timp ce rețelele structurate pot fi mai eficiente, ele tind să prezinte niveluri mai ridicate de centralizare și, de obicei, necesită costuri mai mari de configurare și întreținere. În afară de asta, rețelele structurate sunt mai puțin robuste atunci când se confruntă cu rate ridicate de abandon.


Rețele hibride P2P

Rețelele hibride P2P combină modelul convențional client-server cu unele aspecte ale arhitecturii peer-to-peer. De exemplu, designul său poate conține un server central care facilitează conexiunea între egali.

În comparație cu celelalte două tipuri, modelele hibride tind să prezinte performanțe generale îmbunătățite. Acestea combină de obicei unele dintre principalele avantaje ale fiecărei abordări, realizând simultan grade semnificative de eficiență și descentralizare.


Distribuit vs. descentralizat

Deși arhitectura P2P este distribuită în mod inerent, este important de reținut că există diferite grade de descentralizare. Deci, nu toate rețelele P2P sunt descentralizate.

De fapt, multe sisteme se bazează pe o autoritate centrală pentru a ghida activitatea rețelei, făcându-le oarecum centralizate. De exemplu, unele sisteme de partajare a fișierelor P2P permit utilizatorilor să caute și să descarce fișiere de la alți utilizatori, dar nu pot participa la alte procese, cum ar fi gestionarea interogărilor de căutare.

În plus, se poate spune că rețelele mici controlate de o bază limitată de utilizatori cu obiective comune au un grad mai ridicat de centralizare, în ciuda lipsei unei infrastructuri de rețea centralizate.


Rolul P2P în blockchains

În primele etape ale Bitcoin, Satoshi Nakamoto l-a definit ca un „sistem electronic de numerar peer-to-peer”. Bitcoin a fost creat ca o formă digitală de bani. Poate fi transferat de la un utilizator la altul printr-o rețea P2P, care gestionează un registru distribuit numit blockchain.

În acest context, arhitectura P2P care este inerentă tehnologiei blockchain este cea care permite ca bitcoin și alte criptomonede să fie transferate la nivel mondial, fără a fi nevoie de intermediari și nici de vreun server central. De asemenea, oricine poate configura un nod Bitcoin dacă dorește să participe la procesul de verificare și validare a blocurilor.

Deci, nu există bănci care procesează sau înregistrează tranzacții în rețeaua Bitcoin. În schimb, blockchain-ul acționează ca un registru digital care înregistrează public toată activitatea. Practic, fiecare nod deține o copie a blockchain-ului și o compară cu alte noduri pentru a se asigura că datele sunt exacte. Rețeaua respinge rapid orice activitate rău intenționată sau inexactitate.

În contextul blockchain-urilor criptomonede, nodurile pot prelua o varietate de roluri diferite. Nodurile complete, de exemplu, sunt cele care oferă securitate rețelei prin verificarea tranzacțiilor în raport cu regulile de consens ale sistemului.

Fiecare nod complet menține o copie completă și actualizată a blockchain-ului - permițându-le să participe la munca colectivă de verificare a stării adevărate a registrului distribuit. De remarcat, totuși, nu toate nodurile de validare completă sunt mineri.


Avantaje

Arhitectura peer-to-peer a blockchain-urilor oferă multe beneficii. Printre cele mai importante este faptul că rețelele P2P oferă o securitate mai mare decât aranjamentele tradiționale client-server. Distribuția blockchain-urilor pe un număr mare de noduri le face practic imune la atacurile de tip Denial-of-Service (DoS) care afectează numeroase sisteme.

De asemenea, deoarece majoritatea nodurilor trebuie să stabilească un consens înainte ca datele să fie adăugate la un blockchain, este aproape imposibil ca un atacator să modifice datele. Acest lucru este valabil mai ales pentru rețelele mari precum cea a Bitcoin. Blockchain-urile mai mici sunt mai susceptibile la atacuri, deoarece o persoană sau un grup ar putea în cele din urmă să obțină controlul asupra majorității nodurilor (acest lucru este cunoscut ca un atac de 51%).

Drept urmare, rețeaua distribuită peer-to-peer, asociată cu o cerință de consens majoritar, conferă blockchain-urilor un grad relativ ridicat de rezistență la activitățile rău intenționate. Modelul P2P este unul dintre motivele pentru care Bitcoin (și alte blockchain-uri) au reușit să atingă așa-numita toleranță la greșeală bizantină.

Dincolo de securitate, utilizarea arhitecturii P2P în blockchain-urile criptomonede le face și rezistente la cenzura din partea autorităților centrale. Spre deosebire de conturile bancare standard, portofelele cu criptomonede nu pot fi înghețate sau epuizate de guverne. Această rezistență se extinde și asupra eforturilor de cenzură ale platformelor private de procesare a plăților și de conținut. Unii creatori de conținut și comercianți online au adoptat plățile cu criptomonede ca o modalitate de a evita blocarea plăților de către terți.


Limitări

În ciuda numeroaselor avantaje ale acestora, utilizarea rețelelor P2P pe blockchain are și anumite limitări.

Deoarece registrele distribuite trebuie actualizate pe fiecare nod în loc de pe un server central, adăugarea tranzacțiilor la un blockchain necesită o cantitate masivă de putere de calcul. Deși acest lucru oferă o securitate sporită, reduce mult eficiența și este unul dintre principalele obstacole atunci când vine vorba de scalabilitate și adoptare pe scară largă. Cu toate acestea, criptografii și dezvoltatorii de blockchain investighează alternative care pot fi utilizate ca soluții de scalare. Exemplele proeminente includ Lightning Network, Ethereum Plasma și protocolul Mimblewimble.

O altă limitare potențială se referă la atacurile care pot apărea în timpul evenimentelor hard fork. Deoarece majoritatea blockchain-urilor sunt descentralizate și open source, grupurile de noduri sunt libere să copieze și să modifice codul și să se despartă de lanțul principal pentru a forma o nouă rețea paralelă. Furcile dure sunt complet normale și nu reprezintă o amenințare în sine. Dar dacă anumite metode de securitate nu sunt adoptate corespunzător, ambele lanțuri pot deveni vulnerabile la atacurile de reluare.

Mai mult, natura distribuită a rețelelor P2P le face relativ dificil de controlat și reglementat, nu numai în nișa blockchain. Mai multe aplicații și companii P2P s-au implicat în activități ilegale și încălcări ale drepturilor de autor.


Gânduri de închidere

Arhitectura peer-to-peer poate fi dezvoltată și utilizată în multe moduri diferite și se află în centrul blockchain-urilor care fac posibile criptomonedele. Prin distribuirea registrelor de tranzacții în rețele mari de noduri, arhitectura P2P oferă securitate, descentralizare și rezistență la cenzură.

Pe lângă utilitatea lor în tehnologia blockchain, sistemele P2P pot servi și alte aplicații de calcul distribuite, de la rețele de partajare a fișierelor până la platforme de tranzacționare cu energie.