Om P2P-netværk
Hjem
Artikler
Om P2P-netværk

Om P2P-netværk

Let øvet
Offentliggjort Sep 30, 2019Opdateret Nov 16, 2022
7m

Hvad er P2P (peer-to-peer)?

Inden for datalogi består et P2P-netværk af en gruppe enheder, der sammen lagrer og deler filer. Hver deltager (node) fungerer som en individuel peer. Alle noder vil typisk have de samme beføjelser og udføre de samme opgaver.

Inden for finansiel teknologi henviser udtrykket P2P normalt til udveksling af kryptovalutaer eller digitale aktiver via et distribueret netværk. En P2P-platform giver købere og sælgere mulighed for at udføre handler uden behov for mellemled. I nogle tilfælde kan websites også have et P2P-miljø, der forbinder långivere og låntagere.

P2P-arkitektur kan være velegnet til forskellige use cases, men det blev især populært i 1990'erne, da de første fildelingsprogrammer blev skabt. I dag er P2P-netværk kernen i de fleste kryptovalutaer og udgør en stor del af blockchain-branchen. De udnyttes dog også i andre distribuerede computerapplikationer, herunder websøgemaskiner, streamingplatforme, onlinemarkedspladser og webprotokollen InterPlanetary File System (IPFS).


Hvordan fungerer P2P?

Et P2P-system vedligeholdes dybest set af et distribueret netværk af brugere. De har normalt ingen central administrator eller server, fordi hver node har en kopi af filerne og dermed fungerer som både klient og server for andre noder. Hver node kan således downloade filer fra andre noder eller overføre filer til dem. Dette adskiller P2P-netværk fra de mere traditionelle klient-server-systemer, hvor klientenheder downloader filer fra en centraliseret server.

På P2P-netværk deler de forbundne enheder filer, der er lagret på deres harddiske. Ved hjælp af softwareapplikationer, som er designet til at formidle delingen af data, kan brugerne forespørge andre enheder på netværket for at finde og downloade filer. Når en bruger har downloadet en given fil, kan vedkommende derefter fungere som en kilde til den fil.

Sagt på en anden måde: Når en node fungerer som klient, downloader noden filer fra andre netværksnoder. Men når noden fungerer som server, er noden den kilde, som andre noder kan downloade filer fra. I praksis kan begge funktioner dog udføres på samme tid (f.eks. download af fil A og overførsel af fil B).

Da hver node lagrer, transmitterer og modtager filer, har P2P-netværk en tendens til at blive hurtigere og mere effektive, i takt med at deres brugerbase bliver større. Deres distribuerede arkitektur gør også P2P-systemer meget modstandsdygtige over for cyberangreb. I modsætning til traditionelle modeller har P2P-netværk ikke et enkeltstånde fejlpunkt.

Vi kan kategorisere P2P-systemer i overensstemmelse med deres arkitektur. De tre hovedtyper kaldes ustrukturerede, strukturerede og hybride P2P-netværk.


Ustrukturerede P2P-netværk

Ustrukturerede P2P-netværk har ikke nogen specifik organisering af noderne. Deltagerne kommunikerer tilfældigt med hinanden. Disse systemer betragtes som robuste i forhold til høj udskiftningsaktivitet (dvs. hvor flere noder hyppigt slutter sig til og forlader netværket).

Selvom ustrukturerede P2P-netværk er lettere at opbygge, kan de kræve højere forbrug af CPU og hukommelse, fordi søgeforespørgsler sendes ud til det højest mulige antal peers. Dette plejer at drukne netværket i forespørgsler, især hvis et lille antal noder tilbyder det ønskede indhold.


Strukturerede P2P-netværk

I modsætning hertil har strukturerede P2P-netværk en organiseret arkitektur, der gør det muligt for noder effektivt at søge efter filer, også selvom indholdet ikke er bredt tilgængeligt. I de fleste tilfælde opnås dette ved brug af hash-funktioner, der muliggør databaseopslag.

Selvom strukturerede netværk kan være mere effektive, har de ofte en højere grad af centralisering, og de kræver normalt højere installations- og vedligeholdelsesomkostninger. Derudover er strukturerede netværk mindre robuste, når de oplever høj grad af udskiftning.


Hybride P2P-netværk

Hybride P2P-netværk kombinerer den konventionelle klient-server-model med nogle af P2P-arkitekturens aspekter. De kan f.eks. designe en central server, der muliggør forbindelsen mellem peers.

Sammenlignet med de to andre typer har hybridmodeller ofte en forbedret ydeevne samlet set. De kombinerer normalt nogle af de vigtigste fordele ved hver tilgang og opnår betydelige grader af effektivitet og decentralisering samtidigt.


Distribueret vs. decentraliseret

Selvom P2P-arkitekturen i sagens natur er distribueret, er det vigtigt at bemærke, at der er forskellige grader af decentralisering. Det er dermed ikke alle P2P-netværk, der er decentraliserede. 

Faktisk er mange systemer afhængige af, at en central myndighed styrer netværksaktiviteten, hvilket gør dem forholdsvis centraliserede. Nogle P2P-fildelingssystemer giver f.eks. brugerne mulighed for at søge efter og downloade filer fra andre brugere, men de kan ikke være med i andre processer såsom at administrere søgeforespørgsler.

