Co je to Peer-to-Peer (P2P)?

V informatice se síť peer-to-peer (P2P) skládá ze skupiny zařízení, která společně ukládají a sdílejí soubory. Každý účastník (uzel) vystupuje jako individuální peer. Všechny uzly mají stejné schopnosti a pracují na stejném úkolu.

Ve finančních technologiích pojem peer-to-peer obvykle označuje výměnu kryptoměn nebo digitálních aktiv prostřednictvím distribuované sítě. Platforma P2P umožňuje kupujícím a prodávajícím provádět transakce bez potřeby zprostředkovatele. V některých případech mohou webové stránky také poskytovat P2P prostředí, které spojuje poskytovatele fondů a dlužníky.

P2P architekturu lze využít mnoha způsoby, ale populární byla zejména v 90. letech, kdy byly vytvořeny první programy pro sdílení souborů. Dnes jsou P2P sítě jádrem kryptoměn a vládnou většině oblastí blockchainového průmyslu. Je však také využíván v jiných distribuovaných počítačových aplikacích, včetně webových vyhledávačů, platforem pro streamování, online tržišť a webového protokolu IPFS (InterPlanetary File System).


Jak P2P funguje?

P2P systémy jsou v podstatě spravovány distribuovanou sítí uživatelů. Tyto systémy obvykle nemají centrálního správce nebo server, protože každý uzel uchovává kopii souborů – funguje jako klient i jako server pro ostatní uzly. Každý uzel tedy může stahovat nebo nahrávat soubory do az jiných uzlů. To je to, co odlišuje P2P sítě od tradičních systémů klient-server, kde klientská zařízení stahují soubory z centralizovaného serveru.

V síti P2P sdílí připojená zařízení soubory uložené na hardwaru. Pomocí softwarových aplikací určených ke zprostředkování sdílení dat mohou uživatelé požádat ostatní zařízení v síti o vyhledání a stažení souborů. Když jeden uživatel stáhne příslušný soubor, může tento uživatel fungovat jako zdroj souboru.

Jinými slovy, když jeden uzel funguje jako klient, stahuje soubory z jiných síťových uzlů. Ale když fungují jako servery, stávají se tyto uzly zdroji, ze kterých mohou ostatní uzly stahovat soubory. V praxi však lze obě funkce provádět současně (např. stažení souboru A a nahrání souboru B).

Protože každý uzel ukládá, přenáší a přijímá soubory, P2P sítě bývají rychlejší a efektivnější, protože uživatelská základna roste. Také díky distribuované architektuře jsou P2P systémy vysoce odolné vůči kybernetickým útokům. Na rozdíl od tradičních modelů nemají P2P sítě jediný bod selhání.

Peer-to-peer systémy můžeme kategorizovat podle jejich architektury. Tři hlavní typy jsou nestrukturované, strukturované a smíšené (hybridní) P2P sítě.


P2P sítě jsou nestrukturované

Nestrukturované P2P sítě nezobrazují konkrétní organizaci uzlů. Účastníci mezi sebou náhodně komunikují. Systém je považován za odolný vůči vysoce nestálé aktivitě (např.: Některé uzly se často připojují k síti a opouštějí ji).

I když se nestrukturované sítě P2P snáze sestavují, mohou vyžadovat vyšší využití procesoru a paměti, protože požadavky na vyhledávání jsou odesílány co největšímu počtu vrstevníků. To má tendenci zahltit síť požadavky, zvláště pokud malý počet uzlů nabízí požadovaný obsah.


Strukturovaná P2P síť

Naproti tomu strukturované P2P sítě představují organizovanou architekturu, která umožňuje uzlům vyhledávat soubory efektivněji, i když obsah není široce dostupný. Ve většině případů je toho dosaženo pomocí hašovacích funkcí, které usnadňují vyhledávání v databázi.

Zatímco strukturované sítě mohou být efektivnější, mají tendenci vyznačovat se vyšším stupněm centralizace a obvykle také vyžadují vyšší náklady na nastavení a údržbu. Strukturované sítě jsou navíc méně robustní, když čelí vysoké úrovni volatility.


Smíšená P2P síť

Smíšené P2P sítě kombinují konvenční model klient-server s některými aspekty architektury peer-to-peer. Tyto sítě mohou například navrhnout centrální server, který usnadňuje spojení mezi peery.

Ve srovnání s ostatními dvěma typy mají hybridní/smíšené modely tendenci vykazovat lepší celkový výkon. Tyto sítě obvykle kombinují některé z klíčových výhod každého přístupu a současně dosahují úrovně účinnosti a decentralizace.


Distribuované vs není vycentrovaný

Přestože jsou architektury P2P ze své podstaty distribuovány, je důležité poznamenat, že existují různé stupně decentralizace. Ne všechny P2P sítě jsou tedy decentralizované.

Ve skutečnosti mnoho systémů spoléhá na centrální autoritu, která řídí síťovou aktivitu, což je činí poněkud centralizovanými. Například některé systémy pro sdílení souborů P2P umožňují uživatelům vyhledávat a stahovat soubory od jiných uživatelů, ale nemohou se účastnit jiných procesů, jako je správa vyhledávacích dotazů.

Navíc lze říci, že malé sítě řízené omezenou uživatelskou základnou se společným cílem mají vyšší stupeň centralizace, a to i přes nedostatek centralizované síťové infrastruktury.


