Peer-to-peer netwerken uitgelegd

Delen
Copied to clipboard!
Peer-to-peer netwerken uitgelegd
Luister naar het artikel
00:00 / 00:00

Wat is peer-to-peer (P2P)?

In de informatica bestaat een peer-to-peer (P2P) netwerk uit een groep apparaten die gezamenlijk bestanden opslaan en delen. Elke deelnemer (node) fungeert als een individuele peer. Doorgaans zijn alle knooppunten gelijkwaardig en voeren ze dezelfde taken uit.

In de financiële wereld verwijst de term peer-to-peer gewoonlijk naar de uitwisseling van cryptovaluta of digitale activa via een gedistribueerd netwerk. Een P2P-platform stelt kopers en verkopers in staat om transacties uit te voeren zonder tussenkomst van derden. In sommige gevallen kunnen websites ook een P2P-omgeving aanbieden waar kredietverstrekkers en kredietnemers met elkaar worden verbonden.

P2P-architectuur kan worden ingezet voor verschillende toepassingen, maar werd vooral populair in de jaren negentig toen de eerste programma's voor het delen van bestanden op de markt kwamen. Tegenwoordig vormen P2P-netwerken de kern van de meeste cryptovaluta, die op hun beurt de blockchainindustrie domineren. Ze worden echter ook gebruikt in andere gedistribueerde toepassingen, waaronder webzoekmachines, streaming-platformen, online marktplaatsen en het InterPlanetary File System (IPFS) webprotocol.


Hoe werkt P2P?

In essentie wordt een P2P-systeem onderhouden door een gedistribueerd netwerk van gebruikers. Meestal is er geen centrale beheerder of server, omdat iedere node een kopie van de bestanden bezit - zowel als client en als server voor andere nodes. Zo kan iedere node bestanden downloaden van andere nodes of bestanden uploaden naar andere nodes. Dit is wat P2P-netwerken onderscheidt van meer traditionele client-serversystemen, waarin client-apparaten bestanden downloaden van een gecentraliseerde server.

Op P2P-netwerken delen de aangesloten apparaten bestanden die zijn opgeslagen op hun harde schijven. Met behulp van software die specifiek is ontworpen om te bemiddelen bij het delen van gegevens, kunnen gebruikers andere apparaten op het netwerk raadplegen om bestanden te vinden en te downloaden. Zodra een gebruiker een bepaald bestand heeft gedownload, kan hij zelf als bron van dat bestand fungeren.

Met andere woorden, wanneer een node als client fungeert, downloadt hij bestanden van andere netwerknodes. Maar als hij als server fungeert, is hij de bron van waaruit andere nodes bestanden kunnen downloaden. In de praktijk kunnen beide functies echter tegelijkertijd worden uitgevoerd (bijvoorbeeld het downloaden van bestand A en het uploaden van bestand B).

Aangezien iedere node bestanden opslaat, verzendt en ontvangt, zijn P2P-netwerken over het algemeen sneller en efficiënter naarmate het gebruikersbestand groter is. Bovendien maakt de gedistribueerde architectuur P2P-systemen zeer goed bestand tegen cyberaanvallen. In tegenstelling tot traditionele modellen bevatten P2P-netwerken namelijk geen zogenaamd single point of failure of centrale kwetsbaarheid.

We kunnen peer-to-peer-systemen categoriseren op basis van hun architectuur. De drie hoofdtypen worden ongestructureerde, gestructureerde en hybride P2P-netwerken genoemd.


Ongestructureerde P2P-netwerken

Ongestructureerde P2P-netwerken hebben geen specifieke organisatie van de nodes. De deelnemers communiceren willekeurig met elkaar. Deze systemen worden als robuust tegen hoge churn-activiteit (d.w.z., het vaak verbinden met en verlaten van het netwerk door meerdere nodes) beschouwd.

Hoewel het bouwen van ongestructureerde P2P-netwerken relatief gezien eenvoudiger is, kunnen ongestructureerde P2P-netwerken meer rekenkracht en geheugen vereisen omdat zoekopdrachten worden verzonden naar een zo groot mogelijk aantal peers. Dit heeft als gevolg dat een ongestructureerd netwerk de neiging heeft om overspoeld te raken met zoekopdrachten, vooral als slechts een klein aantal nodes de gewenste content aanbiedt.


