Co oznacza peer-to-peer (P2P)?

W dziedzinie technologii informatycznych sieć peer-to-peer (P2P) składa się z grupy połączonych ze sobą urządzeń, które wymieniają między sobą pliki i przechowują ten sam zestaw danych. Każdy uczestnik (węzeł) działa jako indywidualny partner. Zazwyczaj wszystkie węzły mają tę samą moc i wykonują te same zadania.

Z finansowego punktu widzenia termin ten często odnosi się do wymiany kryptowalut lub aktywów cyfrowych za pośrednictwem sieci rozproszonej. Platforma P2P umożliwia kupującym i sprzedającym zawieranie transakcji bez pośredników. W niektórych przypadkach strony internetowe mogą również zapewniać środowisko peer-to-peer, które łączy pożyczkodawców i pożyczkobiorców.

Architektura P2P nadaje się do różnych zastosowań, a technologia ta stała się popularna w latach 90. XX wieku, kiedy powstały pierwsze programy do udostępniania plików. Obecnie sieci peer-to-peer stanowią podstawę większości kryptowalut, stanowiąc dużą część branży blockchain. Jednak jest on również używany w innych aplikacjach do przetwarzania rozproszonego, w tym w wyszukiwarkach, platformach przesyłania strumieniowego, platformach handlowych online i protokole sieciowym InterPlanetary File System (IPFS).


Jak to działa?

System P2P obsługiwany jest poprzez rozproszoną sieć użytkowników. Zwykle nie mają głównego administratora ani serwera, ponieważ każdy węzeł zawiera kopię wszystkich plików, pełniąc rolę klienta i serwera dla innych węzłów. W ten sposób każdy węzeł może pobierać pliki z innych węzłów, a także w odwrotnej kolejności. Jest to cecha wyróżniająca sieć P2P na tle jej bardziej tradycyjnych klientów, w których urządzenia pobierają pliki ze scentralizowanego serwera.

W sieciach peer-to-peer podłączone urządzenia wymieniają pliki przechowywane na ich dyskach twardych. Korzystając z aplikacji przeznaczonych do udostępniania danych, użytkownicy mogą żądać plików i pobierać je na inne urządzenia w sieci. Gdy użytkownik pobierze ten plik, może on działać jako jego źródło.

Innymi słowy, gdy węzeł pełni rolę klienta, pobiera pliki z innych węzłów w sieci. Kiedy jednak wszystkie węzły pełnią rolę serwera, stanowią źródło, z którego inne węzły mogą pobierać dane. Jednak w praktyce obie funkcje można wykonywać jednocześnie (np. pobieranie pliku A i pobieranie pliku B).

Ponieważ każdy węzeł przechowuje, przesyła i odbiera pliki, sieci P2P działają szybciej i wydajniej w miarę wzrostu ich bazy użytkowników. Dodatkowo rozproszona architektura sprawia, że ​​takie systemy są bardzo odporne na różnorodne cyberataki. W odróżnieniu od tradycyjnych modeli, sieci P2P nie posiadają pojedynczego punktu awarii.

Systemy peer-to-peer możemy sklasyfikować według ich architektury. Istnieją trzy główne typy: niestrukturalna, strukturalna i hybrydowa sieć P2P.


Niestrukturalne sieci P2P

Sieci nieustrukturyzowane nie reprezentują żadnej konkretnej organizacji węzłów. Wszyscy uczestnicy wchodzą ze sobą w przypadkowy kontakt. I pod tym względem takie systemy są uważane za odporne na dużą aktywność rotacyjną węzłów (tj. niektóre węzły przyłączają się do sieci, a inne ją opuszczają).

Chociaż proste w budowie, nieustrukturyzowane sieci P2P mogą wymagać większego użycia procesora i pamięci RAM, ponieważ żądania wyszukiwania są wysyłane do jak największej liczby równorzędnych urządzeń. Architektura ta ma tendencję do zalewania sieci żądaniami, zwłaszcza jeśli niewielka liczba węzłów oferuje pożądane informacje.


Strukturalne sieci P2P

