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.