Wat zijn nodes in een blockchainnetwerk?

Dit artikel beschrijft het voormalige consensus-mechanisme van de Ethereum-blockchain. Inmiddels is Ethereum overgeschakeld van PoW naar PoS. Nodes (knooppunten) zijn een essentieel onderdeel van een blockchainnetwerk. Zonder deze computers zou het onmogelijk zijn om de gegevens op een veilige manier te distribueren. Binnen blockchainnetwerken zoals die van Bitcoin en Ethereum bevinden zich talloze nodes. Een blockchain is een digitale infrastructuur die volledig bestaat uit virtuele blokken. Deze blokken – met daarin allerlei gegevens – worden opgeslagen op nodes, die je kunt beschouwen als kleine servers. Deze knooppunten (meestal computers) vormen samen de gehele infrastructuur van een blockchainnetwerk. Alle nodes zijn verbonden en wisselen continu informatie met elkaar uit, over alles wat er binnen het blockchainnetwerk gebeurt. Daardoor blijven alle nodes doorlopend up-to-date. De knooppunten slaan alle blockchain-data op, distribueren de informatie en beschermen de gegevens. Een veel gehoorde term is de ‘full node’. Een dergelijke knooppunt bevat in principe een volledige kopie, van de hele transactiegeschiedenis van het blockchainnetwerk.

 

 

Proof of Work

Op het moment dat een crypto-miner een nieuw transactieblok aan het blockchainnetwerk wil toevoegen, dan zendt het desbetreffende blok uit naar alle nodes. Op basis van de uitgevoerde Proof of Work (die de legitimiteit van het blok heeft aangetoond), beslissen de nodes of dat blok binnen de blockchain moet worden geaccepteerd of moet worden geweigerd. Wanneer de nodes het blok accepteren dan wordt het opgeslagen en toegevoegd aan de blokketen. Een nieuw toegevoegd blok binnen de blockchain is onlosmakelijk verbonden met het vorige blok van de keten. Met andere woorden: de blokken verwijzen naar elkaar. De knooppunten:

  •  Controleren of een transactie daadwerkelijk geldig is.
  • Valideren of weigeren het blok.
  • Slaan gevalideerde blokken op
  • Zenden de transactiegeschiedenis uit naar de andere nodes.
  • Houden het blockchainnetwerk veilig

 

Valideren van transacties

Doordat alle knooppunten binnen de blockchain met elkaar worden gesynchroniseerd, worden alle nodes voorzien van exact dezelfde actuele en juiste informatie. Nodes valideren de betrouwbaarheid en integriteit van transacties. Bitcoin, Ethereum Litecoin, Monero, Dash, Ripple, Zcash en alle andere cryptocurrency’s richten zich op gecentraliseerde transacties. Deze cryptocurrency-transacties worden uitgevoerd binnen een blockchainnetwerk, een gedecentraliseerde database waarin alle transacties worden geregistreerd, vanaf de allereerste transactie.

 

 

Betrouwbaarheid en integriteit

De betrouwbaarheid en integriteit van de transacties worden continu gecontroleerd en gevalideerd door het netwerk zelf. Nodes (computers binnen een blockchainnetwerk) verifiëren alle informatie door middel van algoritmische berekeningen en bereiken daar dan overeenstemming over. Als alle nodes samen consensus hebben bereikt, dan gaan zij akkoord met de transactie en wordt deze als zijnde een geldig blokje aan de ketting van de blockchain toegevoegd. Je zou dus kunnen zeggen dat de controlerende taak – die bij traditionele betalingen bij banken ligt – nu is overgedragen aan computers binnen de blockchain.

Netwerk van nodesVeilig op de cryptomarkt

Het uitvoeren van transacties binnen een blockchain haalt de noodzaak weg van een betrouwbare centrale derde partij. De veiligheid van een decentraal gedistribueerd systeem, zorgt zelf voor veiligheid en stabiliteit van het netwerk door gebruik te maken van computerkracht. Deze computerkracht wordt geleverd door zogenaamde ‘miners’. Als iemand wil gaan handelen in cryptocurrency’s, dan kan hij of zij een digitale wallet aanmaken. Dat is een virtuele portemonnee voor je crypto-coins. Crypto-wallets zijn er in verschillende vormen. Naast software wallets zijn er ook hardware wallets. Over het algemeen geldt dat software wallets minder veilig zijn dan de hardware versies. In tegenstelling tot hardware wallets worden de cyptocurrency’s in software wallets online opgeslagen. Daardoor zijn de virtuele munten kwetsbaarder voor aanvallen van hackers, dan wanneer er gebruik wordt gemaakt van een hardware wallet. De keuze voor een wallet is dan ook erg belangrijk wanneer je wilt gaan handelen op de cryptobeurs. Niet alle wallets ondersteunen alle bestaande cryptocurrency’s. Voordat je een wallet aanschaft moet je erop letten dat deze geschikt is voor jouw specifieke cryptomunten.

 

