Vysvetlenie sietí typu peer-to-peer
Domov
Články
Vysvetlenie sietí typu peer-to-peer

Vysvetlenie sietí typu peer-to-peer

Stredne pokročilý
Zverejnené Sep 30, 2019Aktualizované Nov 16, 2022
7m

Čo je peer-to-peer (P2P)?

V informatike sieť typu peer-to-peer (P2P) pozostáva zo skupiny zariadení, ktoré spoločne ukladajú a zdieľajú súbory. Každý účastník (uzol) koná ako individuálny partner. Všetky uzly majú väčšinou rovnaký výkon a vykonávajú rovnaké úlohy.

Vo finančnej technológii pojem peer-to-peer zvyčajne označuje výmenu kryptomien alebo digitálnych aktív prostredníctvom distribuovanej siete. Platforma P2P umožňuje kupujúcim a predávajúcim uskutočňovať obchody bez potreby sprostredkovateľov. V niektorých prípadoch môžu webové stránky poskytovať aj prostredie P2P, ktoré spája veriteľov a dlžníkov.

Architektúra P2P sa môže hodiť na rôzne prípady použitia. Jej popularita prudko vzrástla v 90. rokoch, keď boli vytvorené prvé programy na zdieľanie súborov. Dnes sú siete P2P jadrom väčšiny kryptomien a tvoria veľkú časť odvetvia blockchainov. Využívajú sa však aj v iných distribuovaných výpočtových aplikáciách vrátane webových vyhľadávačov, platforiem na streamovanie, online trhovísk a webového protokolu IPFS (InterPlanetary File System).


Ako funguje sieť P2P?

Systém P2P je v podstate udržiavaný distribuovanou sieťou používateľov. Väčšinou nemá žiadneho centrálneho správcu alebo server, pretože každý uzol uchováva kópiu súborov. To znamená, že pre ostatné uzly funguje ako klient a zároveň aj ako server. Každý uzol teda môže sťahovať súbory z iných uzlov alebo do nich nahrávať súbory. To je presne to, čo odlišuje siete P2P od tradičnejších systémov klient-server, v ktorých klientske zariadenia sťahujú súbory z centrálneho servera.

V sieťach P2P pripojené zariadenia zdieľajú súbory, ktoré sú uložené na ich pevných diskoch. Pomocou softvérových aplikácií určených na sprostredkovanie zdieľania údajov môžu používatelia prehľadávať zariadenia v sieti a sťahovať si z nich súbory. Po tom, čo si používateľ stiahne daný súbor, môže pôsobiť ako zdroj tohto súboru.

Inak povedané, keď uzol funguje ako klient, sťahuje súbory z iných uzlov siete. Ale keď funguje ako server, je zdrojom, z ktorého si ostatné uzly môžu sťahovať súbory. V praxi však možno obe funkcie vykonávať súčasne (napr. sťahovanie súboru A a nahrávanie súboru B).

Keďže každý uzol ukladá, prenáša a prijíma súbory, siete P2P zvyknú byť rýchlejšie a efektívnejšie, pretože ich používateľská základňa rastie. Vďaka distribuovanej architektúre sú systémy P2P zároveň veľmi odolné voči kybernetickým útokom. Na rozdiel od tradičných modelov, siete P2P siete nemajú jediné slabé miesto.

Systémy peer-to-peer je možné rozdeliť do kategórií podľa ich architektúry. Tri hlavné typy sietí P2P sú neštruktúrované, štruktúrované a hybridné.


Neštruktúrované siete P2P

Neštruktúrované siete P2P siete nemajú žiadnu špecifickú organizáciu uzlov. Účastníci medzi sebou náhodne komunikujú. Tieto systémy sa považujú za odolné voči vysokej aktivite nazývanej churn (t. j. viacero uzlov, ktoré sa často stávajú členmi siete a opúšťajú ju).

I napriek tomu, že vytvorenie je jednoduchšie, neštruktúrované siete P2P môžu vyžadovať vyššie využitie procesora a pamäte, pretože dopyty na vyhľadávanie sa odosielajú najväčšiemu možnému počtu partnerov. To môže spôsobovať zahltenie siete dopytmi, najmä ak požadovaný obsah ponúka malý počet uzlov.


