Wat zijn nodes?

What are nodes
Anycoin Direct

Door Anycoin Direct

Iedereen heeft wel eens gehoord van nodes. Dat zijn van die dingen die nieuwe transacties goed moeten keuren. Of doen ze nog meer? Er is ook vaak veel spraakverwarring over namen als validator, node en miner. Omdat het best wel lastig is om te weten wat ze nou eigenlijk doen hebben we deze les geschreven, zodat je dit na deze lezing precies weet.

  • Een node is een apparaat dat een onafhankelijke eenheid is

  • Een node houdt de blockchain bij

  • Nodes communiceren in een gemeenschappelijke taal

  • Nodes zorgen ervoor dat een blockchain altijd online is

  • Nodes, validators, miners

Wat zijn nodes?

Definitie:

Een node is een apparaat dat een onafhankelijke eenheid is.

Node wordt vaak aangeduid met knooppunt, vertakking of verbinding.

In de informaticawereld, zoals bij een blockchain, communiceren deze nodes met elkaar om een bepaald doel te bereiken, zoals consensus over de geldigheid van een block in een blockchain. Er zijn ook veel simpelere nodes te bedenken, zoals hubs, die simpelweg onderdelen van een geheel in staat stellen met elkaar te communiceren, zoals je PC.

Bij een node moet je denken aan een boomstructuur zoals bij een stamboom, waarbij een node verschillende onderdelen van het boomdiagram verbindt en communicatie mogelijk maakt of zelf communiceert met de takken.

Nodes worden in allerlei constructies gebruikt, maar hun hoofdtaak is altijd verbinding leggen tussen verschillende onderdelen van een groter geheel, zoals een netwerk, een verzameling data of een blockchain. Buiten dit grotere geheel kunnen nodes niet functioneren. Je kunt bijvoorbeeld geen Bitcoin node aansluiten op het Ethereum netwerk.

Zonder bepaalde nodes zouden cryptocurrencies niet kunnen bestaan, omdat dan niemand zou weten hoe de blockchain er uit zou moeten zien. Vanaf het genesis blok van een blockchain houden nodes precies bij welke blokken er allemaal al gemaakt zijn, hoe veel coins iedereen heeft en hoe het volgende blok er uit moet zien. Zonder nodes zou niemand mee willen doen aan een blockchain en zou niemand een cryptocurrency kopen. Nodes zijn dus essentieel voor de veiligheid en integriteit van een blockchain.

Waar komt het idee van nodes vandaan?

In de jaren 60 van de 20e eeuw kwamen Paul Baran en Donald Davies met het idee dat ze packet switching noemden. Een packet heeft een header en een payload. Baran wilde een fault-tolerant routing methode verzinnen voor telecommunicatie boodschappen. Met packet switching werden data gegroepeerd in een pakketje en verstuurd over een digitaal netwerk. Dit werd de basis voor datacommunicatie in computernetwerken over de hele wereld.

Een aantal van deze termen komen erg bekend voor in de wereld van blockchains.

Het werd gebruikt in ARPANET (voorloper van het WWW en internet) en heeft uiteindelijk geleid tot de node, die informatie in een gedistribueerd netwerk kan versturen en ontvangen. Doordat een node vervangbaar is, heeft het verlies van een node vrijwel geen invloed op het totale netwerk. Dit geeft een gedistribueerd netwerk zijn kracht, aangezien het vrijwel onmogelijk kan uitvallen hierdoor.

Hoe werken nodes?

Als je een netwerk gaat opbouwen met verschillende apparaten kan dat alleen maar als ze een gemeenschappelijke taal hebben. Als je een netwerk gaat maken van computers en apparaten moeten ze allemaal voldoen aan de computertaal die daarvoor bedacht is, zoals een IP adres. Protocollen als TCP/IP en andere veel gebruikte protocollen in de computerwereld moeten voorgeprogrammeerd zijn in deze apparaten, anders is communicatie tussen de knooppunten (nodes) onmogelijk.

In de wereld van blockchain en cryptocurrency werkt het niet anders. Om te kunnen werken als node in een blockchain moet je de regels van die blockchain downloaden en installeren in je node. Alleen op die manier ben je als node in staat om te bepalen of een blok in die blockchain valide is of foutief.

Zo werkt een blockchain met een consensus protocol. Consensus is een mooi woord voor overeenstemming bereiken. Als een node de regels van een blockchain netwerk kent, kan hij ze ook toepassen. Aangezien alle andere nodes dezelfde ruleset hebben is consensus bereiken meestal eenvoudig.

Zodra er geen consensus is wordt er gewerkt met een meerderheid. Als meer dan 50% (in de meeste netwerken, sommige netwerken werken met andere cijfers) van de nodes een blok goedkeuren zal deze onveranderlijk vastgelegd worden in de blockchain. Het is altijd noodzakelijk om consensus te forceren, anders zou de blockchain vastlopen. In vrijwel alle gevallen is consensus enorm hoog, omdat het zeldzaam is dat er rare dingen gebeuren op een blockchain.