Transport Layer Security (TLS)

Een wallet is een publiek-privaat sleutelpaar. Je hebt dus een openbare en een privé sleutel. Dit systeem wordt ook wel Transport Layer Security (TLS) genoemd. Als je iemand met Bitcoin, Ether of een andere cryptocurrency wilt betalen, dan verzend je die transactie over het hele netwerk en log je in met je private sleutel. Het netwerk controleert en valideert daarna de transactie en als deze als “geldig” wordt bestempeld, dan wordt de transactie in de vorm van een digitaal blokje, aan de ketting binnen het blockchainnetwerk toegevoegd. De transactie heeft nu plaats gevonden en iedereen binnen het netwerk kan dat ook controleren. Persoonlijke gegevens van degene die de transactie hebben uitgevoerd zijn anoniem.

Peer to peer netwerk

 

Stemmen via de blockchain

Blockchaintechnologie kan voor verschillende toepassingen worden gebruikt. Zo biedt de blockchain in de toekomst wellicht mogelijkheden, om landelijke of lokale verkiezingen online en veilig te laten verlopen. Door de cryptografische versleuteling is stemmen via de blockchain in niets te vergelijken met stemmen via een “traditionele” stemcomputer, omdat je dan nog altijd te maken hebt met gegevensopslag op “centrale” servers. En uiteraard houdt dat een behoorlijk veiligheidsrisico in. Als we zouden gaan stemmen via de blockchain, dan moet je een stem eigenlijk zien als een transactie, waarbij je je stem geeft aan een “ontvangende kandidaat”. Kiezers kunnen de blockchain dan zelf valideren en controleren of hun stem ook inderdaad is meegeteld. De nodes houden het netwerk continu up-to-date, waardoor de kans op fraude met verkiezingsuitslagen tot een minimum kan worden beperkt.

Ethereum logo

Dezelfde eigenschappen als een vingerafdruk

Het interessante aan de blockchain en zijn nodes is dat het systeem kan fungeren als een leverancier van identificatie en authenticatie. Stel dat je jezelf zou kunnen legitimeren bij overheidsinstanties, banken, op luchthavens en andere plaatsen, met maar één enkele identiteit, door gebruik te maken van blockchaintechnologie. Met je publieke-private sleutelpaar kun je dan overal je identiteit op een veilige manier registreren. Deze geregistreerde identiteitsgegevens bevatten zogenaamde “hashes” van verschillende identiteits-gerelateerde attributen. Een hashcode die cryptografisch is beveiligd zorgt ervoor dat het niet mogelijk is, om te achterhalen van welk blokje (met gegevens) de desbetreffende code is afgeleid. De blockchain (met zijn nodes die over alles wat er binnen het netwerk gebeurt overeenstemming bereiken) voorkomt dat er twee verschillende datablokken kunnen worden gecreërd, met exact dezelfde hashcode. De cryptografisch veilige hashcode kun je als het ware beschouwen als een digitale vingerafdruk.

Bitcoin nodes

Consenus-mechanisme

Identiteits-gerelateerdeerde attributen zijn bijvoorbeeld je naam, burgerservicenummer, vingerafdrukken en andere biometrische informatie. Een gebruiker kan naar een “erkende betrouwbare partij” gaan die de “hashes” (die eerder zijn vastgelegd in de blockchain) verifieert en deze informatie bestempelt als zijnde “de waarheid”. Zoals eerder gezegd moeten de nodes binnen de blockchain het eens zijn, over alle transacties die binnen het netwerk worden uitgevoerd. Daarbij wordt meestal gebruikgemaakt van het consensus-mechanisme Proof of Work (PoW). Blockchaingebruikers die de “erkende betrouwbare partij” vertrouwen, kunnen er in principe vanuit gaan dat de identiteit op de blockchain klopt en vervolgens gebruiken voor identificatie- en authenticatie-doeleinden. Toch is dit mechanisme niet helemaal waterdicht, omdat er nog steeds “vertrouwen” moet zijn tussen verschillende partijen (de betrouwbare partij die de “hashes” verifieert en de partij die “de betrouwbare” partij ook als “de betrouwbare” partij moet erkennen). In dat opzicht is blockchaintechnologie nog niet honderd procent veilig voor indentificatie-toepassingen.

Bitcoin miner

Beloning

