Sieci peer-to-peer (P2P) to rodzaj zdecentralizowanej sieci składającej się z setek, a nawet milionów komputerów zlokalizowanych na całym świecie. Wszystkie działają w oparciu o ten sam protokół komunikacyjny, którego celem jest stworzenie rozległej sieci do udostępniania wszelkiego rodzaju informacji. Jeśli dziś możemy kupić bitcoiny, to właśnie dzięki temu typowi sieci.
Usieć P2Plub peer-to-peerSieć to sieć, w której grupa ludzi lub maszyn uczestniczy w sposób całkowicie zdecentralizowany. Innymi słowy, Jest to sieć, w której nie ma centralnego punktu połączenia ani kontroli, a strony działają autonomicznie, odpowiadając na wspólny protokół komunikacji i konsensusu.W ten sposób członkowie sieci mogą wymieniać się informacjami bezpośrednio, bez pośredników.
Aby osiągnąć tę funkcjonalność, sieci P2P opierają się na protokołach działających w oparciu o protokoły internetowe (znane również jako TCP/IP). Stąd protokoły P2P nazywane są protokoły aplikacji lub warstwa 7, zgodnie z modelem Otwarte połączenia systemów, czyli OSIOznacza to, że protokoły P2P wymagają użycia innych, bardziej abstrakcyjnych protokołów, aby mogły działać, ale jednocześnie sprawia to, że są prostsze w budowie i obsłudze.
Dzięki temu protokoły P2P są szeroko stosowane od momentu ich powstania do różnych celów. Niektóre są legalne, inne dość niejasne, ale mimo to jedno jest jasne: Protokoły P2P są bardzo wydajne i umożliwiają tworzenie zdecentralizowanych struktur, które są trudne do cenzurowania i bezpłatne.Z tego powodu kryptowaluty takie jak Bitcoin Zostały zbudowane w oparciu o protokoły P2P.
Geneza i historia P2P
Początków pierwszej sieci P2P można doszukiwać się w powstaniu protokołu UUCP o Protokół kopiowania Unix do UnixW 1980 roku ten prosty protokół dał początek znanej sieci USENET i do BBSSieci, które nadal działają i działają. Dobrym przykładem jest Efekt BBS Linuxktóry jest nadal aktywny dla tych, którzy tęsknią za tym systemem komunikacji.
Zasada działania tych systemów jest prosta: Maszyna nawiązywała połączenie (połączenie dial-up) za pomocą modemu, komunikowała się z maszyną docelową i mogły wymieniać się informacjami punkt-punkt bez pośredników.Po zakończeniu połączenia użytkownik mógł zainicjować kolejne połączenie z innym komputerem, rozpoczynając proces od nowa. Warto zauważyć, że wszystko to było możliwe bez infrastruktury internetu, jaką znamy dzisiaj; sieć i technologia były wówczas wciąż w fazie rozwoju.
W tamtym czasie USENET i protokół UUCP stanowiły szczyt komunikacji. W rzeczywistości ruch szyfropunk Wszystko zaczęło się od stosowania tego protokołu. Postacie takie jak Święty Juda, Erica Hughesa, Timothy C. May, David ChaumWykorzystywali te systemy do udostępniania informacji na forach dyskusyjnych społeczności Cypherpunks. To były początki informatyki, a już wtedy wiele przyszłych możliwości tego typu protokołów oraz znacznie potężniejszych i bardziej wydajnych komputerów stawało się coraz bardziej oczywiste.
Później, w 1983 roku, Protokół TCP/IPZasadniczo ten nowy protokół miał na celu uelastycznienie tworzenia dużych globalnych sieci; w rzeczywistości stanowi on fundament, na którym dziś znamy Internet. Stało się to naprawdę możliwe, gdy System lub model OSI (definiując siedem warstw abstrakcji, które obecnie mamy w Internecie) w 1989 roku i wreszcie wraz z pojawieniem się Protokół WWW (World Wide Web) w 1990.
Rodzaje sieci P2P
Wśród istniejących typów sieci P2P możemy wyróżnić następujące:
- Zdecentralizowana i ustrukturyzowana siećTego typu sieci są znane jako hybrydowe sieci P2P. W tego typu sieci nie ma katalogu na centralnym serwerze. Zamiast tego istnieje szereg węzłów, czyli równorzędnych węzłów, które mogą odbierać i odpowiadać na żądania informacji, ułatwiając dostęp do zasobów. Aby uniknąć centralizacji tej funkcjonalności, te specjalne węzły lub równorzędne węzły mogą być instalowane i konfigurowane przez każdego, co pozwala społeczności użytkowników na rozszerzanie funkcjonalności sieci i zapewnienie jej prawidłowego działania. Dobrym przykładem tego typu sieci jest sieć federacyjna, taka jak… Diaspora o Mastodont.
- Sieć zdecentralizowana i niestrukturyzowanaW tego typu sieciach P2P nie ma komputerów ani węzłów pełniących funkcję centralnych kontrolerów żądań. Zamiast tego, każdy węzeł w sieci pełni te same funkcje co wszystkie pozostałe węzły, więc każdy nowy węzeł ma takie same uprawnienia jak pozostałe. Sieci takie jak Bitcoin są przykładem tej cechy, ponieważ każdy połączony węzeł ma takie same możliwości jak pozostałe.
Jak działa sieć P2P?
Działanie sieci P2P jest stosunkowo proste. Zasadniczo, tworzony jest protokół komunikacyjny (język), który pozwala użytkownikom tego oprogramowania komunikować się bezpośrednio i bez pośredników z innymi komputerami. Jednak największym problemem w budowaniu tych systemów jest: Jak zaprojektować system, który nie będzie potrzebował scentralizowanego katalogu do komunikacji z innymi komputerami, na których działa to samo oprogramowanie?
To złożony problem, ale sytuację można skutecznie rozwiązać, stosując dwa jasno określone środki:
- Po pierwsze, oprogramowanie musi udostępniać informacje o połączeniach między komputerami, na których działa. W ten sposób każdy komputer, na którym działa oprogramowanie, może utrzymywać katalog połączonych komputerów i używać ich do łączenia się z wybranym węzłem.
- Zachęcaj do jak największej decentralizacji sieci. Oznacza to, że wiele osób musi obsługiwać oprogramowanie, tworząc własne węzły, co zwiększy rozmiar sieci. To z kolei poprawi jej zasięg i możliwości.
Innymi słowy, im więcej pary lub Tracker (komputery z uruchomionym oprogramowaniem P2P) Im większa sieć, tym większe prawdopodobieństwo, że nie będzie można jej cenzurować, jej działanie będzie bardziej odporne, a możliwości lepsze. We wczesnych systemach P2P, takich jak USENET czy IRCKomunikacja między systemami i ich połączeniami odbywała się za pośrednictwem środków pisemnych, połączeń telefonicznych lub samego systemu, który posiadał tablicę równorzędnych węzłów, z którymi użytkownicy mogli się łączyć. W ten sposób każdy nowy członek sieci miał dostęp do listy równorzędnych węzłów i mógł się do niej dodać, aby inni mogli się z nim komunikować w razie potrzeby. Co więcej, ten nowy węzeł mógł być bramą do informacji od blokowanych węzłów.

