Vi förklarar peer-to-peer-nätverk
Hem
Artiklar
Vi förklarar peer-to-peer-nätverk

Vi förklarar peer-to-peer-nätverk

Avancerad
Publicerad Sep 30, 2019Uppdaterad Nov 16, 2022
7m

Vad är peer-to-peer (P2P)?

Inom datavetenskap består ett peer-to-peer-nätverk (P2P) av en grupp enheter som tillsammans lagrar och delar filer. Respektive deltagare (nod) fungerar som en enskild peer. Vanligtvis har alla noder samma makt och utför samma uppgifter.

Inom finansiell teknik betyder termen peer-to-peer vanligtvis utbyte av kryptovalutor eller digitala tillgångar via ett distribuerat nätverk. En P2P-plattform gör det möjligt för köpare och säljare att utföra handel utan behovet av mellanhänder. I vissa fall kan webbplatser även tillhandahålla en P2P-miljö som förbinder långivare och låntagare.

P2P-arkitektur kan vara lämplig för olika användningsområden, men den blev särskilt populärt på 1990-talet när de första fildelningsprogrammen skapades. Idag är P2P-nätverk kärnan i de flesta kryptovalutorna och utgör en stor del av blockkedjebranschen. De utnyttjas dock även i andra distribuerade datorapplikationer, inklusive webbsökmotorer, streamingplattformar, onlinemarknadsplatser och webbprotokollet Interplanetärt filsystem (IPFS).


Hur fungerar P2P?

I huvudsak upprätthålls ett P2P-system av ett distribuerat nätverk av användare. Vanligtvis har de ingen central administratör eller server, eftersom varje nod innehåller en kopia av filerna – de fungerar både som klient och som server till andra noder. Därför kan varje nod ladda ned filer från andra noder eller ladda upp filer till dem. Det är detta som skiljer P2P-nätverk från de mer traditionella klient-serversystemen, där klientenheter laddar ned filer från en centraliserad server.

I P2P-nätverk delar de anslutna enheterna filer som lagras på deras hårddiskar. Med hjälp av program som är utformade för att förmedla delning av data kan användarna begära att hitta och ladda ned filer från andra enheter i nätverket. När en användare har laddat ned en viss fil kan denne sedan fungera som en källa till den filen.

När en nod fungerar som en klient laddar den med andra ord ned filer från andra nätverksnoder. Men när den arbetar som en server är den källan från vilken andra noder kan ladda ned filer. I praktiken kan dock båda funktionerna köras samtidigt (till exempel nedladdning av fil A och uppladdning av fil B).

Eftersom varje nod lagrar, överför och tar emot filer tenderar P2P-nätverk att vara snabbare och effektivare när deras användarbas är större. Dessutom gör P2P-systemens distribuerade arkitektur dem mycket motståndskraftiga mot cyberattacker. Till skillnad från traditionella modeller har P2P-nätverk inte en enskild felpunkt.

Vi kan kategorisera peer-to-peer-system enligt deras arkitektur. De tre huvudtyperna av P2P-nätverk kallas ostrukturerade, strukturerade och hybrider.


Ostrukturerade P2P-nätverk

Ostrukturerade P2P-nätverk har ingen specifik organisation av noderna. Deltagarna kommunicerar slumpmässigt med varandra. Dessa system anses vara robusta mot att enheter lämnar (det vill säga flera noder som ofta ansluter sig till och lämnar nätverket).

Även om de är lättare att bygga kan ostrukturerade P2P-nätverk kräva högre CPU- och minnesanvändning, eftersom sökfrågor skickas ut till så många peers som möjligt. Detta tenderar att översvämma nätverket med uppgifter, särskilt om ett litet antal noder erbjuder ett populärt innehåll.


Strukturerade P2P-nätverk

Däremot har strukturerade P2P-nätverk en organiserad arkitektur, vilket gör att noder effektivt kan söka efter filer, även om innehållet inte är allmänt tillgängligt. I de flesta fall uppnås detta genom användningen av hashfunktioner som underlättar databassökningar.

Även om strukturerade nätverk kan vara mer effektiva, tenderar de att ha mer centralisering och kräver vanligtvis högre installations- och underhållskostnader. Förutom detta är strukturerade nätverk mindre robusta inför att noder snabbt lämnar nätverket.


Hybrid-P2P-nätverk

Hybrid-P2P-nätverk kombinerar den konventionella klient-servermodellen med vissa aspekter av peer-to-peer-arkitekturen. De kan till exempel designa en central server som underlättar anslutningen mellan noder.

Jämfört med de andra två typerna tenderar hybridmodeller att ha förbättrad total prestanda. De kombinerar vanligtvis några av de viktigaste fördelarna med varje tillvägagångssätt och uppnår en betydande grad av effektivitet och decentralisering samtidigt.


Distribuerad vs. decentraliserad

Även om P2P-arkitekturen i sig är distribuerad, är det viktigt att notera att det finns olika grader av decentralisering. Så alla P2P-nätverk är inte decentraliserade. 

Faktum är att många system förlitar sig på en central myndighet för att styra nätverksaktiviteten, vilket gör dem mer eller mindre centraliserade. Till exempel tillåter vissa P2P-fildelningssystem användarna att söka och ladda ned filer från andra användare, men de kan inte delta i andra processer, såsom att hantera sökfrågor.

