Ce este peer-to-peer (P2P)?
În informatică, o rețea peer-to-peer sau 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 este adesea folosit pentru a descrie procesul de schimb de criptomonede sau active digitale printr-o rețea distribuită. Platformele P2P permit cumpărătorilor și vânzătorilor să facă tranzacții fără a fi nevoie de intermediari. În unele cazuri, site-urile web pot oferi, de asemenea, un mediu P2P pentru a conecta creditorii cu debitorii.
Arhitectura P2P poate fi potrivită pentru multe cazuri de utilizare diferite, 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 elementul de bază al majorității criptomonedelor, constituind o mare parte a industriei blockchain. Cu toate acestea, ele sunt exploatate ș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ă o rețea peer-to-peer?
În esență, un sistem peer-to-peer este întreținut de o rețea distribuită de utilizatori. Această rețea nu are de obicei un administrator sau un server central, deoarece fiecare nod stochează o copie a fișierelor și fiecare nod acționează ca client și server pentru celelalte noduri. Prin urmare, fiecare nod poate descărca fișiere de la alte noduri sau poate încărca fișiere în alte noduri. Acesta este ceea ce diferențiază rețelele peer-to-peer de sistemele server-client mai tradiționale, în care dispozitivele client descarcă fișiere de pe un server centralizat.
Într-o rețea peer-to-peer, dispozitivele conectate partajează fișiere 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 fișier, acesta poate acționa ca sursă a acelui fișier.
Cu alte cuvinte, atunci când un nod acționează ca un client, descarcă fișiere de la alte noduri din rețea. Dar atunci când acţionează ca un server, ele sunt sursa din care alte noduri pot descărca fişiere. Cu toate acestea, în realitate, butoanele pot îndeplini două funcții în același timp (de exemplu, descărcați fișierul A și încărcați fișierul B).
Deoarece fiecare nod are funcții pentru a stoca, transmite și primi fișiere, rețelele peer-to-peer tind să funcționeze mai rapid și mai eficient pe măsură ce comunitățile lor de utilizatori cresc. În plus, arhitectura lor distribuită face sistemele P2P 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 trei stiluri arhitecturale principale: rețele nestructurate, structurate și hibride peer-to-peer.
Rețelele peer-to-peer (P2P) sunt nestructurate
Nodurile dintr-o rețea P2P nestructurată nu sunt organizate în funcție de o anumită structură. Participanții comunică la întâmplare între ei. Aceste sisteme sunt considerate a fi robuste împotriva abandonului utilizatorului (unde anumite noduri se unesc și părăsesc frecvent rețeaua).
Deși mai ușor de construit, rețelele P2P nestructurate pot necesita o memorie mai mare și o utilizare mai mare a CPU, deoarece interogările de căutare sunt trimise la cel mai mare număr posibil de colegi. Acest lucru tinde să inunde rețeaua cu interogări, mai ales dacă există doar un număr mic de noduri care furnizează conținutul dorit.
Rețea structurată peer-to-peer (P2P).
În schimb, nodurile dintr-o rețea P2P au o arhitectură organizată, care le permite nodurilor să caute fișiere în mod eficient, chiar și atunci când conținutul nu este disponibil pe scară largă. În cele mai multe cazuri, acest lucru se realizează prin utilizarea funcțiilor hash care permit căutări în bazele de date.
În timp ce rețelele structurate pot fi mai eficiente, ele prezintă adesea un grad mai mare de centralizare și necesită adesea costuri mai mari de configurare și întreținere. În plus, rețelele sunt mai puțin robuste din punct de vedere structural atunci când se confruntă cu o frecvență ridicată a utilizatorilor.
Rețea hibridă peer-to-peer (P2P).
Rețelele hibride P2P combină o arhitectură tradițională client-server cu unele aspecte ale unei arhitecturi peer-to-peer. De exemplu, această rețea poate proiecta un server central pentru a crea conexiuni între computerele egale din rețea.
În comparație cu celelalte două arhitecturi, modelele hibride demonstrează adesea performanțe de operare mai mari. Acestea combină principalele avantaje ale fiecărei metode, oferind un grad semnificativ de eficiență și descentralizare.
Distribuit versus descentralizat
Deși arhitectura P2P este distribuită în natură, este important de reținut că există diferite niveluri de descentralizare. Deci nu toate rețelele P2P sunt descentralizate.
De fapt, multe sisteme se bazează pe un sistem central pentru a rula operațiunile de rețea, ceea ce le face oarecum centralizate. De exemplu, unele sisteme de partajare de fișiere peer-to-peer permit utilizatorilor să caute și să descarce fișiere de la alți utilizatori, dar acel utilizator nu poate 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 comunitate mică de utilizatori cu obiective comune au un grad mai ridicat de centralizare, în ciuda faptului că nu au o infrastructură de rețea centralizată.
Rolul P2P în blockchain
În primele etape ale Bitcoin, Satoshi Nakamoto l-a definit ca un „sistem electronic de numerar peer-to-peer” Bitcoin a fost creat inițial ca o formă de monedă digitală. Poate fi transferat de la un utilizator la altul printr-o rețea peer-to-peer, care gestionează un registru distribuit numit blockchain.
În acest context, este arhitectura peer-to-peer, o tehnologie aflată în centrul blockchain-ului, care permite utilizatorilor să tranzacționeze Bitcoin și alte criptomonede din întreaga lume fără a fi nevoie de intermediari sau de vreun server. În plus, oricine poate deveni un nod în rețeaua Bitcoin dacă dorește să participe la procesul de verificare și validare a blocurilor.
Deci, nu există nicio bancă care să proceseze sau să înregistreze tranzacțiile în rețeaua Bitcoin. În schimb, blockchain acționează ca un registru digital care înregistrează public toată activitatea. În esență, fiecare nod păstrează o copie a blockchain-ului și o compară cu alte noduri pentru a se asigura că datele sunt exacte. Rețeaua neagă rapid orice activitate rău intenționată sau incorectă.
În contextul blockchain-urilor criptomonede, nodurile pot avea roluri diferite. De exemplu, nodurile complete sunt noduri care ajută la menținerea securității rețelei prin verificarea tranzacțiilor conform regulilor de consens ale sistemului.
Fiecare nod complet menține o copie completă și actualizată a blockchain-ului - permițându-le să participe la lucrări comune pentru a verifica starea reală a registrului distribuit. Cu toate acestea, merită remarcat faptul că nu toate nodurile care se validează complet sunt mineri.
Avantajele rețelelor peer-to-peer
Arhitectura peer-to-peer a Blockchain oferă multe beneficii. Cel mai important beneficiu este că rețelele peer-to-peer sunt mai sigure decât arhitecturile tradiționale client-server. Distribuția blockchain-urilor pe un număr mare de noduri le face practic rezistente la atacurile Denial of Service (DoS) care au fost folosite pentru a ataca multe sisteme.
De asemenea, deoarece majoritatea nodurilor trebuie să ajungă la un consens înainte ca noi date să fie adăugate în blockchain, este aproape imposibil ca un atacator să schimbe datele. Acest lucru este valabil mai ales pentru rețelele mari, cum ar fi rețeaua Bitcoin. Blockchain-urile mai mici sunt mai vulnerabile la atacuri, deoarece o persoană sau un grup poate câștiga controlul asupra majorității nodurilor (acest lucru este cunoscut ca un atac de 51%).
Prin urmare, rețelele distribuite peer-to-peer, atunci când sunt combinate cu cerința de consens majoritar, fac blockchain-urile foarte rezistente la activitățile rău intenționate. Este modelul P2P care face posibil ca Bitcoin (și alte blockchain-uri) să atingă așa-numita toleranță la greșeală bizantină.
Pe lângă 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, guvernele nu pot îngheța sau goli portofelele criptomonede. În plus, arhitectura P2P ajută și blockchain-urile să reziste cenzurii de către platformele private de conținut și platformele de procesare a plăților. 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ările rețelelor peer-to-peer
În ciuda numeroaselor avantaje, utilizarea rețelelor P2P pe blockchain are și anumite limitări.
Deoarece registrul distribuit trebuie să fie actualizat pe fiecare nod, mai degrabă decât pe un server central, adăugarea tranzacțiilor la blockchain necesită o cantitate mare de putere de calcul. În timp ce acest lucru crește securitatea, reduce semnificativ performanța și este unul dintre principalele obstacole în calea scalabilității și a adoptării pe scară largă a rețelei. Cu toate acestea, criptografii și dezvoltatorii de blockchain caută alternative care pot fi folosite ca soluții de scalare. Exemplele proeminente includ protocoalele Lightning Network, Ethereum Plasma și Mimblewimble.
O altă posibilă limitare se referă la atacurile care pot apărea în timpul evenimentelor de divizare a lanțului (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 separe de lanțul principal pentru a forma o nouă rețea paralelă. Despicarea lanțului (furcile dure) sunt complet normale și nu reprezintă o amenințare în sine. Cu toate acestea, dacă anumite metode de securitate nu sunt aplicate corect, ambele lanțuri pot deveni cu ușurință ținta atacurilor de reluare.
În plus, natura distribuită a rețelelor P2P le face relativ dificil de controlat și reglementat, nu în ultimul rând în segmentul blockchain. Unele aplicații și companii P2P s-au implicat în activități ilegale și piraterie.
Încheia
Arhitectura peer-to-peer este elementul de bază al tehnologiei blockchain - fundamentul criptomonedei. Există multe modalități de a dezvolta și utiliza arhitectura peer-to-peer. Prin dispersarea registrelor tranzacțiilor într-o rețea mare de noduri, arhitectura P2P oferă securitate, descentralizare și rezistență la cenzură.
Pe lângă beneficiile lor în tehnologia blockchain, sistemele P2P pot fi aplicate și în alte aplicații de calcul distribuite, de la rețele de partajare a fișierelor până la platforme de tranzacționare cu energie.