Ale tworzenie większych sieci, takich jak IRC, DCC, DC ++, Napster, Gnutella, BitTorrent i nawet Bitcoin To się radykalnie zmieniło. Teraz każdy węzeł łączy się z punktem i otrzymuje listę początkowych rówieśników (lub węzłów zalążkowych)Dzięki temu każdy węzeł może utworzyć własną listę węzłów należących do sieci. To zwiększa odporność na cenzurę i pozwala sieci rozwijać się szybciej.
Oczywiście, każdy protokół działa inaczej. Na przykład IRC to rozproszony (prawie scentralizowany) system serwerów, który umożliwia połączenie punkt-punkt z inną osobą. Natomiast DC+ i Gnutella są całkowicie zdecentralizowane; ich sieci są zaprojektowane tak, aby automatycznie dostosowywać się do dodawania i usuwania nowych węzłów.
To samo dzieje się w przypadku Bitcoina, gdzie sieć zaczęła się od pojedynczego ziarna, tego, które zainicjował Satoshi NakamotoOd tego czasu sieć stopniowo się rozrosła i osiągnęła rozmiar przekraczający 10 000 aktywnych węzłówOczywiście, cel Bitcoina jest inny niż cel sieci takiej jak Gnutella, ale zasady protokołu pozostają takie same: komunikowanie się między dwiema stronami bez pośredników.

