Czym są sieci Peer-to-Peer?
W terminologii technologii finansowej termin peer-to-peer odnosi się, zazwyczaj, do wymiany kryptowalut lub zasobów cyfrowych za pośrednictwem rozproszonej sieci. Platforma operująca w stylu P2P umożliwia nabywcom i sprzedawcom wykonywanie transakcji bez potrzeby korzystania z pośredników. W niektórych przypadkach strony internetowe mogą również zapewniać otoczenie P2P łączące pożyczkodawców i kredytobiorców.
Architektura P2P znajduje swoje zastosowanie w wielu przypadkach, jednak czasy jej faktycznej świetności przypadają głównie na lata 90 zeszłego stulecia, kiedy to na popularności zyskały programy wymiany plików. Dziś sieci P2P przeżywają swój ponowny rozkwit wraz z zastosowaniem ich u podstaw wszystkich kryptowalut. Stosuje się je również w aplikacjach rozproszonego przetwarzania danych, wyszukiwarkach internetowych, strumieniowaniu danych, serwisach handlowych oraz w protokole IPFS.
Jak dokładnie działają sieci P2P?
Zasadniczo systemy P2P utrzymywane są przez rozproszoną sieć korzystających z nich użytkowników. Zazwyczaj programy te nie posiadają żadnego centralnego administratora, ani jednego serwera, ponieważ każdy pojedynczy węzeł (z ang. node) posiada kopię przesyłanych plików - działa zarówno jako użytkownik jak i serwer dla innych węzłów. Powoduje to, że każdy node jest w stanie pobierać pliki z innych węzłów oraz przesyłać do nich pliki. W tym właśnie zawiera się esencja funkcjonowania sieci Peer-to-Peer.
W sieciach P2P podłączone urządzenia dzielą pliki, przechowywane na ich dyskach twardych. Korzystając ze specjalnie przygotowanych aplikacji do udostępniania danych, użytkownicy, poprzez własny węzeł, mogą wysyłać zapytania do innych node'ów w celu pobrania lub wysłania konkretnych plików. Gdy dany węzeł już raz pobierze określony plik, może go później przekazywać dalej.
Kiedy węzeł działa jako klient - pobiera pliki od innych uczestników sieci. Lecz, gdy zachowuje się jako serwer, to z jego zasobów inny mogą pobierać dostępne dane. W praktyce, obie z tych funkcji mogą być wykonywane w tym samym czasie (na przykład pobieranie pliku A z jednego węzła i przesyłanie pliku B do drugiego).
Z uwagi na to, że każdy węzeł przechowuje, przesyła oraz odbiera pliki, sieci P2P zwykle stają się szybsze i wydajniejsze wraz z rosnącą bazą użytkowników. Dodatkowo, ich rozproszona architektura sprawia, że systemy P2P są niezwykle odporne na ataki cybernetyczne. Dzieje się tak, gdyż fizycznie nie istnieje jeden konkretny serwer, który można zaatakować.
Możliwe jest kategoryzowanie sieci peer-to-peer z uwagi na ich budowę. Trzy główne typy to: niezorganizowana, zorganizowana i hybrydowa.
Niezorganizowana sieć P2P
Niezorganizowane sieci P2P nie posiadają żadnej konkretnej struktury węzłów. Komunikacja między użytkownikami odbywa się w sposób losowy. Ten typ systemów P2P uznaje się za odporny na wysoki "churn rate" (tj. kilka węzłów często łączących się z siecią, po czym opuszczających nią).
Chociaż łatwiej jest budować, niezorganizowane sieci P2P mogą wymagać większego użycia procesora i pamięci, ponieważ zapytania o pliki są wysyłane do jak największej liczby węzłów. Takie działanie często powoduje zapychanie się sieci, zwłaszcza w sytuacji, gdy tylko niewielka liczba node'ów posiada określony plik.
Zorganizowana sieć P2P
O ile zorganizowane sieci mogą być bardziej efektywne, o tyle charakteryzują się wyższym poziomem centralizacji, a z korzystaniem z nich wiążą się większe koszty. Poza tym zorganizowane sieci są mniej odporne w obliczu rosnącego "churn rate".
Hybrydowe sieci P2P
Hybrydowe sieci P2P łączą tradycyjny model serwer-klient z niektórymi aspektami architektury peer-to-peer. Na przykład możliwe jest zaprojektowanie centralnego serwera ułatwiającego nawiązywanie połączeń między innymi równorzędnymi serwerami.
Porównując model hybrydowy z dwoma poprzednimi, zazwyczaj wykazuje się on większą wydajnością. Mieszane P2P łączą niektóre z głównych zalet zorganizowanych i niezorganizowanych sieci P2P, osiągając jednocześnie znaczną decentralizację przy wysokiej wydajności.
Rozproszona a zdecentralizowana
Choć architektura P2P pozostaje z natury rozproszona, należy zauważyć, że możemy mieć do czynienia z różnymi stopniami decentralizacji. Nie wszystkie sieci P2P są więc zdecentralizowane.
W rzeczywistości wiele systemów P2P opiera się na centralnym organie kierującym działalnością sieciową, dzięki czemu są one w pewnym stopniu scentralizowane. Dla przykładu, niektóre systemy udostępniania plików P2P umożliwiają użytkownikom samo wyszukiwanie i pobieranie plików z węzłów, ale nie mogą oni uczestniczyć w innych procesach, takich jak zarządzanie zapytaniami wyszukiwań.
Ponadto, niewielkie sieci kontrolowane przez ograniczoną bazę użytkowników o wspólnych celach i interesach także charakteryzują się wysokim stopniem centralizacji na poziomie "ludzkim", pomimo braku scentralizowanej infrastruktury sieciowej.
Rola P2P w blockchainach
Zatem nie ma w Bitcoinie żadnych banków lub instytucji przetwarzających i rejestrujących transakcje. Blockchain działa jak cyfrowa księga, w której zapisywane są wszystkie aktywności sieciowe, a wgląd do niej posiada każdy chętny. Wszystkie z pełnych węzłów przechowują kopię całego łańcucha bloków i nieustannie porównują go z kopiami posiadanymi przez inne node'y, aby upewnić się, że wszystkie zapisy w księdze (dane) są prawidłowe. Jeśli pojawi się jakakolwiek nieprawidłowa transakcja, zostaje ona momentalnie odrzucona przez sieć.
Zalety
Poza kwestiami związanymi z bezpieczeństwem, zastosowanie architektury P2P w sieciach kryptowalut sprawia, że są one wysoce odporne na cenzurę ze strony władz centralnych. W przeciwieństwie do standardowych kont bankowych, portfele kryptowalutowe nie mogą zostać zamrożone lub "wyczyszczone" przez organy rządowe. Wytrzymałość ta rozciąga się na próby cenzurowania podejmowane przez prywatne firmy płatnicze oraz platformy udostępniania treści cyfrowych. Niektóre niezależne serwisy, a także sklepy internetowe, już dziś dodają do swoich stron możliwość dokonywania płatności za pomocą kryptowalut, w celu uniknięcia możliwych blokad.
Ograniczenia
Pomimo wielu zalet, wykorzystanie sieci P2P w blockchainach wiąże się z pewnymi ograniczeniami.
Ponadto rozproszony charakter sieci P2P sprawia, że są one stosunkowo trudne do kontrolowania i regulacji, nie tylko w niszy blockchain. Kilka aplikacji P2P i przedsiębiorstw zaangażowało się w nielegalne działania, naruszając prawa autorskie twórców.
Wnioski końcowe
Architektura Peer-to-Peer może być rozwijana i stosowana na liczne sposoby. Sieci P2P kryją się u podstaw każdej kryptowaluty. Poprzez dokładne rozproszenie ksiąg transakcyjnych na wiele węzłów, architektura P2P zapewnia bezpieczeństwo, decentralizację i odporność na cenzurę.
Oprócz ich użyteczności w technologii blockchain, systemy P2P mogą również służyć innym rozproszonym aplikacjom komputerowym: od sieci udostępniania plików po, na przykład, platformy handlu nadwyżkami energetycznymi.