Štruktúrované siete P2P

Naopak, štruktúrované siete P2P predstavujú organizovanú architektúru, ktorá umožňuje uzlom efektívne vyhľadávať súbory, aj keď obsah nie je široko dostupný. Vo väčšine prípadov sa to dosiahne použitím hašovacích funkcií, ktoré uľahčujú vyhľadávanie v databáze.

Hoci štruktúrované siete môžu byť efektívnejšie, zvyknú predstavovať vyššiu úroveň centralizácie. Väčšinou sú potrebné vyššie náklady na ich založenie a údržbu. Okrem toho, v prípade vysokej miery aktivity churn sú štruktúrované siete menej odolné.


Hybridné siete P2P

Hybridné siete P2P sú kombináciou štandardného modelu klient-server a niektorých aspektov architektúry peer-to-peer. Ich štruktúra môže napríklad zahŕňať centrálny server, ktorý uľahčuje spojenie medzi partnermi.

V porovnaní s ostatnými dvoma typmi zvyknú hybridné modely poskytovať lepší celkový výkon. Zvyčajne sú kombináciou hlavných výhod každého z prístupov a súčasne dosahujú významné úrovne efektívnosti a decentralizácie.


Distribuované vs. decentralizované

Hoci architektúra P2P je vo svojej podstate distribuovaná, je dôležité poznamenať, že existujú rôzne stupne decentralizácie. Nie všetky siete P2P sú teda decentralizované. 

V skutočnosti sa mnohé systémy spoliehajú na centrálny orgán, ktorý riadi aktivitu v sieti, preto sú čiastočne centralizované. Niektoré systémy P2P na zdieľanie súborov napríklad umožňujú používateľom vyhľadávať a sťahovať súbory od iných používateľov, nemôžu sa však podieľať na iných procesoch, ako je napríklad správa vyhľadávacích dopytov.

Navyše, o malých sieťach kontrolovaných obmedzenou používateľskou základňou so spoločnými cieľmi by sa dalo povedať, že majú vyšší stupeň centralizácie, a to aj napriek nedostatku centralizovanej sieťovej infraštruktúry.


Úloha systémov P2P v blockchainoch

V počiatočných fázach siete Bitcoin ho Satoshi Nakamoto definoval ako „decentralizovaný elektronický hotovostný systém peer-to-peer“. Bitcoin bol vytvorený ako digitálna forma peňazí. Dá sa preniesť z jedného používateľa na druhého prostredníctvom siete P2P, ktorá spravuje distribuovanú účtovnú knihu nazývanú blockchain.

V tomto ohľade je architektúra P2P (ktorá je súčasťou technológie blockchain) to, čo umožňuje prenos bitcoinov a iných kryptomien po celom svete bez potreby sprostredkovateľov alebo akéhokoľvek centrálneho servera. Zároveň, ak sa ktokoľvek chce zúčastniť procesu overovania a validovania blokov, môže si zriadiť uzol Bitcoin.

V sieti Bitcoin preto nie sú žiadne banky, ktoré by spracovávali alebo zaznamenávali transakcie. Namiesto toho blockchain funguje ako digitálna účtovná kniha, ktorá verejne zaznamenáva všetku aktivitu. Základom je, že každý uzol uchováva kópiu blockchainu a porovnáva ju s inými uzlami, aby sa zabezpečila presnosť údajov. Sieť rýchlo odmietne akúkoľvek škodlivú aktivitu alebo nepresnosť.

V kontexte blockchainov kryptomien môžu uzly na seba preberať rôzne úlohy. Úplné uzly sú napríklad tie, ktoré zabezpečujú bezpečnosť siete overovaním transakcií podľa pravidiel konsenzu systému.

Každý úplný uzol uchováva úplnú a aktualizovanú kópiu blockchainu, čo mu umožňuje podieľať sa na kolektívnej práci overovania skutočného stavu distribuovanej účtovnej knihy. Treba však poznamenať, že nie všetky úplné overovacie uzly sú ťažiari.


Výhody