Zalety i wady tej technologii
Zaleta
- Sieć P2P jest odporna na cenzurę. Sieci P2P o wysokim stopniu zdecentralizowania praktycznie nie da się cenzurować.
- Oferują niezrównaną odporność. Jeśli jeden węzeł ulegnie awarii, inny może zająć jego miejsce. Dlatego mówi się, że sieci P2P są w stanie przetrwać katastrofę nuklearną, ponieważ chociaż atak nuklearny może zniszczyć wiele węzłów, to jeśli przetrwa tylko jeden, sieć może zostać całkowicie odbudowana.
- Sieci P2P mogą prowadzić do potężnych rozwiązań skalowalnych, umożliwiających dostarczanie wyjątkowych usług o zasięgu globalnym.
- Ponieważ sieci P2P nie są zależne od podmiotów centralnych, cieszą się większym zaufaniem wśród użytkowników.
- Oferują wysoki poziom przepustowości. Dzieje się tak, ponieważ wykorzystują przepustowość każdego uczestnika, przekształcając ją w przepustowość własnej sieci.
- Służą do przesyłania wszelkiego rodzaju informacji cyfrowychOd Twojej ulubionej piosenki do setek milionów dolarów, w kilka sekund.
Wady
- Sieć P2P jest odporna na cenzurę, ale nie zapewnia anonimowości, chyba że została zaprojektowana w tym celu, nawet jeśli sieć stosuje szyfrowanie. Najlepszym przykładem jest BitTorrent, w przypadku którego dostawcy usług internetowych mogą wykryć korzystanie z protokołu i w ten sposób ostrzec władze o nielegalnym pobieraniu plików przez użytkownika.
- Sieci P2P są zaprojektowane tak, że wraz z ich rozmiarem wzrastają opóźnienia. Innymi słowy, dotarcie informacji do wszystkich części sieci zajmie więcej czasu w dużej sieci P2P niż w mniejszej. Dlatego poszukuje się nowych algorytmów i protokołów, aby rozwiązać ten problem.
- Protokoły P2P mają szereg znanych problemów strukturalnych. Przypadki takie jak ataki typu man-in-the-middle (MITM) mające na celu przejęcie kontroli nad węzłami, ponieważ muszą one być stale publicznie połączone, stanowią jedną z takich wad. Protokoły są również podatne na ataki routingowe lub ataki ukryte, takie jak… Atak Eclipse lub Atak Erebusa.
Bitcoin, sieć P2P do obsługi wartości
Bitcoin jest jedną z największych sieci P2P, jakie istnieją obecnie, z ponad 10 000 aktywnych węzłówBitcoin to globalna sieć, która pozwala swoim użytkownikom zarządzać wartością bez pośredników. Wystarczy pobrać oprogramowanie umożliwiające interakcję z tą siecią, a następnie można zacząć z niej korzystać.
Konstrukcja Bitcoina jako sieci P2P odpowiada na potrzebę decentralizacji jego możliwości. Tworzenie kryptowaluty nie ma sensu, jeśli byłaby zarządzana przez jednostkę centralną. To oznaczałoby po prostu stworzenie kolejnego banku centralnego. Zamiast tego Satoshi Nakamoto wyobrażał sobie globalną, wolną od cenzury, bezpieczną i prywatną sieć, która mogłaby zarządzać wartością. Dlatego Nakamoto zaprojektował Bitcoina jako sieć P2P, wykorzystując zastrzeżony protokół oparty na zasadach... Protokół Kademlia y Protokół plotek.
W rezultacie Bitcoin stał się siecią P2P, której praktycznie nie da się zatrzymać. Nawet pomimo wad strukturalnych, protokół P2P był najlepszą decyzją, jaką Nakamoto mógł podjąć, projektując Bitcoina. Dzięki niemu zapewnił powstanie cyfrowej waluty, która służyłaby interesom świata i jego użytkowników.

