Pri postavljanju distribuirane računalne mreže postoje različite vrste arhitekture distribuiranog sustava koje se mogu primijeniti. U ovom ćemo članku dublje razmotriti vrste arhitekture distribuiranog sustava, s posebnim naglaskom na peer-to-peer raspodijeljenu sistemsku arhitekturu blockchaina.

Vrste arhitekture distribuiranog sustava

Model klijent-poslužitelj

Aplikacije poput e-pošte ili umreženih pisača obično koriste arhitekturu klijent-poslužitelj. U osnovi, pružatelji usluga (zvani poslužitelji) i naručitelji zahtjeva (zvani klijenti) imaju različite uloge. Poslužitelj obrađuje sve zahtjeve za obradu, upravljanje podacima i računarstvom koji su dostupni klijentu na zahtjev. Ako se unos baze podataka promijeni, klijent ne mora nužno bilo što poduzeti. Treba mijenjati samo podatke na poslužitelju.

Poslužitelj ne mora biti jedan uređaj u ovom modelu; to može biti više poslužitelja koji izvode slične zadatke za distribuciju radnog opterećenja. Model se odnosi na ulogu klijenta i poslužitelja, a ne na određeni hardver.

Dijagram modela klijent-poslužitelj

Dijagram modela klijent-poslužitelj. Izvor: Wikimedia Commons

Interakcije klijent-poslužitelj koristimo svaki dan, svaki put kada laptop ili pametni telefon koristimo za surfanje webom, upotrebu aplikacija za društvene medije, igranje mobilnih igara ili gledanje filma na Netflixu. Arhitektura distribuiranog sustava klijent-poslužitelj je ono na što mislimo kada govorimo o “centraliziranim” računalnim sustavima, za razliku od blockchaina kao decentralizirane arhitekture distribuiranog sustava.

Iako je ovo jednostavno objašnjenje, postoje različite vrste arhitekture klijent-poslužitelj, poput troslojne. Ovaj model uključuje odvajanje poslužitelja koji izvodi sam program od poslužitelja koji sadrži podatke koji stoje iza aplikacije. Postoje i drugi, ali kako nisu bitni za blockchain, ovdje ih nećemo sve analizirati.

Peer-to-peer model

Peer-to-peer (P2P) distribuirana arhitektura sustava nema određene klijente ili poslužitelje. P2P mreža distribuirani je sustav strojeva koji se nazivaju čvorovi. Svi čvorovi mogu obavljati ulogu klijenta i poslužitelja istodobno ili u različitim vremenskim trenucima. Model je svojstven samom imenu – u P2P mreži svaki je stroj ravnopravan, umjesto da je klijent ili poslužitelj.

P2P mreže postaju popularne nakon izdavanja usluga za razmjenu datoteka, poput web stranice za razmjenu glazbe Napster. Ideja o P2P stekla je svojevrsni kultni status jer su sustavi mogli raditi neovisno o bilo kojoj centraliziranoj kontroli. Danas je izvan blockchaina protokol za dijeljenje datoteka BitTorrent vjerojatno najveće i najprepoznatljivije ime povezano s P2P mrežama.

Nestrukturirane nasuprot strukturiranim mrežama

Na temelju toga kako se čvorovi međusobno povezuju i kako se podaci indeksiraju i otkrivaju, P2P mreže klasificiraju se kao strukturirane ili nestrukturirane. U nestrukturiranom sustavu čvorovi jednostavno stvaraju slučajne veze jedni s drugima. Nestrukturirane mreže lako je graditi i povećavati ili smanjivati.

Dijagram nestrukturirane peer-to-peer mreže (Izvor: Wikimedia Commons)

Međutim, budući da su nestrukturirani, to znatno otežava indeksiranje. Ako čvor želi pronaći određeni dio podataka ili drugi čvor, mora preplaviti mrežu kako bi dosegao što veći broj čvorova koji mogu biti potencijalni cilj pretraživanja. Ovo koristi više mrežne snage, jer svi čvorovi moraju obraditi sve zahtjeve. Štoviše, ako su podaci rijetki, možda neće biti pronađeni ako svi čvorovi na mreži ne mogu obraditi sve zahtjeve. Primjeri nestrukturiranih mreža uključuju Kazaa i Limewire.

S druge strane, pronalaženje bilo kojih podataka u strukturiranoj mreži jednostavno je. Strukturirane mreže koriste raspodijeljenu hash tablicu kako bi identificirale koji vršnjaci drže koje datoteke i verzije datoteka. Chord je jedan od primjera strukturirane P2P mreže.

Distribuirana hash tablica

Dijagram distribuirane hash tablice, kako se koristi u strukturiranim P2P mrežama. Izvor: Wikimedia Commons

Zašto je Blockchain poseban

Kao čisti model za arhitekturu distribuiranog sustava, P2P mreže imaju razne prednosti i izazove. Ključna prednost je otpornost na zastoje jer nema središnje točke kvara.

Međutim, budući da čvorovi u P2P mreži djeluju i kao klijent i kao poslužitelj, oni su ranjiviji na napade. Takvi napadi mogu uključivati ​​uskraćivanje usluge ili distribuciju zlonamjernog softvera ili oštećenih podataka. Jedna studija utvrdio je da je 15 posto od pola milijuna datoteka preuzetih s Kazae zaraženo s 52 različita virusa.

Iako blockchains nisu 100 posto nepotkupljivi, Satoshi je smislio genijalno rješenje problema ranjivosti kada je napisao Bitcoin bijeli papir. Uvođenjem konsenzusnog protokola, svi čvorovi na Bitcoin mreži moraju se složiti da je transakcija valjana. Upotreba teorije igara natječe se da se svaki čvor nadmeće za sljedeći blok.

Uspješno iskopavanje sljedećeg bloka dolazi s nagradom, pružajući operatorima čvorova poticaj za održavanje mreže čistom. Pod uvjetom da 51 posto ili više operatora čvora radi u tandemu kako bi se nastavili natjecati za sljedeću nagradu za blok, blockchain nastavlja raditi bez napada.

Zaključak

Naravno, postoje i drugi elementi Bitcoina, poput upotrebe raspršivanja i kriptografskih potpisa, koji stvaraju spremište digitalne vrijednosti. Međutim, rješenje koje je izumio Satoshi za prevladavanje urođenih slabosti P2P arhitekture distribuiranog sustava ostaje jedna od najzanimljivijih i najinovativnijih komponenti blockchaina.

Od nastanka Bitcoina, mnogi su drugi smislili inventivni razvoj zasnovan na Satoshi-jevoj ideji. Ta se događanja nastavljaju do danas. Blockchain predstavlja revolucionarni korak u arhitekturi distribuiranog sustava. Nadalje, tehnologija će se razvijati još mnogo godina.

Istaknuta slika ljubaznošću tvrtke Pixabay