Derudover kan små netværk, der kontrolleres af en begrænset brugerbase med fælles mål, også siges at have en højere grad af centralisering til trods for manglen på en centraliseret netværksinfrastruktur.


P2P's rolle i blockchains

I de tidlige stadier af bitcoin definerede Satoshi Nakamoto det som et elektronisk P2P-kontantsystem (Peer-to-Peer Electronic Cash System). Bitcoin blev skabt som en digital form for kontanter. Den kan overføres fra én bruger til en anden via et P2P-netværk, der administrerer en distributed ledger kaldet blockchain.

I denne sammenhæng er P2P-arkitekturen, der er uløseligt forbundet med blockchain-teknologi, dét, som gør det muligt at overføre bitcoin og andre kryptovalutaer over hele verden uden behov for mellemled eller nogen central server. Alle kan desuden oprette en bitcoin-node, hvis de ønsker at deltage i processen med at verificere og validere blokke.

Der er altså ingen banker, der behandler eller registrerer transaktioner i bitcoin-netværket. I stedet fungerer blockchainen som en digital ledger, der offentligt registrerer al aktivitet. Grundlæggende har hver node en kopi af blockchainen og sammenligner den med andre noder for at sikre, at dataene er nøjagtige. Netværket afviser hurtigt enhver ondsindet aktivitet eller unøjagtighed.

I forbindelse med kryptovaluta-blockchains kan noder påtage sig en række forskellige roller. Komplette noder er for eksempel dem, der sikrer netværket ved at verificere transaktioner ud fra systemets konsensusregler.

Hver komplet node opretholder en komplet, opdateret kopi af blockchainen, så noden kan deltage i det kollektive arbejde med at verificere distributed ledgers sande tilstand. Det er dog værd at bemærke, at ikke alle komplette validerende noder er minere.


Fordele

P2P-arkitekturen i blockchains giver mange fordele. En af de vigtigste fordele er, at P2P-netværk tilbyder større sikkerhed end traditionelle klient-server-systemer. Distributionen af blockchains blandt et stort antal noder gør dem næsten immune over for DoS-angreb (Denial-of-Service), der plager adskillige systemer.

Fordi et flertal af noder skal etablere konsensus, før der føjes data til en blockchain, er det ligeledes næsten umuligt for en angriber at ændre dataene. Dette gælder især for store netværk som bitcoin-netværket. Mindre blockchains er mere modtagelige over for angreb, fordi én person eller gruppe i sidste ende kan få kontrol over et flertal af noderne (dette er kendt som et 51 %-angreb).

Som følge heraf giver det distribuerede P2P-netværk, parret med et krav om flertalskonsensus, blockchains en relativt høj grad af modstand mod ondsindet aktivitet. P2P-modellen er en af grundene til, at bitcoin (og andre blockchains) kunne opnå den såkaldte byzantinske fejltolerance.

Ud over at yde sikkerhed gør brugen af P2P-arkitektur i kryptovaluta-blockchains dem også modstandsdygtige over for censur fra centrale myndigheder. I modsætning til standardbankkonti kan kryptovaluta-wallets ikke indefryses eller tømmes af myndigheder. Denne modstand gælder også udøvelse af censur fra private betalingsbehandlingsplatforme og indholdsplatforme. Nogle indholdsskabere og onlineforhandlere har indført kryptovaluta-betalinger som en måde til at undgå at få deres betalinger blokeret af tredjeparter.


Begrænsninger

På trods af P2P-netværks mange fordele har brugen af dem på blockchains også visse begrænsninger.

Eftersom distributed ledgers skal opdateres på hver enkelt node i stedet for på en central server, kræver det en enorm mængde computerkraft at føje transaktioner til en blockchain. Selvom dette giver øget sikkerhed, reducerer det effektiviteten betydeligt og er en af de største hindringer, når det kommer til skalerbarhed og udbredelse. Ikke desto mindre undersøger kryptografer og blockchain-udviklere alternativer, der kan bruges som skaleringsløsninger. Vigtige eksempler omfatter Lightning Network-, Ethereum Plasma- og Mimblewimble-protokollerne.

En anden potentiel begrænsning vedrører angreb, der kan opstå under hard fork-begivenheder. Da de fleste blockchains er decentraliserede og open source, er grupper af noder fri til at kopiere og ændre koden og adskille sig fra main chain for at danne et nyt, parallelt netværk. Hard forks er helt normale og ikke en trussel i sig selv. Men hvis visse sikkerhedsmetoder ikke bruges korrekt, kan begge kæder være sårbare over for replay-angreb.

Desuden gør P2P-netværkenes distribuerede karakter dem relativt vanskelige at kontrollere og regulere, ikke kun i blockchain-nichen. Flere P2P-applikationer og -virksomheder er blevet involveret i ulovlige aktiviteter og krænkelser af ophavsretten.


Sammenfatning

P2P-arkitektur kan udvikles og bruges på mange forskellige måder og er kernen i de blockchains, der muliggør kryptovalutaer. Ved at distribuere transaktions-ledgers på tværs af store netværk af noder tilbyder P2P-arkitektur sikkerhed, decentralisering og modstand mod censur.

Ud over deres anvendelighed i blockchain-teknologi kan P2P-systemer også fungere i andre distribuerede computerapplikationer, lige fra fildelingsnetværk til energihandelsplatforme.