bitnodes_image.png
  • Bitcoin Hrvatska
  • Novosti

Što je to Bitcoin nod?

Bitcoin nod je računalo koje se putem Bitcoin software-a spaja na Bitcoin mrežu te komunicira sa ostatkom mreže koristeći se pravilima propisanim Bitcoin protokolom. To može biti osobno računalo ili neki server (bilo fizički bilo virtualni). Računalo ne mora biti povezano sa ostatkom mreže 24/7 no u trenutcima kada nije povezano vlasnik mora biti svjestan da nema najnovije podatke vezane uz stanje mreže pa ni ne može slati ili primati Bitcoin. Nakon spajanja na internet, računalo će downloadati i provjeriti nove blokove.

Bitcoin nod postoji u dva glavna oblika. Full nod i Light nod koji se razlikuju po težini postavljanja, hardware-skim zahtjevima i ulozi u Bitcoin mreži te mogućnostima.

Full node (potpuni nod) je računalo koje prilikom instaliranja i prvog pokretanja downloada cijeli blockchain (bazu podataka svih transakcija ikada napravljenih unutar Bitcoin mreže), te ih sve provjerava i verificira. Nakon početnog provjeravanja, nod downloada svaki novi blok te verificira autentičnost svih transakcija u tom bloku nakon čega ga dodaje na kraj svoje lokalne kopije blockchain-a.

Zbog činjenice da full nod čuva sve ikad napravljene Bitcoin transakcije, računalo na kojem je instaliran, mora imati dovoljno diskovnog prostora ne samo za trenutne, već i za buduće transakcije. Kako je maksimalni rast blockchain-a predvidiv zbog ograničenja veličine bloka (1Mb) i brzine kojom se blokovi stvaraju (cca. svakih 10 min jedan blok), tako je vlasniku full nod-a moguće predvidjeti koliko mu je potrebno diskovnog prostora za korištenje full nod-a u određenom vremenskom razdoblju.
U trenutku pisanja ovog teksta, Bitcoin blockchain zauzima 174GB, što znači da full nod koji koristi trenutno prihvatljivo jeftin disk od 500GB može računati na više od 10 godina rada ukoliko u međuvremenu ne dođe do povećanja veličine bloka.

Uz planiranje diskovnog prostora, vlasnik full nod-a mora imati na umu da full nod, prije nego što postane uporabljiv, mora provjeriti autentičnost svih prijašnjih blokova koje mu je poslala mreža (od početka postojanje BTC mreže) za što je potrebna određena procesorska snaga. Sama procesorska snaga je kasnije (nakon prvog postavljanja) nebitna, pošto obrada jednog bloka ne zahtjeva puno resursa, a i dešava se u prosjeku jednom u 10 minuta.

Zbog svega navedenog, nije rijetka pojava da korisnici odrade prvotno postavljanje nod-a na jačim računalima, nakon čega prebace nod na neko niskoenergetsko mini računalo poput Raspberry Pi-a. Oni korisnici koji nisu u žurbi, mogu pokrenuti postavljanje i direktno na mini računalu, no moraju računati sa time da obrada može potrajati i više dana.

Sada kad smo objasnili neke tehničke uvjete i ograničenja za postavljanje i korištenje full nod-a, možemo objasniti i njegovu ulogu. Glavna uloga full nod-a je ta da svom vlasniku omogući samostalnu i neovisnu provjeru apsolutno svih Bitcoin transakcija, bilo njegovih bilo tuđih. Vlasnik full nod-a ne mora vjerovati niti jednom drugom nod-u ili dijelu mreže. On može sam verificirati rad minera i odbaciti ga ukoliko se ne slaže sa Bitcoin protokolom. Istu stvar radi svaki drugi Bitcoin nod. Svaki provjerava svaku transakciju i samostalno ju verificira, te ju samostalno odbacuje ukoliko se ne slaže sa pravilima samog protokola. To što full nod sam obrađuje sve podatke samostalno, ne znači da i ne komunicira sa ostatkom mreže. Nodovi međusobno dijele informacije o pokrenutim transakcijama (transakcije koje mineri još nisu uključili u blok), o prošlosti samog blockchain-a (šalju stare podatke nodovima koji su se tek pridružili mreži), itd. Zbog toga je full nod kralježnica Bitcoin mreže.

Činjenica da full nod sam odlučuje o točnosti transakcija, i sam odlučuje dali će primiti blok koji su u određenom trenutku kreirali majneri nas dovodi do njegove druge, nimalo manje važnije uloge, a to je mogućnost glasanja za promjene unutar mreže. U praksi, ako velika većina vlasnika full nodova aktivira neku novu mogućnost u svom software-u, ostatak mreže (prvenstveno mineri) se moraju prikloniti toj promjeni, jer bi u protivnom gubili novac, pošto bi im većina mreže odbijala blokove koje proizvode i prihvaćala blokove konkurencije koja je na strani te promjene.
Tako vlasnici full nodova "glasaju" za određene nove mogućnosti paljenjem ili gašenjem tih mogučosti na svojim nodovima. Kada je postotak full nodova sa određenom mogućnosti dovoljno velik, tada se svi ostali nodovi moraju prilagoditi promjeni ili zbog razlike u provjeri točnosti podataka budu ignorirani i praktički izbačeni iz mreže.

Taj način apliciranja promjena se zove User Activated Soft Fork (UASF), čij je najbitniji primjer uvođenje SegWit-a koji je uveden kontra volje miner-a i dijela developerske zajednice.

Zbog svega navedenog, full nodovi su garancija decentraliziranosti Bitcoin mreže i nešto što bi svaki malo napredniji korisnik trebao imati jer garantira točnost i samostalnost prilikom provjera autentičnosti transakcije. Npr. svaka tvrtka koja prima uplate putem Bitcoina bi trebala imati svoj vlastiti full node koji bi im garantirao da je svaka transakcija koju prime autentična.

Light node (jednostavni nod) je računalo koje ne downloada cijeli blockchain, već samo header-e svih blokova, te koje zbog toga ne mora downloadati i/ili obrađivati cijeli blockchain, no isto tako, pošto nema sve potrebne podatke ne može sa apsolutnom sigurnošću verificirati transakcije već se za točnost podataka mora oslanjati na full nodove prilikom čega se gubi decentraliziranost te se stvara potreba za povjerenjem.

Unatoč negativnim stranama, takvih nodova ima daleko više od full nodova, jer većina korisnika favorizira jednostavnost i brzinu naspram sigurnosti i decentraliziranosti. Isto tako, Light nodovi ne utječu na mrežu (ne mogu "glasati") i odluke koje se donose unutar mreže već se automatski moraju prikloniti promjenama koje pali ili gasi vlasnik full nod-a na koji su spojeni.

Light nodovi se većinom koriste kod software-a (najčešće Bitcoin walleta) koji se nalaze na mobilnim uređajima ili na uređajima gdje je brzina daleko bitnija od samostalnosti. Malo napredniji korisnici imaju i jedan i drugi nod, te svoj Light nod spajaju na svoj full nod, te su na taj način sigurni da su svi podaci koji dolaze na light node (npr. Bitcoin wallet na mobitelu) sto postotno točni.

Light nod se može smatrati "prozorom" u neki full node.

Pitanja, komentare i prijedloge možete dati na forumu.