Bij het het uitvoeren van transacties binnen een blockchain spelen de wiskundige berekeningen (het mining-proces), een zeer belangrijke rol. Deze cryptografische berekeningen vormen de basis, om de veiligheid binnen het netwerk te waarborgen en de onafhankelijkheid van derde partijen te kunnen garanderen. De nodes zijn zo belangrijk, omdat ze allemaal een kopie bevatten van exact dezelfde juiste informatie. In het geval van de Bitcoin worden de deelnemers die hun computers (mining rigs) beschikbaar stellen voor het uitvoeren van de berekeningen, beloond voor hun inspanningen. Als dank voor het genereren van het volgende blokje binnen de blockchain, ontvangen ze een beloning in de vorm van een bepaalde hoeveelheid bitcoins,

 

Een node is niet hetzelfde als een crypto-miner

Een node is dus niet – in tegenstelling tot wat veel mensen denken – hetzelfde als een crypto-miner. Een crypto-miner moet altijd een full node laten draaien om valide transacties te selecteren, voor het creëren van een nieuw blok binnen het netwerk. Zonder de volledige node kan tijdens het mining-proces niet worden bepaald welke voorgestelde transacties geldig zijn, volgens de transactiegeschiedenis die in de blockchain is vastgelegd. Met andere woorden: of de balansen voldoende zijn om de voorgestelde transacties ook daadwerkelijk te kunnen uitvoeren. Zonder een full node zou een crypto-miner geen toegang hebben tot de volledige transactiegeschiedenis binnen de blockchain. Om die reden is een crypto-miner in feite zelf wél altijd een volledige node.

 

Aanvallen, systeemcrashes en stroomuitval.

Een node daarentegen is niet altijd een crypto-miner. Apparaten binnen de blockchain kunnen een volledige node laten draaien door alle transactiedata te ontvangen, op te slaan en uit te zenden, zonder dat deze node ook zelf blokken genereert en aan het netwerk toevoegt. In dat geval functioneert een node puur als knooppunt met daarin opgeslagen data. Een crypto-miner doet in principe hetzelfde, maar probeert tegelijkertijd ook zelf transactieblokken aan het netwerk toe te voegen. In principe zou het hele blockchainnetwerk – theoretisch gezien – op één full node kunnen draaien. Echter zou dat betekenen dat alle informatie op één enkel apparaat zou worden opgeslagen, waardoor het netwerk heel erg kwetsbaar wordt voor aanvallen, systeemcrashes en stroomuitval.

Blockchain nodes

Hoe meer nodes, hoe veiliger de blockchain

Hoe meer full nodes er binnen een blockchain draaien, hoe beter het netwerk is beschermd tegen hackers en systeemfouten. Doordat de vele nodes simultaan dezelfde informatie delen, is het praktisch onmogelijk voor malafide elementen, om data binnen het netwerk te manipuleren of gegevens te verwijderen. Een wijziging op een node betekent immers dat die wijziging op alle in de blockchain aanwezige nodes moet worden doorgevoerd. En dat is erg lastig, zo niet onmogelijk. Wanneer er een situatie zou ontstaan waarbij een heleboel nodes ineens uit de blockchain verdwijnen, dan zou één node het hele netwerk in principe operationeel kunnen houden.

 

Wat zijn masternodes?

Naast de full nodes zijn er ook nog de zogenaamde ‘masternodes’. Deze masternodes bieden meestal veel meer geheugen dan de normale nodes en hebben vaak wat meer taken binnen een blockchainnetwerk. De masternodes doen in principe precies hetzelfde als de kleinere nodes. Ze valideren de transacties, slaan de gegevens op en verzenden de data naar de andere nodes. Daarnaast kunnen masternodes ook andere zaken regelen, zoals bijvoorbeeld het managen van zogenaamde ‘stemgebeurtenissen’ en het uitvoeren van protocolbewerkingen. Daarnaast spelen ze vaak een belangrijke rol bij het handhaven van de wetten binnen een blockchainnetwerk. In tegenstelling tot een normale node kan niet iedereen een masternode laten draaien. De macht over een masternode kan worden misbruikt en daarom wordt er van degene die de masternode host, veelal een bepaalde hoeveelheid aan cryptocurrency’s als onderpand geëist. Wanneer de host de regels van de blockchain schendt, dan kan het bedrag aan crypto-coins door het netwerk worden ‘gegijzeld’. De rente die de host van een masternode ontvangt, wordt meestal berekend over het onderpand.

 

 

Op de hoogte blijven van de ontwikkelingen op het gebied van blockchaintechnologie? Meld je dan nu aan voor de blogpost!

 

Meld je aan voor de blogpost!
Ik ga ermee akkoord dat mijn naam en e-mailadres worden gedeeld met Mailchimp.
Met de blogpost van Uitleg Blockchain blijf je automatisch op de hoogte van de nieuwste ontwikkelingen omtrent de blockchain technologie.
We hebben een hekel aan spam. Uw e-mailadres zal niet worden verkocht of gedeeld met anderen (afgezien van het marketing automation platform dat wij gebruiken voor onze e-maillijst).