Dessutom kan små nätverk som styrs av en begränsad användarbas med ett gemensamma mål också sägas ha en högre grad av centralisering, trots bristen på en centraliserad nätverksinfrastruktur.


P2P:s roll i blockkedjor

I Bitcoins tidiga skede definierade Satoshi Nakamoto det som ett "peer-to-peer-system för elektroniska kontanter." Bitcoin skapades som en form av digitala pengar. De kan överföras från en användare till en annan via ett P2P-nätverk, som hanterar en distribuerad huvudbok som kallas blockkedjan.

I detta sammanhang är P2P-arkitekturen som finns i blockkedjetekniken det som gör att Bitcoin och andra kryptovalutor kan överföras över hela världen, utan behov av mellanhänder eller någon central server. Vem som helst kan dessutom starta en Bitcoin-nod för att delta i processen med att verifiera och validera block.

Det finns alltså inga banker som behandlar eller registrerar transaktioner i Bitcoin-nätverket. Istället fungerar blockkedjan som en digital huvudbok, som offentligt registrerar all aktivitet. I grund och botten innehåller varje nod en kopia av blockkedjan och jämför den med andra noder för att säkerställa att alla data är korrekta. Nätverket avvisar snabbt skadlig aktivitet eller felaktighet.

I samband med blockkedjor för kryptovalutor kan noder ha en mängd olika roller. Fullständiga noder är till exempel de som ger säkerhet till nätverket genom att verifiera transaktioner mot systemets konsensusregler.

Varje fullständig nod upprätthåller en komplett och uppdaterad kopia av blockkedjan – så att de kan delta i det kollektiva arbetet med att verifiera det verkliga tillståndet för den distribuerade huvudboken. Det är dock inte alla fullständiga valideringsnoder som är miners.


Fördelar

Peer-to-peer-arkitekturen för blockkedjor har många fördelar. Bland de viktigaste är det faktum att P2P-nätverk erbjuder större säkerhet än det traditionella klient-serverupplägget. Distributionen av blockkedjor över ett stort antal noder gör dem praktiskt taget immuna mot Denial-of-Service (DoS)-attackerna som finns på många andra system.

Eftersom en majoritet av noderna måste skapa konsensus innan data läggs till i en blockkedja, är det därför nästan omöjligt för en angripare att ändra data. Detta gäller särskilt för stora nätverk såsom Bitcoin. Mindre blockkedjor är mer mottagliga för attacker eftersom en person eller grupp så småningom kan uppnå kontroll över en majoritet av noderna (detta kallas för en 51-procentsattack).

Därför ger det distribuerade peer-to-peer-nätverket, i kombination med ett majoritetskonsensuskrav, blockkedjorna en relativt hög grad av säkerhet mot skadlig aktivitet. P2P-modellen är en av anledningarna till att Bitcoin (och andra blockkedjor) kunde uppnå den så kallade bysantinska feltoleransen.

Utöver säkerhet gör användningen av P2P-arkitektur i kryptovalutablockkedjor dem även motståndskraftiga mot censur från centrala myndigheter. Till skillnad från vanliga bankkonton kan kryptovalutaplånböcker inte frysas eller beslagtas av regeringar. Detta gäller även censur från privata betalningshanterings- och innehållsplattformar. Vissa innehållsskapare och onlinehandlare antog kryptovalutabetalningar som ett sätt att undvika att deras betalningar blockeras av tredje part.


Begränsningar

Trots deras många fördelar har användningen av P2P-nätverk på blockkedjor även vissa begränsningar.

Eftersom distribuerade huvudböcker måste uppdateras på varje enskild nod istället för på en central server, kräver de en enorm mängd datorkraft att lägga till transaktioner i en blockkedja. Även om detta ger ökad säkerhet, minskar det effektiviteten ordentligt och är ett av de största hindren när det gäller skalbarhet och utbredd användning. Ändå letar kryptografer och blockkedjeutvecklare efter alternativ som kan användas som skalningslösningar. Lyckade exempel inkluderar protokollen Lightning Network, Ethereum Plasma och Mimblewimble.

En annan potentiell begränsning gäller attacker som kan uppstå under hårda gafflar. Eftersom de flesta blockkedjorna är decentraliserade och har öppen källkod är grupper av noder enkla att kopiera och ändra koden i och kan dela upp sig från huvudkedjan för att bilda ett nytt, parallellt nätverk. Hårda gafflar är helt normala och utgör inga hot på egen hand. Men om vissa säkerhetsmetoder inte används ordentligt kan båda kedjorna bli sårbara för replay-attacker.

Dessutom gör P2P-nätverkens distribuerade egenskaper dem relativt svåra att kontrollera och reglera, inte bara för blockkedjor. Flera P2P-applikationer och företag har varit inblandade i olagliga aktiviteter och upphovsrättsintrång.


Sammanfattningsvis

Peer-to-peer-arkitektur kan utvecklas och användas på många olika sätt och den är kärnan i blockkedjorna som gör kryptovalutor möjliga. Genom att distribuera transaktionshuvudböcker över stora nätverk av noder erbjuder P2P-arkitekturen säkerhet, decentralisering och säkerhet mot censur.

Förutom deras användbarhet inom blockkedjeteknik kan P2P-system också unerlätta för andra distribuerade datorapplikationer, allt från fildelningsnätverk till energihandelsplattformar.