Peer-to-peer architektúra blockchainov poskytuje množstvo výhod. Medzi najdôležitejšie patrí skutočnosť, že siete P2P ponúkajú vyššiu bezpečnosť ako tradičná architektúra klient-server. Vďaka rozloženiu blockchainov na veľký počet uzlov sú prakticky imúnne voči útokom DoS (Denial-of-Service), ktoré trápia mnohé systémy.

Taktiež, keďže väčšina uzlov musí pred pridaním údajov do blockchainu dosiahnuť konsenzus, pre útočníka je takmer nemožné tieto údaje zmeniť. To platí najmä pre veľké siete, ako je Bitcoin. Menšie blockchainy sú náchylnejšie na útoky, pretože jedna osoba alebo skupina by eventuálne mohla získať kontrolu nad väčšinou uzlov (toto je známe ako 51-percentný útok).

Výsledkom je, že distribuovaná sieť peer-to-peer, v kombinácii s požiadavkou väčšinového konsenzu, poskytuje blockchainom relatívne vysoký stupeň odolnosti voči škodlivým aktivitám. Model P2P je jedným z dôvodov, prečo Bitcoin (a ďalšie blockchainy) dokázali dosiahnuť takzvanú byzantskú odolnosť voči chybám.

Okrem bezpečnosti, vďaka použitiu architektúry P2P sú blockchainy kryptomien odolné voči cenzúre zo strany ústredných orgánov. Na rozdiel od štandardných bankových účtov, kryptomenové peňaženky vlády nemôžu zmraziť alebo vyčerpať. Tento odpor sa rozširuje aj na snahy o cenzúru zo strany súkromných platforiem na spracovanie platieb a obsahu. Niektorí tvorcovia obsahu a online obchodníci prijali platby v kryptomenách ako spôsob, ako zabrániť tomu, aby ich platby zablokovali tretie strany.


Obmedzenia

Napriek mnohým výhodám má používanie sietí P2P na blockchainoch aj určité obmedzenia.

Keďže distribuované účtovné knihy sa musia aktualizovať na každom jednom uzle namiesto na centrálnom serveri, pridávanie transakcií do blockchainu si vyžaduje obrovské množstvo výpočtového výkonu. Aj keď to zabezpečuje zvýšenú bezpečnosť, výrazne to znižuje efektivitu a je jednou z hlavných prekážok, pokiaľ ide o škálovateľnosť a celoplošné prijatie. Napriek tomu kryptografi a vývojári blockchainu skúmajú alternatívy, ktoré by bolo možné použiť ako riešenia škálovania. Ako prominentné príklady možno spomenúť Lightning Network, Ethereum Plasma a protokol Mimblewimble.

Ďalšie potenciálne obmedzenie sa týka útokov, ktoré sa môžu vyskytnúť počas udalostí nazývaných ako hard fork. Keďže väčšina blockchainov je decentralizovaná a má otvorený zdroj, skupiny uzlov môžu voľne kopírovať a upravovať kód a oddeliť sa od hlavného reťazca s cieľom vytvoriť novú paralelnú sieť. Hard forky sú úplne normálne a samy o sebe nepredstavujú hrozbu. Ak sa však správne neprijmú určité bezpečnostné postupy, oba reťazce sa môžu stať zraniteľnými voči opakovaným útokom.

Distribuovaná povaha sietí P2P navyše sťažuje ich kontrolu a ;reguláciu, a to nielen v oblasti blockchainu. Viacero P2P aplikácií a spoločností sa zapojilo do nelegálnych aktivít a porušovania autorských práv.


Záverečné myšlienky

Architektúru typu peer-to-peer je možné rozvíjať a používať mnohými rôznymi spôsobmi. Je jadrom blockchainov, ktoré umožňujú používanie kryptomien. Vďaka distribúcii účtovných kníh transakcií cez veľké siete uzlov ponúka architektúra P2P bezpečnosť, decentralizáciu a odolnosť voči cenzúre.

Okrem svojej užitočnosti v technológii blockchain môžu systémy P2P slúžiť aj iným distribuovaným výpočtovým aplikáciám, od sietí na zdieľanie súborov až po platformy na obchodovanie s energiou.