När du skapar ett distribuerat datanätverk finns det olika typer av distribuerad systemarkitektur som kan distribueras. I den här artikeln tar vi en djupare titt på typerna av distribuerad systemarkitektur, med ett specifikt fokus på den peer-to-peer-distribuerade systemarkitekturen för blockchain.

Typer av distribuerad systemarkitektur

Client-Server Model

Program som e-post eller nätverksskrivare använder vanligtvis klientserverarkitekturen. I huvudsak har leverantörer (kallade servrar) och begärare (kallade klienter) olika roller. Servern hanterar alla krav på bearbetning, datahantering och databehandling som är tillgängliga på begäran för klienten. Om en databaspost ändras behöver klienten inte nödvändigtvis göra någonting. Endast data på servern behöver ändras.

Servern behöver inte vara en enda enhet i den här modellen; det kan vara flera servrar som utför liknande uppgifter för att distribuera arbetsbelastningen. Modellen refererar till klientens och serverns roll snarare än den specifika hårdvaran.

Klient-server modell diagram

Ett klient-server-modelldiagram. Källa: Wikimedia Commons

Vi använder klient-server-interaktioner varje dag, varje gång vi använder en bärbar dator eller smartphone för att surfa på nätet, använda sociala medier, spela mobilspel eller titta på en film på Netflix. Client-server distribuerad systemarkitektur är vad vi hänvisar till när vi pratar om “centraliserade” datorsystem, i motsats till blockchain som en decentraliserad distribuerad systemarkitektur.

Även om detta är en enkel förklaring finns det olika typer av klient-serverarkitektur, till exempel tre nivåer. Denna modell innefattar att separera servern som kör själva applikationen från servern som innehåller data bakom applikationen. Det finns andra, men eftersom de inte är relevanta för blockchain kommer vi inte att analysera dem alla här.

Peer-to-Peer-modell

En peer-to-peer (P2P) distribuerad systemarkitektur har inga specifika klienter eller servrar. Ett P2P-nätverk är ett distribuerat system av maskiner som kallas noder. Alla noder kan utföra rollen som klient och server antingen samtidigt eller vid olika tidpunkter. Modellen är inneboende i själva namnet – i ett P2P-nätverk är varje maskin lika jämlik, snarare än att vara en klient eller en server.

P2P-nätverk blir populära efter lanseringen av fildelningstjänster som musikdelningssidan Napster. Idén om P2P fick ett slags kultstatus eftersom system kunde fungera oberoende av centraliserad kontroll. Idag, utanför blockchain, är fildelningsprotokollet BitTorrent förmodligen det största och mest igenkännliga namnet associerat med P2P-nätverk.

Ostrukturerade kontra strukturerade nätverk


Baserat på hur noderna länkar till varandra och hur data indexeras och upptäcks klassificeras P2P-nätverk som strukturerade eller ostrukturerade. I ett ostrukturerat system bildar noder helt enkelt slumpmässiga anslutningar till varandra. Ostrukturerade nätverk är enkla att bygga och skala upp eller ner.

Ostrukturerat nätverksdiagram för peer-to-peer (Källa: Wikimedia Commons)

Men eftersom de är ostrukturerade gör det indexering mycket svårare. Om en nod vill hitta en viss bit data eller en annan nod, måste den översvämma nätverket för att nå så många noder som möjligt som kan vara ett potentiellt mål för sökningen. Detta använder mer nätverkseffekt, eftersom alla noder måste behandla alla förfrågningar. Dessutom, om data är sällsynta, kanske det inte kan hittas om alla noder i nätverket inte kan behandla alla förfrågningar. Exempel på ostrukturerade nätverk inkluderar Kazaa och Limewire.

Å andra sidan är det enkelt att hitta data i ett strukturerat nätverk. Strukturerade nätverk använder en distribuerad hash-tabell för att identifiera vilka kamrater som har vilka filer och versioner av filer. Ackord är ett exempel på ett strukturerat P2P-nätverk.

Distribuerat hashbord

Diagram över en distribuerad hashtabell, som används i strukturerade P2P-nätverk. Källa: Wikimedia Commons

Varför Blockchain är speciellt

Som en ren modell för distribuerad systemarkitektur har P2P-nätverk olika fördelar och utmaningar. Den viktigaste fördelen är motståndskraft mot stillestånd eftersom det inte finns någon central punkt för misslyckande.

Eftersom noder i ett P2P-nätverk fungerar som både klient och server är de dock mer utsatta för attacker. Sådana attacker kan innefatta förnekelse av tjänst eller distribution av skadlig kod eller skadad data. En studie fann att 15 procent av en halv miljon filer som hämtats från Kazaa var infekterade med 52 olika virus.

Medan blockkedjor inte är 100 procent oförstörbara kom Satoshi med en genial lösning på sårbarhetsproblemet när han skrev Bitcoin vitt papper. Genom att införa ett konsensusprotokoll måste alla noder i Bitcoin-nätverket vara överens om att en transaktion är giltig. Användningen av spelteori har varje nod som konkurrerar om att bryta nästa block.

Att lyckas bryta nästa block kommer med en belöning, vilket ger nodoperatörer ett incitament att hålla nätverket rent. Förutsatt att 51 procent eller mer av nodoperatörerna arbetar tillsammans för att fortsätta tävla om nästa blockbelöning fortsätter blockchain att köra utan attacker.

Slutsats

Naturligtvis finns det andra element i Bitcoin, såsom användning av hashing och kryptografiska signaturer, som skapar digitala butikslager. Den lösning som Satoshi uppfann för att övervinna de inneboende svagheterna i en P2P-distribuerad systemarkitektur är fortfarande en av de mest övertygande och innovativa komponenterna i blockchain..

Sedan starten av Bitcoin har många andra kommit med uppfinningsrik utveckling baserad på Satoshis idé. Denna utveckling fortsätter till denna dag. Blockchain representerar ett revolutionerande steg i distribuerad systemarkitektur. Dessutom kommer tekniken fortfarande att utvecklas under många år framöver.

Utvalda bilder med tillstånd av Pixabay

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