Gestructureerde P2P-netwerken

Daarentegen maken gestructureerde P2P-netwerken gebruik van een georganiseerde architectuur, waardoor nodes efficiënt naar bestanden kunnen zoeken ook al zijn deze niet overal beschikbaar. In de meeste gevallen wordt dit bereikt door het gebruik van hash-functies die het doorzoeken van databases vergemakkelijken.

Hoewel gestructureerde netwerken efficiënter kunnen zijn, hebben ze meestal een hogere mate van centralisatie en vereisen ze vaak hogere opzet- en onderhoudskosten. Daarnaast zijn gestructureerde netwerken minder robuust wanneer ze te maken krijgen met hoge churn rates.


Hybride P2P-netwerken

Hybride P2P-netwerken combineren het conventionele client-server model met bepaalde aspecten van peer-to-peer-architectuur. Zo kan een hybride netwerk bijvoorbeeld een centrale server bevatten die het verbinding maken tussen peers faciliteert.

Vergeleken met de andere twee typen presteren hybride netwerken over het algemeen beter. Ze combineren meestal een aantal van de belangrijkste voordelen van beide afzonderlijke systemen, waardoor ze tegelijkertijd aanzienlijk efficiënter en meer gedecentraliseerd worden.


Gedistribueerd vs. gedecentraliseerd

Hoewel de P2P-architectuur inherent gedistribueerd is, is het belangrijk om op te merken dat er verschillende niveaus van decentralisatie zijn. Niet alle P2P-netwerken zijn dus per definitie gedecentraliseerd.

In feite vertrouwen veel systemen op een centrale autoriteit om de netwerkactiviteit te sturen, waardoor er geen sprake is van absule decentralisatie. Zo stellen sommige P2P-systemen voor het delen van bestanden gebruikers in staat om bestanden van andere gebruikers te doorzoeken en te downloaden, maar kunnen zij niet deelnemen aan andere processen zoals het faciliteren van zoekopdrachten.

Ook kunnen kleine netwerken die worden beheerd door een beperkt aantal gebruikers die allen hetzelfde doel hebben, worden beschouwd als netwerken met een hogere mate van centralisatie ondanks het ontbreken van een gecentraliseerde netwerkinfrastructuur.


De rol van P2P in blockchains

In het beginstadium van Bitcoin definieerde Satoshi Nakamoto het als een "Peer-to-Peer Electronic Cash System" - Bitcoin was gemaakt als een digitale vorm van geld. Het kon van de ene gebruiker naar de andere worden overgedragen via een P2P-netwerk dat een gedistribueerd grootboek beheert, de zogenaamde blockchain.

In deze context is de P2P-architectuur, die inherent is aan blockchaintechnologie, het systeem dat het mogelijk maakt om Bitcoin en andere cryptovaluta wereldwijd te versturen zonder dat er tussenpersonen of centrale servers nodig zijn. Ook kan iedereen een Bitcoin-node opzetten als hij of zij wil deelnemen aan het verifiëren en valideren van blocks.

Er zijn dus geen banken die transacties in het Bitcoin-netwerk verwerken of registreren. In plaats daarvan fungeert de blockchain als een digitaal grootboek dat alle activiteiten in het openbaar vastlegt. In principe heeft iedere node een kopie van de blockchain en vergelijkt het deze met andere nodes om zeker te zijn van de juistheid van de gegevens. Het netwerk verwerpt zo snel iedere vorm van kwaadaardige activiteit of onnauwkeurigheid.

In de context van cryptovaluta-blockchains kunnen nodes een verscheidenheid aan functies vervullen. Volledige of 'full' nodes beveiligen bijvoorbeeld het netwerk door transacties te toetsen aan de consensusregels van het systeem.

Elke full node onderhoudt een volledige en actuele kopie van de blockchain, waardoor ze kunnen deelnemen aan de collectieve taak van het verifiëren van de juistheid van het gedistribueerde grootboek. Het is echter de moeite waard om op te merken dat niet alle validerende full nodes ook miners zijn.