P2P rozwiązuje problemy związane z pieniędzmi cyfrowymi
Co najważniejsze, Bitcoin, dzięki swojemu systemowi P2P, zdołał stworzyć rozproszony system rozliczeniowy, w którym problemy takie jak podwójne wydawanie pieniędzy należą już do przeszłości. Podwójne wydawanie pieniędzy było jednym z głównych problemów walut cyfrowych. Możliwość duplikowania i fałszowania pieniędzy nie miała rozwiązania, dopóki Satoshi Nakamoto nie zaprojektował blockchaina i jego protokołu P2P dla Bitcoina.
Od tego czasu możemy korzystać z kryptowalut z pełnym bezpieczeństwem, mając pewność, że nasze pieniądze są nie tylko chronione otwartym, transparentnym i darmowym protokołem, ale także, że nigdy nie zostaną podrobione. Dzieje się tak, ponieważ każdy węzeł przechowuje historię transakcji w sieci, rejestrując każdą operację. Ta rozległa sieć świadków służy jako niezmienny zapis wszystkiego, co się dzieje, dając nam pewność, że system jest odporny na manipulację.
Coś naprawdę użytecznego, co pozwala na przekształcenie Bitcoina w bezpieczną walutę cyfrową, najbezpieczniejszą i najbardziej transparentną ze wszystkich.
Inne ważne wydarzenia w początkach P2P
Narodziny IRC
W 1988 roku młody człowiek o nazwisku Jarkko Oikarinen zaprojektował protokół IRC, aby zastąpić program o nazwie MUT (MultiUser Talk) na BBS o nazwie OuluBox na Uniwersytecie w Oulu w Finlandii, gdzie pracował w Katedrze Nauki Przetwarzania Informacji.
Jego zamiarem było rozszerzenie oprogramowania BBS, które udało mu się stworzyć, aby umożliwić dostęp do wiadomości w stylu USENET, dyskusji w czasie rzeczywistym i innych funkcji podobnych do BBS. Pierwszą zaimplementowaną przez niego funkcją była funkcja czatu, którą stworzył, korzystając z kodu pożyczonego od jego przyjaciół, Jyrkiego Kuoppala i Jukki Pihla. Pierwsza sieć IRC działała na pojedynczym serwerze o nazwie tolsun.oulu.fi.
Fakt, że protokół został zaprojektowany z myślą o wykorzystaniu protokołu TCP/IP, zapewnił mu ogromną elastyczność w przyszłości. W rzeczywistości, już w 1990 roku powstała pierwsza na dużą skalę sieć IRC – EFNet. EFNet odegrał kluczową rolę w globalnej komunikacji podczas wojny w Zatoce Perskiej. Była to wręcz preferowana sieć do śledzenia w czasie rzeczywistym tego, co dzieje się na polu bitwy. To pokazało, że potencjał IRC w porównaniu z pocztą elektroniczną był większy, przynajmniej pod względem natychmiastowości i interaktywności komunikacji. To samo stało się po upadku Związku Radzieckiego, gdzie IRC również odegrał kluczową rolę w komunikowaniu tego, co dzieje się na świecie w czasie rzeczywistym.
Od tego czasu protokół IRC uległ ogromnej ekspansji i akceptacji, co doprowadziło do powstania sieci takich jak UnderNet, Sieć DAL, freenode (szeroko stosowane w projektach wolnego oprogramowania), Ryzon e Immortal-Anime (obecnie Xertion)Rosnąca popularność protokołu doprowadziła do jego dalszego rozwoju, czego efektem był jeden z pierwszych systemów P2P w Internecie – IRC-DCC, czyli IRC Direct Client-to-Client. System umożliwiał bezpośrednią komunikację między użytkownikami bez pośredników, udostępnianie plików, szyfrowaną komunikację punkt-punkt (OTR) i wiele innych.

Narodziny HotLine Connect
W 1996 roku w świecie P2P pojawiło się kolejne dzieło Adama Hinkleya. Połącz się z infolinią Była to sieć wymiany plików P2P, która wykorzystywała system śledzenia, umożliwiając dwóm użytkownikom wymianę informacji. Szeroko używana do końca 2000 roku, popadła w zapomnienie z powodu pojawienia się innych, bardziej elastycznych protokołów i znacznego wzrostu popularności IRC-DCC.
Gnutella
Gnutella to sieć peer-to-peer do udostępniania plików opracowana w 2000 roku przez Justina Frankela i Toma Peppera. Frankel i Pepper byli pracownikami Nullsoft, firmy, która stworzyła odtwarzacz Winamp i usługę strumieniowego przesyłania dźwięku. Shoutcast.
Od tego czasu Gnutella jest największą siecią P2P na świecie. Sieć ta ma ponad 12 milionów aktywnych węzłów na całym świecie.
Narodziny Napstera
Napster to oprogramowanie opracowane przez Shawna Fanninga w 1998 roku, które umożliwiało użytkownikom bezpłatne pobieranie muzyki. Chociaż Napster nie był typową siecią P2P (jak IRC), umożliwiał dwóm osobom wymianę muzyki bez pośredników zewnętrznych poza tymi w sieci i jej serwerach. Jednak Napster mocno uderzył w przemysł muzyczny i po długiej batalii prawnej został zamknięty w lipcu 2001 roku.
Jednak działania Napstera skłoniły świat do opracowania bardziej zdecentralizowanych systemów.
Autor


