Mik azok a peer-to-peer hálózatok?

Az offline hatalmak nem szeretik ha kicsúszik a kezük közül az irányítás. Ha viszont megjelennek a peer-to-peer hálózatok, akkor pontosan ez történik és ez általában nem szokott tetszeni a vezetőknek. Ilyen érdekes dolgokra képesek ezek a peer-to-peer hálózatok? Igen ám, de mit is jelent pontosan ez a kifejezés? Már meglehetősen régóta léteznek, azonban kevesen tudják talán, hogy pontosan hogyan épülnek fel és mire jók.

A peer-to-peer hálózatok történelme megközelítőleg 20 évvel ezelőttre nyúlik vissza. Egy jelentős képviselőjük a népszerű Napster fájlmegosztó rendszer volt. A Napstert 1999 június 1-én hozta létre az egyetemről kibukott Shawn Fanning, főleg zeneszámok megosztására. Shawn vagyona 2019-ben 124 millió amerikai dollár volt, szóval lehet hogy jobban is tette hogy nem végezte el az egyetemet. Shawn jó humoráról is számot adott, miután a Metallicával folytatott per után egy Metallicás pólóban jelent meg és amikor megkérdezték tőle, hogy honnan van a póló, azt mondta, hogy egy barátja osztotta meg vele. A Metallicának az nem tetszett, hogy a hálózatban már akkor keringet egy számuk, amikor azt még ki sem adták. Nyilván így nehéz lett volna nekik bezsebelni a dollár milliókat a szám kiadása után.

A Napster 2001 júliusáig üzemelt. Mivel állítólag számos szerzői jogot megsértett a kiadók nagy erőkkel dolgoztak a peer-to-peer hálózat ellehetetlenítésén. A Napster a csúcspontján 80 millió regisztrált felhasználóval rendelkezett, és népszerűségét a ritka zeneszámok megosztásában lehetett keresni. Sok egyetemi kollégium szerver az Amerikai Egyesült Államokban túlterheltté vált, mert az adatforgalmak 80%-a MP3 zenefájlok le és feltöltésével volt kitöltve. Egy idő után a kollégiumi hálózatokat üzemeltető rendszergazdák tiltották a Napstert kiszolgáló protokollt, mert másképp nem tudtak megküzdeni a robbanásszerűen megnövekedett adatforgalommal.




A Napster lekapcsolása után számos más peer-to-peer fájlmegosztó szolgáltatás látott napvilágot, ezek közözz voltak a következők: Gnutella, Freenet, BearShare, Soulseek, AudioGalaxy, LimeWire, Scour, Kazaa, Grokster, Madster és a eDonkey2000. Ezek folyamatosan csökkentették a kiadók bevételeit és nagyon nehéz volt bármiféle sápot leszedni a felhasználóktól, pontosan azért mert a hálózat tagjai nem egy központi szerverhez csatlakozik, hanem képesek tulajdonképp egymással közvetlenül felvenni a kapcsolatot és egymás között megosztani fájldarabokat. Szóval nekem megvan egy szám egyharmada, apukámnak még egy harmada, a szomszédnak meg még egy és így össze tudjuk rakni az egész számot. Ilyen módon működnek a peer-to-peer zenemegosztók. Ezt természetesen el lehet játszani film fájlokkal és bármilyen tetszőleges más típusú fájllal is és így születik meg a bittorrent például.

A peer-to-peer hálózatok az egalitarizmus alapelvére épülnek, miszerint minden ember egyenlő. Igazándiból a legdemokratikusabb berendezkedésnek tekinthetők, amelyben minden felhasználó egyenlő jogosultsággal rendelkezik, nincsenek tehát privilégiummal rendelkező másoknál úgymond egyenlőbb felhasználók, hanem ha valaki csatlakozik a hálózathoz, akkor köteles úgy viselkedni mint a többi.

A klasszikus kliens-szerver megoldások, amelyeket akkor használunk, amikor például netbankunkhoz csatlakozunk ettől eltérnek. Egy peer-to-peer hálózat esetében mindenki egyszerre kliens is és szerver is. Ennek következtében mindenki intézhet kéréseket a másik felé és mindenki köteles válaszolni is a hálózat többi résztvevője számára. A legtöbb peer-to-peer hálózatban az adatforgalmat a mai napig a klasszikus TCP/IP protokoll valósítja meg.