Voordelen

De peer-to-peer architectuur van blockchains biedt veel voordelen. Een van de belangrijkste daarvan is het feit dat P2P-netwerken meer veiligheid bieden dan traditionele client-server-netwerken. De distributie van blockchains over grote aantallen nodes maakt ze vrijwel immuun voor Denial of Service (DoS) aanvallen die tal van systemen teisteren.

Ook is het bijna onmogelijk voor een aanvaller om de gegevens in een blockchain te wijzigen, omdat een meerderheid van de nodes consensus moet bereiken voordat gegevens aan een blockchain worden toegevoegd. Dit geldt vooral voor grote netwerken zoals dat van Bitcoin. Kleinere blockchains zijn gevoeliger voor aanvallen omdat één persoon of groep uiteindelijk de controle kan krijgen over een meerderheid van de nodes (dit staat ook wel bekend als een 51-procent aanval).

Als gevolg hiervan geeft een gedistribueerde peer-to-peer-netwerk in combinatie met meerderheidsconsensus blockchains een relatief hoge mate van bescherming tegen kwaadwillende activiteiten. Het P2P-model is een van de redenen waarom Bitcoin (en andere blockchains) in staat waren om zogenaamde Byzantijnse fouttolerantie te bereiken.

Naast veiligheid maakt het gebruik van P2P-architectuur in cryptovaluta-blockchains deze ook bestand tegen censuur door centrale autoriteiten. In tegenstelling tot standaard bankrekeningen kunnen crypto wallets niet worden bevroren of leeggezogen door een overheid. Deze weerstand strekt zich ook uit tot censuur door particuliere betalingsverwerkings- en contentplatformen. Sommige contentmakers en online handelaren accepteren nu betalingen in cryptovaluta als een manier om te voorkomen dat hun betalingen door derden worden tegengehouden.


Beperkingen

Ondanks de vele voordelen heeft het gebruik van P2P-netwerken voor blockchains ook enkele beperkingen.

Omdat gedistribueerde grootboeken op iedere node moeten worden bijgewerkt in plaats van alleen op een centrale server, vereist het toevoegen van transacties aan een blockchain een enorme hoeveelheid rekenkracht. Hoewel dit voor meer veiligheid zorgt, vermindert het de efficiëntie aanzienlijk en is het een van de belangrijkste obstakels als het gaat om schaalbaarheid en wijdverbreide adoptie. Toch onderzoeken cryptografen en blockchainontwikkelaars alternatieven die kunnen worden ingezet om het probleem van schaalbaarheid op te lossen. Prominente voorbeelden zijn onder andere het Lightning Network,Ethereum Plasma en het Mimblewimble-protocol.

Een andere mogelijke beperking heeft betrekking op aanvallen die zich kunnen voordoen tijdens zogenaamde hard forks. Aangezien de meeste blockchains gedecentraliseerd en open source zijn, kunnen groepen nodes eenvoudig de code te kopiëren, wijzigen en afsplitsen van de hoofdblockchain om zo een nieuw parallel netwerk te vormen. Hard forks zijn een normaal onderdeel van blockchains en geen bedreiging op zich, maar als bepaalde beveiligingsmethoden niet goed worden toegepast kunnen beide blockchains kwetsbaar worden voor replay-aanvallen.

Bovendien is het door het gedistribueerde karakter van P2P-netwerken relatief moeilijk om deze te controleren en te reguleren, niet alleen in de blockchain-niche. Verschillende P2P-applicaties en bedrijven zijn inmiddels al betrokken geraakt bij illegale activiteiten en inbreuk op het auteursrecht.


Tot slot

Peer-to-peer architectuur kan op veel verschillende manieren worden ontwikkeld en gebruikt en vormt de kern van cryptovaluta-blockchains. Door het verdelen van transactiegrootboeken over grote netwerken van nodes maakt P2P-architectuur veiligheid, decentralisatie en censuurbestendigheid mogelijk.

Naast hun nut in blockchains kunnen P2P-systemen ook voor andere gedistribueerde toepassingen worden ingezet, variërend van netwerken voor het delen van bestanden tot platformen voor het verhandelen van energiecontracten.

Loading