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.