Węzły (nodes) - czym są i jak działają?

Udostępnij
Copied to clipboard!
Węzły (nodes) - czym są i jak działają?
Posłuchaj tego artykułu
00:00 / 00:00

Definicja oraz przeznaczenie węzła (ang. node) uzależniona jest od kontekstu wobec którego słowo to jest używane. 

W przypadku sieci komputerowych i/lub telekomunikacyjnych węzły mogą spełniać różne cele, działając np. jako punkt redystrybucji danych albo jako punkt końcowy komunikacji. Węzeł zazwyczaj składa się z fizycznego urządzenia sieciowego, ale istnieją pewne szczególne przypadki, w których używane są wirtualne węzły.

Mówiąc najprościej węzeł sieciowy jest punktem w którym możliwe jest utworzenie, odbieranie lub transmitowanie wiadomości. W artykule skupiliśmy się na omówieniu różnych typów węzłów obecnych w sieci blockchain Bitcoina, a są to: pełne węzły (ang. full nodes), super węzły (ang. super nodes), węzły górnicze (ang. miner nodes) oraz klienty SPV (ang. SPV clients).


Węzły w sieci Bitcoin

Zanurzając się w kontekst węzłów obowiązujący w sieciach blockchain - które są zaprojektowane jako rozproszone systemy/księgi - sieć węzłów komputerowych umożliwia wykorzystanie Bitcoina jako zdecentralizowanej cyfrowej waluty typu P2P (peer-to-peer), która jest odporna na cenzurę i nie potrzebuje do dokonywania transakcji żadnych pośredników (bez względu na to, jak dalekie dystanse dzielą obie strony transakcji).

Węzły w sieciach blockchain funkcjonują jako punkt komunikacji, który spełnia różne funkcje. Każdy komputer lub urządzenie, które łączy się z interfejsem Bitcoin może nazywane jest węzłem ponieważ komunikuje się z innymi urządzeniami w ten lub inny sposób. W sieci blockchain Bitcoin węzły przesyłają między sobą informacje o transakcjach i blokach przy użyciu protokołu peer-to-peer Bitcoina. Każdy węzeł obecny w sieci definiowany jest zgodnie z jego przeznaczeniem.

 

Pełne Węzły

Tak zwane Full Nodes są tymi węzłami, które wspierają sieć Bitcoin, zapewniają jej bezpieczeństo, a przy tym są niezbędne do jej działania. Węzły te są również nazywane pełnymi węzłami walidującymi (ang. Full validating nodes), ponieważ angażują się w proces weryfikacji transakcji oraz bloków zgodnie z zasadami konsensusu obowiązującymi w systemie. Pełne węzły są również odpowiedzialne za przekazywanie (czyt. transmitowanie) nowych transakcji i bloków do sieci.

Pełen Węzeł zazwyczaj pobiera kopię blockchain Bitcoina i powiększa ją samodzielnie z każdym nowo pobranym blokiem i transakcją. Na dzień dzisiejszy pobranie aktualnej kopii sieci blockchain nie jest wymagane do określenia węzła “pełnym”, zamiast tego właściciele węzłów mogą wykorzystać zredukowaną (czyt. zmniejszoną) kopię łańcucha blockchain.

Węzeł w sieci blockchain działają dzięki specjalnym oprogramowaniom, ale najczęściej wykorzystywanym obecnie jest Bitcoin Core. Minimalne wymagania do uruchomienia Pełnego Węzła prezentują się następująco:

  • Komputer stacjonarny lub przenośny z najnowszą wersją systemu Windows, Mac OS X lub Linux.

  • 200 GB wolnego miejsca na dysku.

  • 2 GB pamięci (RAM).

  • Łącze internetowe o szybkości wysyłania co najmniej 50 kB/s.

  • Niesymetryczne połączenie z siecią lub połączenie z wysokim limitem wysyłania. Pełne węzły mogą osiągać lub przekraczać obciążenie po stronie przesyłu wynoszące do 200 GB miesięcznie oraz zużycie po stronie pobierania wynoszące 20 GB / miesiąc. Podczas pierwszego uruchomienia węzła pobranych będzie około 200 GB danych.

  • Pełny Węzeł powinien działać co najmniej 6 godzin dziennie. Jeszcze lepiej jeśli działać będzie całą dobę - 24/7.


Wiele organizacji oraz użytkowników utrzymuje pełne węzły w sieci Bitcoin jako sposób na pomoc w działaniu sieci blockchain tej kryptowaluty. Na moment pisania artykułu w sieci Bitcoin działa około 9700 węzłów publicznych. Liczba ta odnosi się jedynie do węzłów publicznych, czyli takich, które “nasłuchują”, a więc są widoczne i dostępne. Węzły publiczne znane są pod nazwą listening nodes.

Poza publicznym węzłami w sieci funkcjonuje wiele innych ukrytych węzłów (tzw. węzły nie nasłuchujące). Węzły te działają zwykle za firewallem, korzystają z protokołów takich jak Tor lub po prostu zostały skonfigurowane w taki sposób aby nie nasłuchiwały połączeń.


Węzły Nasłuchujące (ang. Listening Nodes; Super Węzły)