W porównaniu z poprzednią formą sieci strukturalne stanowią zorganizowaną architekturę, która umożliwia węzłom efektywniejsze wyszukiwanie plików, nawet jeśli ich zawartość nie jest powszechnie dostępna. W większości przypadków osiąga się to poprzez zastosowanie funkcji skrótu, które ułatwiają przeszukiwanie bazy danych.

Chociaż sieci strukturalne oferują wysoką dostępność i produktywność, są one zwykle bardziej scentralizowane i wymagające pod względem instalacji i konserwacji. Ponadto ta architektura jest mniej odporna na wysokie wskaźniki rezygnacji węzłów.


Hybrydowe sieci P2P

Hybrydowe sieci P2P łączą tradycyjny model z pewnymi aspektami architektury peer-to-peer. Można dzięki temu np. zbudować centralny serwer, który uprości połączenie pomiędzy węzłami.

W porównaniu do pozostałych dwóch typów, modele hybrydowe mają zazwyczaj wyższą ogólną wydajność. Zwykle łączą w sobie niektóre główne zalety każdego podejścia i dzięki temu osiągają jednocześnie wysoki poziom wydajności i decentralizacji.


Dystrybucja czy decentralizacja?

Architektura P2P jest z natury rozproszona, jednak warto zwrócić uwagę, że w przypadku wdrożenia sieć może charakteryzować się różnym stopniem decentralizacji. Z tego powodu nie wszystkie sieci peer-to-peer są zdecentralizowane.

Ponieważ wiele systemów opiera się na centralnym organie zarządzającym siecią, powoduje to, że są one w pewnym stopniu scentralizowane. Na przykład niektóre usługi hostingu plików typu peer-to-peer umożliwiają użytkownikom wyszukiwanie i pobieranie plików kosztem innych użytkowników, ale nie mogą uczestniczyć w innych procesach, takich jak zarządzanie zapytaniami.

Oprócz tego można powiedzieć, że małe sieci kontrolowane przez ograniczoną bazę użytkowników mających wspólne cele charakteryzują się wyższym poziomem centralizacji, pomimo braku scentralizowanej infrastruktury sieciowej.


Wpływ P2P na Blockchain

Na wczesnych etapach rozwoju Satoshi Nakamoto zdefiniował Bitcoin jako „elektroniczny system płatności gotówkowych typu peer-to-peer”. Bitcoin został stworzony jako cyfrowa forma pieniędzy, która może być przesyłana od jednego użytkownika do drugiego za pośrednictwem sieci peer-to-peer i zarządzana przez rozproszoną księgę rachunkową, zwaną również łańcuchem bloków.

W tym kontekście architektura P2P, charakterystyczna dla technologii blockchain, umożliwia wymianę bitcoinów i innych kryptowalut na całym świecie bez pośredników i scentralizowanych serwerów. Dodatkowo każdy może dołączyć i stać się węzłem w sieci Bitcoin, jeśli chce uczestniczyć w procesie sprawdzania i walidacji bloków.

Dlatego w sieci Bitcoin nie ma banków, które przetwarzają lub rejestrują wszystkie transakcje. Zamiast tego blockchain działa jak cyfrowa księga, która publicznie rejestruje całą aktywność. W praktyce każdy węzeł przechowuje kopię blockchainu i porównuje ją z kopiami innych węzłów, aby zapewnić dokładność danych. W ten sposób sieć szybko reaguje na wszelkie złośliwe działania lub niedokładności.

W ramach łańcuchów bloków kryptowalut węzły mogą przejmować różne obowiązki. Na przykład pełne węzły (pełne węzły) zapewniają bezpieczeństwo sieci poprzez walidację transakcji względem ustalonych reguł konsensusu systemu.

Każdy pełny węzeł utrzymuje zaktualizowaną kopię łańcucha bloków, umożliwiając mu udział w zbiorowych wysiłkach mających na celu weryfikację prawdziwego stanu rozproszonej księgi głównej. Warto jednak zwrócić uwagę na fakt, że nie wszystkie pełne węzły są górnikami.


Zalety