A csomópontok kapcsolódásától függően megkülönböztetünk strukturált, nem strukturált és hibrid hálózatokat. A strukturálatlan peer-to-peer hálózatok esetében a csomópontok nem rendeződnek rendszerben, azok egymáshoz való csatlakozása véletlenszerűen történik és ezáltal könnyű őket felépíteni. A másik oldalról viszont felmerül egy probléma, és ez pontosan a strukturálatlanságból fakad. Egy ilyen hálózatban nem biztos, hogy egy adott kliens mindig megtalál minden információt, mert lehet, hogy épp nem csatlakozik olyan csomópontokhoz, amelyek birtokolnák az adott információ darabot. Ilyenkor a kérés tovább terjedhet, de ez nagyon sok időt vehet igénybe, és az meglehetősen leterhelheti a hálózatot.

A strukturált peer-to-peer hálózatok felépítése valamilyen rendszert követ és ennek következtében a csomópontok még akkor is ha a hálózat nagyon kevés csomópontból áll nagy valószínűséggel megtalálják a keresett fájlokat. A fájlok indexelését egy ilyen hálózatban elosztott hasheléssel oldják meg (Distributed hash table). Egy ilyen hash tábla segítségével egy kliens gyorsan ki tudja nyerni az általa keresett információt tartalmazó csomópont címét és hatékonyan le tudja kérdezni a keresett információt. Egy strukurált peer-to-peer hálózat esetében a hatékony információáramlás biztosítása érdekében a csomópontoknak érdemes letárolni az aktuális szomszédos csomópontok listáját, ez azonban problémákhoz vezethet akkor, ha a hálózatot nagy frekvenciával hagyják el és gyakran lépnek be új csomópontok, mert ekkor mindig frissíteni kell a csomópontok listáját. A C++ nyelven írt BitTorrent kliens, a Tixati például egy ilyen elosztott hash táblát használ, de meg lehet még említeni a Kad hálózatot, a Storm botnetet, a YaCy, és a Coral Tartalm Megosztó Hálózatot (Coral Content Distribution Network).




Az internet megjelenésével elég kézenfekvő az a megoldás, amelynek segítségével a kliensek közvetlenül csatlakoznak egymáshoz és nem pedig egy központi szerveren keresztül. Ezen az ötleten alapulva hozták létre az első kriptovalutákat is, közöttük a bitcoint, amelynek ősblokkját 2009 januárjában bányászták ki. A kriptovaluták igazándiból a klasszikus kliens-szerver alapú megoldásokat váltják ki a pénzügyi világban, ahol ha valamilyen pénzügyi tranzakciót akarunk eszközölni, akkor először mindig a bankunkkal kell beszélni. Ennek tökéletes (vagy tökéletlen?) alternatívája lehet egy peer-to-peer hálózat alapú pénzügyi megoldás és ezeket hívjuk a bitcoin megjelenése óta kriptovalutáknak. Igen ám, de ha mindenki azonos jogot kap a hálózatban és senki nem ellenőrzi a résztvevők működését, akkor nem lehetnek ebből problémák? Mint kiderül lehetnek. És nem is kevés. Ott van például az egalitarizmus problémájából adódó Sybil támadás vagy az önző bányászat kérdése. Egy néhány évvel a bitcoin megjelenése után izraeli szakemberek rámutattak a peer-to-peer hálózat alapú kriptovaluta hálózatok sebezhetőségére és hangsúlyozták, hogy a bitcoin (és a többi kriptovaluta is) számos veszélyt rejt magában.

Ez nem azt jelenti természetesen, hogy akkor a kriptovaluták, mint ötlet teljesen kidobandó, csak arról van szó, hogy a technológiát először érdemes megérteni és a kockázatainak elfogadása mellett kell őket használni.

Sok szakember szerint az alapvető problémát a peer-to-peer hálózaton alapuló kriptovaluták hitelesítési eljárása okozza. Jelenleg a legtöbb kriptovaluta a PoW (proof-of-work) módszert adaptálta a tranzakciók hitelesítésére, azonban sokan jobban hisznek a PoS (proof-of-stake) algoritmusban, amely biztonságosabbá tehetné (How to make cryptocurrency networks more secure?) a kriptovaluta hálózatokat. Az Etherum esetében egy hatalmas evolúciós folyamatnak lehetünk szemtanúi, hiszen a fejlesztők most állítják át az eddigi PoW alapú Ethereum bányászatot PoS alapú bányászatra. Sokan azt várják ettől, hogy az Ethereum sokkal jobban védhető lesz majd az fentiekben említett támadások ellen. Vajon hogyan fog ez a valóságban megvalósulni?



(***) Több, mint 2000 kriptovaluta árfolyam élőben (***)