Co znamená peer-to-peer (P2P)?
V informatice je síť peer-to-peer (P2P) definována jako skupina zařízení, která společně ukládají a sdílejí soubory. Každý účastník (uzel) vystupuje jako individuální peer. Obvykle mají všechny uzly stejný výkon a provádějí stejné úkoly.
V technologii zaměřené na finance se pod pojmem peer-to-peer obvykle rozumí výměna kryptoměn nebo digitálních aktiv prostřednictvím distribuované sítě. P2P platformy umožňují kupujícím a prodávajícím provádět transakce bez potřeby zprostředkovatelů. V některých případech mohou webové stránky také poskytovat P2P prostředí, které spojuje věřitele a dlužníky.
P2P architektura může být vhodná pro různé případy použití, ale stala se populární zejména v 90. letech, kdy byly vytvořeny první programy pro sdílení souborů. Dnes P2P sítě slouží jako základ pro většinu kryptoměn a tvoří velkou část blockchainového průmyslu. Používají se však také v jiných distribuovaných počítačových aplikacích, včetně webových vyhledávačů, streamovacích platforem, online tržišť a webového protokolu IPFS (InterPlanetary File System).
Jak funguje P2P systém?
P2P systémy jsou v podstatě udržovány distribuovanými sítěmi uživatelů. Obvykle nemají centrálního správce nebo server, protože každý uzel má kopii souborů – pro zbytek uzlů funguje jako klient i server. Každý uzel tak může stahovat soubory z jiných uzlů nebo do nich nahrávat soubory. To je to, co odlišuje P2P sítě od tradičních systémů klient-server, ve kterých klientská zařízení stahují soubory z centralizovaného serveru.
V sítích P2P sdílí připojená zařízení soubory, které jsou uloženy na jejich pevných discích. Pomocí softwarových aplikací určených ke zprostředkování sdílení dat mohou uživatelé vyhledávat a stahovat soubory dotazem na jiná zařízení v síti. Od okamžiku, kdy si uživatel stáhne konkrétní soubor, může fungovat jako jeho zdroj.
Jinými slovy, když uzel funguje jako klient, bude stahovat soubory z jiných uzlů v síti. Když funguje jako server, stane se zdrojem, ze kterého mohou ostatní uzly stahovat soubory. V praxi však lze obě funkce provádět současně (například stažení souboru A a nahrání souboru B).
Protože každý uzel ukládá, vysílá a přijímá soubory, P2P sítě mají tendenci být rychlejší a efektivnější, jak roste jejich uživatelská základna. Navíc díky jejich 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 P2P sítí se nazývají: nestrukturované, strukturované a hybridní.
Nestrukturované P2P sítě
Nestrukturované P2P sítě nepředstavují žádnou konkrétní organizaci uzlů. Účastníci spolu komunikují náhodně. Tyto systémy jsou považovány za odolné vůči vysoké aktivitě churn (tj. když se k síti často připojuje nebo ji opouští více uzlů).
I když se snadněji sestavují, nestrukturované P2P sítě mohou vyžadovat větší využití procesoru a paměti, protože vyhledávací dotazy jsou odesílány co největšímu počtu vrstevníků. To má tendenci zahltit síť dotazy, zejména pokud požadovaný obsah nabízí pouze malý počet uzlů.
Strukturované P2P sítě
Naproti tomu strukturované P2P sítě představují organizovanou architekturu, která umožňuje uzlům efektivně vyhledávat soubory, i když obsah není široce šířen. Ve většině případů je toho dosaženo využitím hashovacích funkcí, které usnadňují vyhledávání v databázi.
Ačkoli strukturované sítě mohou být efektivnější, mívají vyšší úroveň centralizace a obvykle vyšší náklady na instalaci a údržbu. Kromě toho jsou strukturované sítě méně odolné vůči vysokému počtu odchodů.
Hybridní P2P sítě
Hybridní P2P sítě kombinují konvenční model klient-server s některými aspekty architektury peer-to-peer. Mohou například určit centrální server, který usnadňuje spojení mezi partnery.
Ve srovnání s ostatními dvěma typy se hybridní modely vyznačují lepším celkovým výkonem. Obvykle kombinují některé z klíčových výhod každého přístupu, což jim umožňuje dosáhnout významného stupně efektivity a decentralizace současně.
Distribuované vs. decentralizované
Přestože je architektura P2P ze své podstaty distribuována, je důležité si uvědomit, že existují různé stupně decentralizace. Ne všechny P2P sítě jsou tedy decentralizované.
Ve skutečnosti mnoho závisí na centrální autoritě, která řídí síťovou aktivitu, což z nich do určité míry dělá centralizované systémy. Některé systémy pro sdílení souborů P2P například umožňují uživatelům vyhledávat a stahovat soubory od jiných protějšků, ale nemohou se podílet na jiných procesech, jako je správa vyhledávacích dotazů.
Kromě toho lze stupeň centralizace malých sítí, řízených omezenou uživatelskou základnou a se sdílenými cíli, považovat za vyšší, přestože chybí centralizovaná síťová infrastruktura.
Role P2P v blockchainech
V raných fázích bitcoinu ho Satoshi Nakamoto definoval jako „Peer to Peer Electronic Cash System“. Bitcoin byl vytvořen jako digitální forma peněz. Lze jej přenášet z jednoho uživatele na druhého prostřednictvím P2P sítě, která spravuje distribuovanou účetní knihu zvanou blockchain.
V tomto kontextu je P2P architektura, která je vlastní technologii blockchain, tím, co umožňuje bitcoin a další kryptoměny přenášet po celém světě, aniž by bylo potřeba zprostředkovatelů nebo jakýchkoli centrálních serverů. Navíc si kdokoli může zřídit bitcoinový uzel, pokud se chce zúčastnit procesu ověřování a ověřování bloků.
Neexistují tedy žádné banky, které by zpracovávaly nebo zaznamenávaly 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 obsahuje kopii blockchainu a porovnává ji s ostatními uzly, aby se zajistilo, že data jsou přesná. Síť rychle odmítne jakoukoli škodlivou aktivitu nebo nepřesnost.
V kontextu kryptoměnových blockchainů 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 udržuje kompletní a aktuální kopii blockchainu, což jim umožňuje účastnit se kolektivní práce na ověřování skutečného stavu distribuované účetní knihy. Je však třeba poznamenat, že ne všechny uzly plného ověření jsou těžaři.
Výhody
Peer-to-peer architektura blockchainů nabízí mnoho výhod. Mezi nejdůležitější patří fakt, že P2P sítě nabízejí vyšší bezpečnost než tradiční uspořádání klient-server. Díky distribuci blockchainů přes velký počet uzlů jsou prakticky imunní vůči útokům DoS (Denial of Service), které ovlivňují četné systémy.
Podobně, protože většina uzlů musí před přidáním dat do blockchainu dosáhnout konsensu, je pro útočníka téměř nemožné data pozměnit. To platí zejména pro velké sítě, jako je bitcoin. Menší blockchainy jsou náchylnější k útokům, protože jedna osoba nebo skupina by nakonec mohla získat kontrolu nad většinou uzlů (toto je známé jako 51procentní útok).
Výsledkem je, že distribuovaná síť peer-to-peer spojená s požadavkem většinového konsenzu poskytuje blockchainům relativně vysoký stupeň odolnosti vůči škodlivé činnosti. P2P model je jedním z důvodů, proč Bitcoin (a další blockchainy) dokázaly dosáhnout tzv. Byzantské odolnosti vůči 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ů nemohou vlády zmrazit nebo vyčerpat peněženky kryptoměn. Tento odpor se také rozšiřuje na snahy o cenzuru soukromých platforem pro zpracování plateb a obsahu. Někteří tvůrci obsahu a online obchodníci přijali platby kryptoměnami jako způsob, jak zabránit třetím stranám v blokování jejich plateb.
Omezení
Navzdory mnoha výhodám má použití P2P sítí na blockchainech také určitá omezení.
Protože distribuované účetní knihy musí být aktualizovány na každém uzlu, nikoli na centrálním serveru, přidávání transakcí do blockchainu vyžaduje velké množství výpočetního výkonu. I když to poskytuje vyšší zabezpečení, výrazně to snižuje efektivitu a je jednou z hlavních překážek, pokud jde o škálovatelnost a široké přijetí. Kryptografové a vývojáři blockchainu však 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 hard fork událostí. Protože většina blockchainů je decentralizovaných a open source, skupiny uzlů mohou kopírovat a upravovat kód a oddělit se od hlavního řetězce, aby vytvořily novou paralelní síť. Hard forky jsou zcela normální a samy o sobě nepředstavují hrozbu. 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 kontrolu a regulaci, a to nejen v oblasti blockchainu. Několik P2P aplikací a společností bylo zapojeno do nelegálních aktivit a porušování autorských práv.
Na závěr
Architektura peer-to-peer může být vyvinuta a používána mnoha různými způsoby a je jádrem blockchainů, které umožňují kryptoměny. Díky distribuci účetních knih transakcí napříč rozsáhlými sítěmi uzlů nabízí architektura P2P bezpečnost, decentralizaci a odolnost vůči cenzuře.
Kromě své užitečnosti 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í.

