Wat zijn Bitcoin-knooppunten?
In het Bitcoin-netwerk creëren, ontvangen of verzenden knooppunten berichten. Het draaien van een volledig validerende node helpt de gezondheid van het netwerk te waarborgen, beschermt tegen aanvallen en fraude, en stelt gebruikers in staat hun geld te controleren zonder op derden te vertrouwen. De nodes van miners zijn verantwoordelijk voor het verwerken van transacties en het aanmaken van nieuwe blokken. SPV-clients, geïntegreerd in crypto-wallets, werken met minimale resources en bieden een vereenvoudigde manier om Bitcoin-transacties te verifiëren zonder de hele blockchain te hoeven downloaden.
Basisprincipes
Afhankelijk van de context kan een node fungeren als een herdistributiepunt of een communicatie-eindpunt in computer- en telecommunicatienetwerken. Typisch is een node een fysiek netwerkapparaat, maar in bepaalde gevallen kunnen ook virtuele nodes worden ingezet.
Een Bitcoin-node is een punt binnen een netwerkinfrastructuur waar berichten kunnen worden gegenereerd, ontvangen of doorgestuurd. De vier typen Bitcoin-nodes zijn volledige nodes, supernodes, nodes van miners en SPV-clients.
Bitcoin-knooppunten
Het gedistribueerde systeem van computernodes maakt het mogelijk dat Bitcoin functioneert als een gedecentraliseerde peer-to-peer digitale valuta. Blockchain-nodes fungeren als communicatiepunten die verschillende functies vervullen en transacties zonder tussenpersonen vergemakkelijken, waardoor het systeem censuurbestendig is.
Elk apparaat dat verbinding maakt met de Bitcoin-interface kan als een node worden beschouwd, omdat ze met elkaar communiceren en informatie over transacties en blokken binnen het gedistribueerde netwerk verzenden via het Bitcoin peer-to-peer-protocol. Echter, elke node heeft specifieke functies, waardoor er verschillende typen Bitcoin-nodes bestaan.
Volledige nodes
Bitcoin-volledige nodes spelen een cruciale rol bij het beveiligen van het netwerk en het waarborgen van de correcte werking ervan. Deze nodes, ook wel volledig validerende nodes genoemd, zijn verantwoordelijk voor het verifiëren van transacties en blokken aan de hand van de consensusregels van het systeem. Daarnaast kunnen ze nieuwe transacties en blokken naar de blockchain doorgeven.
Hoewel het gebruikelijk is dat volledige nodes een volledige kopie van de Bitcoin-blockchain downloaden, is dit geen vereiste. Het is mogelijk om een verkleinde kopie van de blockchain te gebruiken. De meest gebruikte softwareimplementatie om een volledige node op te zetten is Bitcoin Core, dat een desktop of laptop vereist met een recente versie van Windows, Mac OS X of Linux.
Om een Bitcoin Core-volledige node te draaien heb je minstens 200 GB vrije schijfruimte, 2 GB geheugen en een snelle internetverbinding nodig met uploadsnelheden van minimaal 50 kB/s. Een onbeperkte verbinding of één met hoge uploadlimieten is te verkiezen, omdat online volledige nodes tot 200 GB/maand aan upload en 20 GB/maand aan download kunnen gebruiken. Wanneer je je volledige node voor het eerst start, moet je ongeveer 200 GB aan data downloaden.
Het wordt aanbevolen je volledige node minimaal zes uur per dag te laten draaien, maar het is beter als je hem continu (24/7) kunt laten draaien. Veel vrijwilligersorganisaties en gebruikers draaien volledige Bitcoin-nodes om het ecosysteem te ondersteunen. Vanaf 2023 draaien er meer dan 17.000 openbare nodes op het Bitcoin-netwerk. Houd er rekening mee dat dit aantal alleen publieke nodes omvat, die zichtbaar en toegankelijk zijn, ook wel listening nodes genoemd. Verborgen nodes, ook wel non-listening nodes genoemd, zijn niet zichtbaar voor het netwerk en kunnen achter firewalls draaien of protocollen gebruiken die anonieme communicatie op internet mogelijk maken, zoals Tor.
Luisterende nodes (Supernodes)
Volledige nodes die zichtbaar en toegankelijk zijn voor andere nodes in een netwerk worden luisterende nodes of supernodes genoemd. Deze nodes fungeren als gegevensbronnen en communicatiebruggen en zijn verantwoordelijk voor het doorgeven van de blockchaingeschiedenis en transactiedata aan andere nodes in het netwerk. In essentie zijn supernodes herdistributiepunten die helpen verbindingen tussen nodes tot stand te brengen.
Supernodes vereisen meestal meer rekencapaciteit en een betrouwbaardere internetverbinding dan verborgen nodes. Ze worden doorgaans 24/7 gedraaid en hebben meerdere gevestigde verbindingen, waardoor ze informatie kunnen leveren aan elke node die besluit verbinding met hen te maken. Het draaien van een supernode draagt bij aan de betrouwbaarheid en efficiëntie van het netwerk.
Nodes van miners
Om te beginnen met het minen van Bitcoin is het noodzakelijk gespecialiseerde mining-hardware en -software aan te schaffen. Deze miningprogramma's zijn losstaand van Bitcoin Core en werken naast elkaar om Bitcoin-blokken te delven. Miners kunnen ervoor kiezen zelfstandig te werken als solo-miners of deel uit te maken van een pool.
Solo-miners gebruiken hun kopie van de blockchain op hun volledige nodes, terwijl poolminers hun rekencapaciteit of hashpower combineren. In een miningpool hoeft alleen de poolbeheerder een volledige node te draaien, ook wel de volledige node van de poolminer genoemd.
SPV-clients (lichtgewicht)
Cryptowallets gebruiken vaak Simplified Payment Verification (SPV)-clients, ook wel lichtgewicht clients genoemd, om toegang te krijgen tot het Bitcoin-netwerk. In tegenstelling tot volledige nodes bewaren SPV-clients geen kopie van de blockchain en voeren ze geen transactieverificatie of -validatie uit en dragen ze dus niet bij aan de beveiliging van het netwerk. In plaats daarvan vertrouwen ze op andere volledige nodes (supernodes) om informatie te verstrekken over de opname van transacties in een blok. In essentie fungeren SPV-clients als communicatie-eindpunten en worden ze gebruikt om de status van transacties te controleren zonder alle blokdata te downloaden.
Client vs. mining-nodes
Het draaien van een volledige node is niet hetzelfde als het draaien van een volledige mining-node. In tegenstelling tot minen kunnen volledig validerende nodes door iedereen worden gedraaid en vereisen ze geen dure hardware of software.
Wanneer een miner probeert een blok te delven, verzamelt hij eerst geldige in afwachting zijnde transacties van volledige nodes. Vervolgens compileert hij de transacties in een kandidaat-blok en begint hij dat te minen. Zodra een geldige oplossing is gevonden, zendt de miner het blok naar het netwerk om door andere volledige nodes op geldigheid te laten verifiëren. De consensusregels worden vastgesteld en gehandhaafd door het gedistribueerde netwerk van validerende nodes, niet door de miners.
Conclusie
Bitcoin-nodes communiceren met elkaar via het Bitcoin P2P-netwerkprotocol en zorgen zo voor de integriteit van het systeem. Oneerlijke nodes die proberen onjuiste informatie te verspreiden of zich misdragen, worden snel gedetecteerd door eerlijke nodes en van het netwerk losgekoppeld. Het draaien van een volledig validerende node draagt bij aan de gezondheid van het netwerk en zorgt voor een veiliger en betrouwbaarder milieu voor Bitcoin-transacties. Hoewel volledige nodes geen financiële beloning bieden, garanderen ze dat de regels van het netwerk worden nageleefd, beschermen ze tegen aanvallen en fraude (zoals double-spending) en stellen ze gebruikers in staat de controle over hun geld te behouden zonder op derden te hoeven vertrouwen.