La configurarea unei rețele de calcul distribuite, pot fi implementate diferite tipuri de arhitectură de sistem distribuită. În acest articol, aruncăm o privire mai profundă asupra tipurilor de arhitectură de sistem distribuită, cu un accent specific pe arhitectura de sistem distribuit peer-to-peer a blockchain-ului.

Tipuri de arhitectură de sistem distribuit

Model client-server

Aplicațiile precum e-mailurile sau imprimantele în rețea utilizează de obicei arhitectura client-server. În esență, furnizorii (numiți servere) și solicitanții (numiți clienți) au roluri diferite. Serverul gestionează toate cerințele de procesare, gestionare a datelor și calcul, care sunt disponibile la cerere pentru client. Dacă o intrare în baza de date se modifică, clientul nu trebuie neapărat să facă nimic. Doar datele de pe server trebuie schimbate.

Serverul nu trebuie să fie un singur dispozitiv în acest model; ar putea fi mai multe servere care efectuează sarcini similare pentru a distribui volumul de lucru. Modelul se referă la rolul clientului și al serverului, mai degrabă decât la hardware-ul specific.

Diagrama model client-server

O diagramă model client-server. Sursa: Wikimedia Commons

Folosim interacțiuni client-server în fiecare zi, de fiecare dată când folosim un laptop sau un smartphone pentru a naviga pe web, pentru a folosi aplicații de socializare, pentru a juca jocuri mobile sau pentru a viziona un film pe Netflix. Arhitectura sistemului distribuit client-server este ceea ce ne referim atunci când vorbim despre sistemele computerizate „centralizate”, spre deosebire de blockchain ca o arhitectură de sistem distribuită descentralizată.

Deși aceasta este o explicație simplă, există diferite tipuri de arhitectură client-server, cum ar fi pe trei niveluri. Acest model implică separarea serverului care rulează aplicația însăși de serverul care găzduiește datele din spatele aplicației. Există altele, dar, deoarece nu sunt relevante pentru blockchain, nu le vom analiza pe toate aici.

Model de la egal la egal

O arhitectură de sistem distribuită peer-to-peer (P2P) nu are clienți sau servere specifice. O rețea P2P este un sistem distribuit de mașini numite noduri. Toate nodurile pot îndeplini rolul de client și server fie simultan, fie în momente diferite de timp. Modelul este inerent numelui însuși – într-o rețea P2P, fiecare mașină este un partener egal, mai degrabă decât să fie client sau server.

Rețelele P2P devin populare după lansarea serviciilor de partajare a fișierelor, cum ar fi site-ul de partajare a muzicii Napster. Ideea P2P a câștigat un fel de statut de cult, deoarece sistemele ar putea funcționa independent de orice control centralizat. Astăzi, în afara blockchain-ului, protocolul de partajare a fișierelor BitTorrent este probabil cel mai mare și mai recunoscut nume asociat rețelelor P2P.

Rețele nestructurate vs. rețele structurate

Pe baza modului în care nodurile se leagă între ele și a modului în care datele sunt indexate și descoperite, rețelele P2P sunt clasificate ca structurate sau nestructurate. Într-un sistem nestructurat, nodurile formează pur și simplu conexiuni aleatorii între ele. Rețelele nestructurate sunt ușor de construit și de scalat în sus sau în jos.

Diagrama de rețea peer-to-peer nestructurată (Sursa: Wikimedia Commons)

Cu toate acestea, deoarece acestea sunt nestructurate, indexarea este mult mai dificilă. Dacă un nod dorește să găsească o anumită bucată de date sau un alt nod, acesta trebuie să inunde rețeaua pentru a ajunge la cât mai multe noduri posibil care ar putea fi o țintă potențială pentru căutare. Aceasta folosește mai multă putere de rețea, deoarece toate nodurile trebuie să proceseze toate cererile. Mai mult, dacă datele sunt rare, este posibil să nu se găsească dacă toate nodurile din rețea nu pot procesa toate cererile. Exemple de rețele nestructurate includ Kazaa și Limewire.

Pe de altă parte, localizarea oricăror date într-o rețea structurată este ușoară. Rețelele structurate utilizează un tabel hash distribuit pentru a identifica ce colegi dețin fișierele și versiunile fișierelor. Acordul este un exemplu de rețea P2P structurată.

Tabel de haș distribuit

Diagrama unui tabel hash distribuit, așa cum este utilizat în rețelele structurate P2P. Sursa: Wikimedia Commons

De ce Blockchain este special

Ca model pur pentru arhitectura sistemului distribuit, rețelele P2P au diverse avantaje și provocări. Avantajul cheie este rezistența la timpii morți, deoarece nu există un punct central al eșecului.

Cu toate acestea, deoarece nodurile dintr-o rețea P2P acționează atât ca client, cât și ca server, sunt mai vulnerabile la atacuri. Astfel de atacuri pot include refuzul de serviciu sau distribuirea de programe malware sau date corupte. Un studiu a constatat că 15% din jumătate de milion de fișiere descărcate de pe Kazaa au fost infectate cu 52 de viruși diferiți.

În timp ce blockchain-urile nu sunt incoruptibile la sută, Satoshi a venit cu o soluție ingenioasă la problema vulnerabilității când a scris Bitcoin hartie alba. Prin introducerea unui protocol de consens, toate nodurile din rețeaua Bitcoin trebuie să fie de acord că o tranzacție este validă. Utilizarea teoriei jocurilor face ca fiecare nod să concureze pentru a obține următorul bloc.

Exploatarea cu succes a următorului bloc vine cu o recompensă, oferind operatorilor de noduri un stimulent pentru a menține rețeaua curată. Cu condiția ca 51% sau mai mult din operatorii de noduri să lucreze în tandem pentru a continua să concureze pentru următoarea recompensă de bloc, blockchain-ul continuă să ruleze fără atacuri.

Concluzie

Desigur, există și alte elemente pentru Bitcoin, cum ar fi utilizarea semnăturilor hash și criptografice, care creează depozitul de valoare digitală. Cu toate acestea, soluția inventată de Satoshi pentru depășirea punctelor slabe inerente într-o arhitectură de sistem distribuit P2P rămâne una dintre cele mai convingătoare și inovatoare componente ale blockchain-ului.

De la înființarea Bitcoin, mulți alții au venit cu evoluții inventive bazate pe ideea lui Satoshi. Aceste evoluții continuă până în prezent. Blockchain reprezintă un pas revoluționar în arhitectura sistemului distribuit. În plus, tehnologia va evolua în continuare pentru mai mulți ani.

Imagine prezentată prin amabilitatea Pixabay

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me