Zo’n zeldzaam geval zou bijvoorbeeld zijn als twee miners tegelijk de oplossing zouden vinden voor een cryptografische puzzel bij het minen in een Proof of Work netwerk. Dan heeft er 1 pech, want de langste keten wordt in een blockchain altijd gezien als de juiste en zodra de ene door een node wordt geaccepteerd, wordt de andere automatische als onjuist beschouwd.

Zodra een blok geaccepteerd is wordt via een tijdstempel en een hash de eigenschappen van een block definitief vastgelegd, zodat alle nodes weten wat de nieuwe staat is van de blockchain.

Waarom worden nodes gebruikt in een blockchain?

Een blockchain zou je kunnen omschrijven als een gedistribueerde database. Het is dus een gegevensverzameling die gedeeld wordt door deelnemers aan die blockchain.

Als je mee gaat doen aan zo’n netwerk word je dus een node. Je downloadt dan normaal gesproken de volledige database en gaat deze zelf onderhouden.

Decentraliteit is een belangrijk woord in blockchain technologie. Hiermee wordt bedoeld dat niet alles op 1 of enkele computers wordt bijgehouden, maar op een hele batterij aan computers. Hoe meer computers een netwerk bijhouden, hoe veiliger een blockchain is.

Stel je maar eens voor dat er maar 1 computer zou zijn die de volledige kopie van de Bitcoin database zou moeten bijhouden. Op het moment dat de stroom uit valt of de computer uitgezet wordt ligt alles stil. Dan kan er niet eens gehandeld worden in deze cryptocurrency. Hetzelfde geldt voor een netwerk van maar een paar nodes.

Dan heb je ook nog de consensus. Stel er waren maar een paar nodes, dan zouden deze samen kunnen werken om transacties goed te keuren die weliswaar niet kloppen, maar wel in hun voordeel zijn (zoals double spending), waardoor de database corrupt wordt.

Als er heel veel nodes zijn die ook nog eens verspreid zijn over de hele wereld zullen er altijd meer dan genoeg betrouwbare nodes overblijven om een correcte database bij te houden in alle omstandigheden (behalve als er nergens meer stroom is).

Hoe langer cryptocurrency bestaat, hoe veiliger en robuuster hun blockchains worden, doordat er steeds meer nodes bij komen die de database bijhouden. Aangezien cryptocurrency inmiddels geen kinderspel meer is hebben nodes een hele belangrijke functie gekregen in de wereld van crypto.

Het verschil tussen nodes, validators en miners

 

Nodes

Om het allemaal wat gemakkelijker te maken verzinnen ontwikkelaars en andere hotshots steeds nieuwe termen voor wat in feite nodes zijn. We zullen ze op een rijtje voor je zetten, zodat je een klein beetje overzicht hebt en je niet belandt in Babylonische spraakverwarringen:

  1. De node. Dit is de algemene term voor een knooppunt. Je weet nu wel wat dat is.

  2. De full node. Dit is een node die meestal speciale software moet gebruiken om de volledige blockchain te downloaden en verifiëren. Dit is bijvoorbeeld gebruikelijk bij Bitcoin. Deze nodes controleren of een transactie geldig is.

  3. De light node. Deze hoeft niet de volledige blockchain te downloaden en is verbonden met full nodes. Hij doet slechts een gedeelte van het werk dat een full node doet. Hier krijg je vrijwel nooit een beloning voor.

  4. De master node. Dit zijn de belangrijkste nodes van een blockchain. Meestal moet je een stevig aantal coins van hun cryptocurrency downloaden en zware software draaien. Je hebt vrijwel altijd een permanente verbinding nodig met het internet en een gespecialiseerde computer. Master nodes communiceren met andere master nodes om het netwerk zo veilig mogelijk te houden. Ga je als master node de fout in dan volgt er een stevige boete die ze een slash noemen. In dat geval kun je het hele onderpand kwijtraken, evenals je rol als master node. Master nodes worden betaald voor dit werk. DASH heeft dit concept verzonnen.

  5. De super node. Deze moet hele specifieke taken uitvoeren, zoals het implementeren van upgrades en updates en het mogelijk maken dingen als sidechains of applicaties op een platform draaiende te houden. Ook zijn ze vaak verantwoordelijk voor de infrastructuur van een blockchain. Ze lijken wel wat op master nodes, aangezien je meestal ook een behoorlijk bedrag aan coins als onderpand moet hebben en je een boete kunt krijgen als je niet genoeg tijd online bent (meestal bijna 100% of altijd). Dit is niet zo vreemd, want zij zorgen ervoor dat de blockchain naar behoren werkt. Ook zij krijgen een beloning voor hun werk.

Validators

Validators moeten transacties valideren die door deelnemers aan een blockchain netwerk verzonden worden. Dit doen zij door zich aan het consensus mechanisme te houden die bij een blockchain hoort. Zodra de validatoren van een netwerk consensus (overeenstemming) hebben bereikt over een blok in een blockchain zullen zij dit blok goedkeuren en toevoegen aan de blockchain.