Role P2P v blockchainu

V raných fázích bitcoinu ho Satoshi Nakamoto definoval jako „elektronický peněžní systém peer-to-peer“. Bitcoin vznikl jako forma digitálních peněz. Lze jej přenést z jednoho uživatele na druhého prostřednictvím sítě P2P, která spravuje distribuovanou účetní knihu zvanou blockchain.

V tomto kontextu je P2P architektura vlastní blockchainové technologii to, co umožňuje bitcoiny a další kryptoměny přenášet po celém světě, aniž by byly potřeba prostředníky nebo centrální servery. Navíc si kdokoli může zřídit bitcoinový uzel, pokud se chce podílet na procesu ověřování a ověřování bloků.

Neexistují tedy žádné banky, které zpracovávají nebo zaznamenávají transakce v bitcoinové síti. Místo toho blockchain funguje jako digitální účetní kniha, která veřejně zaznamenává veškerou aktivitu. V podstatě každý uzel drží kopii blockchainu a porovnává ji s ostatními uzly, aby se zajistilo, že data jsou přesná. Síť rychle odmítne podezřelou nebo nepřesnou aktivitu.

V kontextu blockchainu kryptoměny mohou uzly převzít řadu různých rolí. Plné uzly jsou například ty, které poskytují zabezpečení sítě ověřováním transakcí podle konsensuálních pravidel systému.

Každý úplný uzel ukládá kompletní a aktualizovanou kopii blockchainu, což mu umožňuje podílet se na společné práci na ověřování skutečného stavu distribuované účetní knihy. Je třeba poznamenat, že ne všechny plně ověřující uzly jsou těžaři.


Zisk

Peer-to-peer blockchain architektura poskytuje mnoho výhod. Mezi nejdůležitější patří fakt, že P2P sítě nabízejí vyšší bezpečnost než tradiční nastavení klient-server. Díky distribuci blockchainu na velkém počtu uzlů je imunní vůči útokům  Denial-of-Service (DoS), které sužují mnoho systémů.

Podobně, protože většina uzlů musí dosáhnout konsensu před přidáním dat do blockchainu, je pro útočníka téměř nemožné data změnit. To platí zejména pro velké sítě, jako je bitcoin. Menší blockchainy jsou zranitelnější vůči útokům, protože jedna osoba nebo skupina může pravděpodobně ovládat většinu uzlů (toto je známé jako 51procentní útok).

Výsledkem je, že distribuované sítě peer-to-peer ve spojení s požadavky většinového konsenzu zajišťují, že blockchainy mají relativně vysokou úroveň odolnosti vůči škodlivým aktivitám. Model P2P je jedním z důvodů, proč jsou bitcoiny (a další blockchainy) schopny dosáhnout toho, čemu se říká byzantská odolnost proti chybám.

Kromě zabezpečení je použití P2P architektury v blockchainech kryptoměn také odolné vůči cenzuře ze strany centrálních úřadů. Na rozdíl od standardních bankovních účtů nemůže vláda kryptoměnové peněženky zmrazit ani vysát. Tento odpor se vztahuje také na snahy o cenzuru u soukromých platforem pro zpracování plateb a obsahu. Někteří tvůrci obsahu a online obchodníci přijímají platby kryptoměnami jako způsob, jak se vyhnout blokování jejich plateb třetími stranami.


Omezení

I když to má mnoho výhod, použití P2P sítí na blockchainu má také určitá omezení.

Protože distribuovaná účetní kniha musí být aktualizována na každém uzlu, nikoli na centrálním serveru, přidání transakcí do blockchainu vyžaduje velké množství výpočetního výkonu. I když to poskytuje zvýšenou bezpečnost, výrazně to snižuje efektivitu a je jednou z hlavních překážek z hlediska škálovatelnosti a širokého přijetí. Nicméně kryptografové a vývojáři blockchainu zkoumají alternativy, které lze použít jako škálovací řešení. Pozoruhodné příklady zahrnují Lightning Network, Ethereum Plasma a protokol Mimblewimble.

Další potenciální omezení se týká útoků, které mohou nastat během aktivity hard forku. Protože většina blockchainů je decentralizovaná a má otevřený zdroj, skupiny uzlů mohou volně kopírovat a upravovat kód a oddělit se od hlavního řetězce za účelem vytvoření nových paralelních sítí. Hard forky jsou úplně normální a nehrozí. Pokud však určité metody zabezpečení nejsou správně přijaty, oba řetězce se mohou stát zranitelnými vůči útokům opakovaného přehrávání.

Distribuovaná povaha sítí P2P navíc ztěžuje jejich ovládání a regulaci, a to nejen v prostředí blockchainu. Některé P2P aplikace a společnosti jsou zapojeny do nezákonných aktivit a porušování autorských práv.


Zavírání

Architektura peer-to-peer může být vyvinuta a používána různými způsoby a je jádrem blockchainu, který umožňuje kryptoměny. Díky distribuci účetní knihy transakcí přes velkou síť uzlů nabízí architektura P2P bezpečnost, decentralizaci a odolnost vůči cenzuře.

Kromě jejich použití v technologii blockchain mohou P2P systémy sloužit také dalším distribuovaným výpočetním aplikacím, od sítí pro sdílení souborů až po platformy pro obchodování s energií.