Zasadniczo węzeł nasłuchujący lub Super Węzeł, to pełny węzeł, który jest publicznie widoczny. Komunikuje się i dostarcza informacje do każdego innego węzła, który decyduje się ustanowić z nim połączenie. To sprawia, że Super Węzeł jest w zasadzie punktem redystrybucji, który może działać zarówno jako źródło danych, jak i jako swoisty most komunikacyjny.

Niezawodny Super Węzeł działa zazwyczaj 24 godziny na dobę, 7 dni w tygodniu i zawsze ma ustalonych co najmniej kilka zapasowych źródeł połączenia z siecią. Super Węzły trudzą się przesyłaniem danych historycznych i transakcji blockchain do wielu innych węzłów na całym świecie. Super Węzły wymagają większej mocy obliczeniowej i lepszego połączenia internetowego w porównaniu do zwykłego Pełnego Węzła.


Węzły Górnicze

Aby móc kopać bitcoiny według obecnie obowiązującego algorytmu konsensusu konieczne jest zainwestowanie pieniędzy w specjalistyczny sprzęt oraz oprogramowanie. Programy wydobywcze (oprogramowanie) nie są bezpośrednio powiązane z rdzeniem Bitcoina i są uruchamiane równolegle z oprogramowaniem typu Bitcoin Core w celu podejmowania prób wydobycia bloków Bitcoina. Górnicy mogą pracować samodzielnie (ang. Solo miner) lub w grupach (ang. Pool miner).

Podczas gdy pełne węzły samodzielnych górników korzystają z własnej kopii sieci blockchain, górnicy kopiący w grupach współpracują ze sobą. Każdy z górników w grupie posiada swoje własne zasoby obliczeniowe (hashpower), ale korzysta ze wspólnej dla całej grupy kopii sieci blockchain. W tzw. mining pools jedynie zarządzający grupą musi posiadać aktywny pełen węzeł - który nazywany jest pool miner’s full node.


Lekki klient kontra klient SPV

Klient SPV (Simplified Payment Verification - Klient Uproszczonej Weryfikacji Płatności) oraz klient typu lightweight korzysta z sieci Bitcoin, ale tak naprawdę nie działa jako pełny węzeł. LC oraz SPV nie przyczyniają się do poprawy bezpieczeństwa sieci ponieważ nie przechowują kopii sieci blockchain oraz co ważne nie uczestniczą w procesie walidacji i weryfikacji transakcji.

W dużym skrócie użytkownik korzystający z SPV zyskuje możliwość sprawdzenia, czy wybrane transakcje zostały zawarte w bloku czy też nie bez konieczności ściągania wszystkich danych związanych z danym blokiem. Klient SPV polega na informacjach dostarczanych przez inne pełne węzły (Super Węzły). Lekki klient działa jako punkt końcowy komunikacji i jest wykorzystywany przez wiele portfeli kryptowalut.


Klient kontra Węzeł Górniczy

W tym miejscu warto jednak zauważyć i zapamiętać, że uruchomienie pełnego węzła nie jest tożsame z uruchomieniem Pełnego Węzła Górniczego. W odróżnieniu od górników, którzy stale muszą inwestować w rozbudowę swojego sprzętu i oprogramowania do kopania, wszyscy inni uczestnicy sieci mogą uruchomić zwykły węzeł, skupiając się jedynie na walidacji transakcji.
Zasady konsensusu obowiązującego w sieci są ustalane, a następnie egzekwowane (czyt. zabezpieczane) przez rozproszoną sieć węzłów walidujących, a nie przez górników.

Przed podjęciem się próby wydobycia bloku, górnik musi zebrać oczekujące transakcje, które zostały wcześniej zaakceptowane jako poprawne przez Pełne Węzły. Po tej czynności górnik tworzy tzw. candidate block (zawierający grupę transakcji) i próbuje go dosłownie wydobyć. Jeśli górnikowi udaje się znaleźć prawidłowe rozwiązanie zagadki matematycznej dla tego bloku, to rozgłasza go do sieci, a pozostałe pełne węzły sprawdzają poprawność bloku oraz wynik zagadki matematycznej w nim zawartej. 


Wnioski

Węzły w sieci Bitcoin komunikują się ze sobą za pośrednictwem protokołu sieciowego Bitcoin P2P, a dzięki utrzymywaniu stałego połączenia ze sobą gwarantują integralność systemu. Konstrukcja sieci blockchain Bitcoin sprawia, że węzeł, który wykazuje nieczyste intencje lub trudzi się propagowaniem nieprawidłowych danych, zostaje szybko rozpoznany przez uczciwe węzły i dosłownie jest odłączany od sieci.

Pomimo tego, że uruchomienie pełnego węzła walidującego nie zapewnia korzyści finansowych, podjęcie się takiej aktywności przez uczestników sieci jest wysoce zalecane, ponieważ zapewnia użytkownikom osiągnięcie odpowiedniego poziomu zaufania do sieci, oraz sprawia, że dbają oni jednocześnie o jej bezpieczeństwo i prywatność innych jej uczestników. Pełne węzły stoją na straży zasad zapisanych w konsensusie oraz chronią sieć blockchain przed atakami i próbami oszustw (takimi jak atak typu double spending). Posiadanie własnego pełnego węzła daje użytkownikom pełną kontrolę nad ich własnymi pieniędzmi oraz eliminuje konieczność zawierzenia innym w kwestii ich prawdziwych intencji. 

Loading