Co to jest peer-to-peer (P2P)?
W informatyce sieć peer-to-peer składa się z grupy urządzeń, które mogą przechowywać i udostępniać dokumenty. Każdy uczestnik (węzeł) jest równoznaczny z równorzędną osobą. Oznacza to, że wszystkie węzły mają te same uprawnienia i wykonują te same zadania.
W dziedzinie fintech termin P2P zwykle odnosi się do transakcji walutą cyfrową lub aktywami cyfrowymi za pośrednictwem sieci rozproszonej. Platforma P2P umożliwia kupującym i sprzedającym bezpośrednie zawieranie transakcji bez pośredników. Niektóre strony internetowe mogą również zapewniać środowisko handlowe P2P dla pożyczkobiorców i pożyczkodawców.
Architektura P2P nadaje się do różnych scenariuszy, ale prawdziwą popularność zyskała w latach 90. XX wieku, kiedy narodziły się pierwsze programy do udostępniania plików. Obecnie sieci peer-to-peer stały się rdzeniem większości walut cyfrowych i stanowią dużą część branży blockchain. Jednak jest on również używany w wielu innych rozproszonych programach komputerowych, w tym: wyszukiwarkach internetowych, platformach przesyłania strumieniowego, platformach handlowych online i protokole sieciowym InterPlanetary File System (IPFS).
Jak działa P2P
Zasadniczo system P2P jest utrzymywany przez użytkowników w sieci rozproszonej. Zwykle nie mają centralnego administratora systemu ani serwera, ponieważ każdy węzeł ma kopię plików – użytkownika i serwer dla innych węzłów. Dlatego każdy węzeł może pobierać pliki z innych węzłów lub przesyłać do nich pliki. Urządzenie klienckie tradycyjnego systemu serwerowego musi pobierać pliki z serwera centralnego. Na tym polega różnica między siecią P2P a innymi tradycyjnymi systemami usług.
W sieci P2P pliki udostępniane przez połączone ze sobą urządzenia są przechowywane na ich dyskach twardych. Korzystając z aplikacji do przesyłania udostępnionych danych, użytkownicy mogą także wyszukiwać i pobierać pliki na innych urządzeniach. Jeśli użytkownik pobierze określony plik, może działać jako źródło tego pliku.
Innymi słowy, gdy węzeł pełni rolę użytkownika, pobiera pliki z innych węzłów. Ale jeśli działa jako serwer, inne węzły mogą pobierać z niego pliki. W rzeczywistości te dwie funkcje można wykonywać jednocześnie (na przykład pobieranie pliku A i przesyłanie pliku B).
Ponieważ każdy węzeł może przechowywać, przesyłać i odbierać pliki, a wraz ze wzrostem bazy użytkowników sieci P2P, staje się ona szybsza i wydajniejsza. Rozproszona struktura sprawia również, że system P2P jest bardziej odporny na ataki sieciowe. W odróżnieniu od tradycyjnych modeli, sieci P2P nie posiadają pojedynczego punktu awarii.
Ze względu na swoją strukturę możemy sklasyfikować systemy P2P, z których główne trzy typy to: niestrukturalna sieć peer-to-peer, strukturalna sieć peer-to-peer i hybrydowa sieć peer-to-peer.
Nieustrukturyzowana sieć P2P
Nieustrukturyzowane sieci peer-to-peer nie ujawniają specyficznej architektury węzłów. Uczestnicy mogą swobodnie komunikować się między sobą. Systemy te są odporne na działanie wysokiej częstotliwości, co oznacza, że kilka węzłów często wchodzących i wychodzących z sieci nie będzie miało żadnego wpływu na system.
Chociaż nieustrukturyzowane sieci typu peer-to-peer są łatwiejsze do skonfigurowania, wymagają one mocniejszych procesorów i pamięci, ponieważ zapytania wyszukiwania są wysyłane do największej liczby równorzędnych urządzeń. Zwłaszcza jeśli niewielka liczba węzłów może zapewnić wymaganą treść, duża liczba wyszukiwań zaleje sieć.
strukturalna sieć peer-to-peer
W przeciwieństwie do nieustrukturyzowanych sieci typu peer-to-peer, strukturyzowane sieci typu peer-to-peer charakteryzują się strukturą organizacyjną, która umożliwia węzłom efektywne wyszukiwanie pliku, nawet jeśli zawartość pliku nie jest powszechnie używana. W większości przypadków wyszukiwania przeprowadza się przy użyciu funkcji skrótu, ułatwiających przeszukiwanie baz danych.
Relatywnie rzecz biorąc, strukturyzowane sieci peer-to-peer są bardziej wydajne, ponieważ mogą wykazać wyższy poziom centralizacji i wymagają większego kapitału początkowego i kosztów utrzymania. Ponadto strukturyzowane sieci peer-to-peer są mniej tolerancyjne na aktywność o wysokiej częstotliwości.
Hybrydowa sieć peer-to-peer
Hybrydowe sieci peer-to-peer łączą tradycyjną architekturę master-slave z pewnymi cechami architektury peer-to-peer. Na przykład może utworzyć centralny serwer, aby przyspieszyć integrację między punktami.
W przeciwieństwie do pozostałych dwóch trybów, hybrydowe sieci typu peer-to-peer zwykle charakteryzują się lepszą ogólną wydajnością. Łączy w sobie zalety każdej metody, osiągając jednocześnie efektywność i decentralizację.
Rozproszone VS zdecentralizowane
Chociaż wszystkie struktury peer-to-peer są rozproszone, ich stopień decentralizacji jest różny. Dlatego nie wszystkie sieci peer-to-peer są zdecentralizowane.
W rzeczywistości wiele systemów wymaga centralnego organu kierującego działalnością sieciową, czyniąc ją mniej lub bardziej scentralizowaną. Na przykład niektóre systemy udostępniania plików typu peer-to-peer umożliwiają użytkownikom wyszukiwanie i pobieranie plików od innych użytkowników, ale nie mogą uczestniczyć w procesach takich jak zarządzanie zapytaniami.
Ponadto można powiedzieć, że niektóre małe sieci kontrolowane przez niewielką liczbę użytkowników są wysoce scentralizowane, chociaż mogą nie posiadać neutralnej infrastruktury.
Rola peer-to-peer w blockchain
Na początku istnienia Bitcoina Satoshi Nakamoto zdefiniował go jako „elektroniczny system gotówkowy typu peer-to-peer”. Bitcoin pojawił się w oczach opinii publicznej jako forma elektronicznej gotówki. Można go przesyłać pomiędzy dwoma użytkownikami za pośrednictwem sieci peer-to-peer, co wymaga zastosowania rozproszonej księgi głównej, czyli: blockchain.
W blockchainie architektura peer-to-peer umożliwia wzajemne przesyłanie Bitcoinów i innych walut cyfrowych na całym świecie bez konieczności korzystania z pośredników i jakichkolwiek serwerów centralnych. Jeśli jakikolwiek użytkownik chce wziąć udział w procesie weryfikacji bloków, może założyć węzeł Bitcoin.
Dlatego w sieci Bitcoin nie ma żadnych kroków bankowych ani zapisów transakcji. Zamiast tego blockchain służy jako księga elektroniczna, która publicznie rejestruje całą aktywność transakcyjną. Zasadniczo każdy węzeł posiada kopię blockchainu i porównuje ją z innymi węzłami, aby zapewnić poprawność danych. Sieć Bitcoin może szybko oczyścić wszelkiego rodzaju błędy i złośliwą aktywność.
Węzły mogą odgrywać różne role w łańcuchu bloków. Przykładowo pełne węzły weryfikują transakcje poprzez reguły konsensusu, zapewniając w ten sposób bezpieczeństwo sieci.
Każdy pełny węzeł utrzymuje kompletną, zaktualizowaną kopię łańcucha bloków — umożliwiając tym kopiom łańcucha bloków współpracę w celu sprawdzenia prawdziwego statusu rozproszonego rejestru. Należy zauważyć, że nie wszystkie węzły weryfikacyjne są górnikami.
Korzyść
Architektura peer-to-peer Blockchain ma wiele zalet. Co ważniejsze, w porównaniu z tradycyjną architekturą master-slave, sieci punkt-punkt charakteryzują się wyższą poufnością. Większość węzłów jest prawie odporna na ataki typu „odmowa usługi” (DoS), które naruszyły wiele systemów.
Podobnie, ponieważ dodawanie danych do łańcucha bloków wymaga jednomyślnej zgody większości węzłów, zmiana danych przez osobę atakującą jest prawie niemożliwa. Zwłaszcza w dużej sieci, takiej jak Bitcoin. Jednak stosunkowo małe łańcuchy bloków są podatne na ataki, ponieważ jedna osoba lub organizacja często kontroluje dużą liczbę węzłów (jest to również atak 51%).
Dlatego przy założeniu jednomyślnej zgody większości węzłów rozproszona sieć peer-to-peer czyni blockchain bardziej odpornym na złośliwe ataki sieciowe. Model peer-to-peer jest głównym powodem, dla którego sieć Bitcoin może osiągnąć bizantyjską odporność na błędy.
Oprócz bezpieczeństwa architektura peer-to-peer pozwala łańcuchom bloków walut cyfrowych uniknąć kontroli organów centralnych. W przeciwieństwie do zwykłych kont bankowych, portfele walut cyfrowych nie mogą być zamrażane ani konsumowane przez rządy. Platformy do przetwarzania płatności osobistych i platformy treści również mogą uniknąć odpowiednich wysiłków cenzury. Aby uniknąć interwencji stron trzecich w swoje płatności, niektórzy sprzedawcy internetowi przyjęli metody płatności w walucie cyfrowej.
ograniczenie
Pomimo powyższych zalet, korzystanie z sieci P2P w blockchainie ma również pewne ograniczenia.
Ponieważ rozproszona księga musi być aktualizowana w każdym węźle, dodawanie transakcji do łańcucha bloków wymaga ogromnej mocy obliczeniowej komputera. Chociaż poprawia to bezpieczeństwo, znacznie zmniejsza również wydajność i stało się jedną z głównych przeszkód w rozwoju i promocji sieci blockchain. Jednak kryptografowie i twórcy blockchainów pracują nad alternatywami, aby rozwiązać problemy ze skalowalnością. Kilka oczywistych przykładów to „Lightning Network”, „Ethereum Plasma” i „Protokół Mimblewimble”.
Kolejne potencjalne ograniczenie dotyczy możliwych ataków podczas hard forku. Ponieważ większość łańcuchów bloków jest zdecentralizowana i ma otwarte oprogramowanie, węzły mogą swobodnie kopiować i modyfikować kod oraz oddzielać się od głównego łańcucha, tworząc w ten sposób nowe równoległe sieci. Hard forki są zjawiskiem całkowicie normalnym i nie stanowią zagrożenia. Jednak oba łańcuchy mogą być podatne na ataki typu „replay”, jeśli pewne środki bezpieczeństwa nie zostaną odpowiednio zastosowane.
Co więcej, rozproszony charakter sieci P2P sprawia, że ich kontrolowanie i regulowanie jest stosunkowo trudne. Problem ten nie ogranicza się do blockchaina, niektóre aplikacje i firmy P2P są również zaangażowane w nielegalne działania, takie jak naruszenia.
Podsumować
Architekturę peer-to-peer można rozwijać i wykorzystywać w wielu różnych aspektach, a jej podstawowa pozycja w łańcuchu bloków również przyczyniła się do narodzin walut cyfrowych. Dystrybuując księgę transakcji w dużej sieci węzłów, architektura peer-to-peer zapewnia korzyści w postaci bezpieczeństwa, decentralizacji i ochrony przed regulacjami.
Oprócz zalet związanych z technologią blockchain, systemy P2P można również zastosować w innych obszarach zastosowań przetwarzania rozproszonego, począwszy od sieci wymiany plików po platformy handlu energią.
