W臋z艂y (nodes) - czym s膮 i jak dzia艂aj膮?
Strona G艂贸wna
Artyku艂y
W臋z艂y (nodes) - czym s膮 i jak dzia艂aj膮?

W臋z艂y (nodes) - czym s膮 i jak dzia艂aj膮?

Pocz膮tkuj膮cy
Opublikowane Nov 29, 2018Zaktualizowane Aug 17, 2023
5m

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 鈥減e艂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 鈥渘as艂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鈥檚 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.聽

Udost臋pnij Posty
Zarejestruj konto
Wykorzystaj swoj膮 wiedz臋 w praktyce, otwieraj膮c konto Binance ju偶 dzi艣.