Validators vind je meestal in een Proof of Stake netwerk. Deelnemers moeten dan de cryptocurrency van zo’n blockchain staken en krijgen daarvoor een beloning die varieert per blockchain. Deze validatoren moeten flink wat coins staken en enorm betrouwbaar het netwerk bijhouden, anders volgt een flinke boete en het einde van hun validator carrière. Daar passen ze wel voor op. Over het algemeen staken particulieren bij een gedelegeerde staker, omdat het allemaal wat technisch van aard is en je op te veel dingen moet letten. De meest bekende vorm hiervan is dat een exchange de rol van gedelegeerde speelt in een Proof of Stake netwerk en dat handelaren op een platform coins staken en een groot gedeelte krijgen van de opbrengst van hun gedelegeerde, de exchange.

Dit maakt Proof of Stake ook zo betrouwbaar: een validator heeft een enorm economisch belang bij het correct valideren van alle transacties, dus zorgt een validator dat dat ook zo is.

Miners

Dit is vanouds de bekendste vorm van een node, omdat Bitcoin hiermee werkt. Het betreft hier nodes in een Proof of Work netwerk.

Miners maken gebruik van meestal zeer dure hardware, zoals ASIC’s (application-specific integrated circuit) die gespecialiseerd zijn in het oplossen van cryptografische wiskundige puzzels die bij een bepaald netwerk horen. Zo kunnen Bitcoin miners alleen Bitcoins minen die bij het algoritme protocol van deze cryptocurrency horen. Los je de puzzel als eerste op dan heb je het recht om een nieuw blok in die blockchain te maken en krijg je de nieuwe coins plus de transactiekosten van alle transacties die in zo’n nieuw blok staan.

Een miner houdt de gehele blockchain bij.

Een miner heeft tegenwoordig vrijwel geen keus dan bij een derde partij, een mining pool te gaan, omdat in je eentje minen verliesgevend is. Alleen als je hele goede en dure apparatuur hebt en energie heel goedkoop is heb je nog enige kans om als solist te minen.

Miners zorgen er dus voor dat de staat van het netwerk bekend is, zodat iedereen die de database heeft kan zien in welke wallets de coins zich bevinden.

Kun je zelf een node runnen en transacties valideren?

Het is zonder meer mogelijk om een node te runnen voor welk netwerk dan ook. De vraag is echter of het wel slim is om je hier mee bezig te houden.

Bij Proof of Work heb je zeer dure apparatuur nodig en behoorlijk wat verstand van hard- en software. Bovendien zijn de stroomkosten in de EU zodanig gestegen dat het niet raadzaam is om aan een Proof of Work netwerk mee te doen. De kosten zullen waarschijnlijk hoger liggen dan de baten.

Bij een Proof of Stake netwerk kun je ook zelf een node runnen. Dit vergt over het algemeen erg hoge investeringen. Bij gevestigde coins, die een hogere waarde hebben, moet je al een flink bedrag aan coins als onderpand hebben om überhaupt een node te mogen starten. Ook heb je speciale hard- en software nodig. De hardware is erg duur en de software is moeilijk te begrijpen voor wie geen universitaire studie ICT heeft gedaan. Je kunt dus maar het beste staken via een gedelegeerde en zo toch nog meedoen aan een blockchain, zonder al dat lastige werk te hoeven doen.

Bij sommige netwerken is het wellicht toch nog mogelijk om mee te doen als node. Als light node kun je sowieso meedoen, maar daar krijg je geen beloning voor. Ook kun je de Bitcoin blockchain bijhouden als node, zonder vergoeding. Wil je er echter geld mee verdienen, dan is het misschien mogelijk om aan een blockchain mee te doen als master node of super node als de coin nog niet zo hoog staat in de lijst van CoinGecko. Dan kost het onderpand nog niet zo veel. De hardware eisen zullen nog steeds hoog zijn en je zult flink tijd moeten investeren in je kennis van de software en andere vereisten, maar je doet dan tenminste wel volledig mee. Een nadeel van deze opzet is dat deze coin wellicht nooit hoger komt te staan en je steeds meer coins krijgt van een netwerk dat niet groeit of zelfs instort. Je zult dan onderzoek moeten doen naar de kans van slagen van dat project.

De toekomst van nodes

Zijn nodes here to stay? Zullen er altijd nodes nodig zijn in blockchains? De meeste mensen denken van wel.

Aangezien een blockchain een gedistribueerde database is zullen nodes nog heel lang nodig zijn, misschien wel altijd. Het idee achter een blockchain laten draaien is immers om een database zodanig via nodes te verspreiden dat hij decentraal wordt opgeslagen, zodat hij niet alleen altijd online is, maar ook heel veilig is voor aanvallen op zo’n netwerk.

Een node is de spil in een blockchain netwerk. Daarom zal hij niet zo snel verdwijnen, al kan zijn naam verschillen per netwerk of techniek.

Test je kennis

Vraag: 1/5Hoe is het mogelijk dat nodes elkaar begrijpen?
AGemeenschappelijke taal
BHashing
CConsensus
DNetwerkverbinding