Architektura blockchainów typu peer-to-peer zapewnia użytkownikom wiele korzyści. Jednym z najważniejszych jest to, że takie sieci zapewniają większe bezpieczeństwo niż tradycyjne urządzenie klient-serwer. Dystrybucja danych w łańcuchu bloków pomiędzy dużą liczbą węzłów sprawia, że ​​sieć jest praktycznie odporna na ataki typu „odmowa usługi” (DoS), które są plagą większości systemów.

Ponieważ większość węzłów musi osiągnąć konsensus przed dodaniem danych do łańcucha bloków, atakujący jest praktycznie niemożliwy do wprowadzenia jakichkolwiek zmian. I jest to prawdą, jeśli chodzi o dużą sieć, taką jak Bitcoin. Mniejsze łańcuchy bloków są bardziej podatne na ataki, ponieważ jednostka lub grupa osób może ostatecznie przejąć kontrolę nad większością węzłów (znany również jako atak 51%).

W rezultacie rozproszona sieć peer-to-peer, w połączeniu z obowiązkowym konsensusem większości uczestników, zapewnia blockchainom stosunkowo wysoki stopień odporności na szkodliwą aktywność. Model P2P jest jednym z powodów, dla których Bitcoin (i inne łańcuchy bloków) były w stanie osiągnąć tak zwaną bizantyjską odporność na błędy.

Oprócz bezpieczeństwa, zastosowanie architektury peer-to-peer w blockchainach kryptowalut czyni je również odpornymi na cenzurę ze strony władz centralnych. W przeciwieństwie do standardowych kont bankowych, portfele kryptowalut nie mogą zostać zamrożone ani anulowane przez rząd. Ta odporność rozciąga się również na cenzurę prywatnych platform przetwarzania płatności i publikowania treści. Niektórzy twórcy mediów i sprzedawcy internetowi zaczęli używać kryptowalut, aby uniknąć blokowania płatności przez osoby trzecie.


Wady

Pomimo wielu zalet sieci peer-to-peer mają również pewne wady.

Ponieważ rozproszone księgi rachunkowe muszą być aktualizowane w każdym węźle, a nie na serwerze centralnym, dodawanie transakcji do łańcucha bloków wymaga dużej ilości zasobów obliczeniowych. Zapewnia to zwiększone bezpieczeństwo, ale z kolei znacznie zmniejsza elastyczność operacyjną, co jest jedną z głównych przeszkód w zakresie skalowalności i adaptacji na dużą skalę. Jednak kryptografowie i twórcy blockchainów badają alternatywy, które można zastosować jako rozwiązanie zwiększające skalowalność. Godne uwagi przykłady obejmują Lightning Network, Ethereum Plasma i protokół Mimblewimble.

Kolejna potencjalna wada wiąże się z atakami, które mogą wystąpić podczas hard forku. Ponieważ większość łańcuchów bloków jest zdecentralizowana i ma otwarte oprogramowanie, grupy węzłów mogą swobodnie kopiować i modyfikować kod, a następnie oddzielać się od głównego łańcucha, tworząc nową sieć równoległą. Hard forki są zjawiskiem całkowicie normalnym, które samo w sobie nie stwarza żadnego zagrożenia. Jeśli jednak pewne środki bezpieczeństwa nie będą odpowiednio przestrzegane, obie sieci mogą stać się podatne na atak polegający na powtórzeniu.

Co więcej, rozproszony charakter sieci P2P sprawia, że ​​stosunkowo trudno je monitorować i regulować, nie tylko w przestrzeni blockchain. Z tego powodu kilka aplikacji i firm P2P zostało powiązanych z nielegalnymi działaniami i naruszeniami praw autorskich.


Wniosek

Architekturę peer-to-peer można rozwijać i wykorzystywać na różne sposoby, ale stanowi ona podstawę wszystkich łańcuchów bloków, umożliwiając kryptowalutę. Dystrybuując księgi transakcji pomiędzy dużymi węzłami sieci, technologia P2P zapewnia bezpieczeństwo, decentralizację i odporność na cenzurę.

Oprócz użyteczności w technologii blockchain, systemy P2P mogą również służyć innym rozproszonym aplikacjom obliczeniowym, od sieci wymiany plików po platformy handlu energią.