Wat is Bitcoin Core en welke rol speelt het binnen het Bitcoin-netwerk?

Wat is Bitcoin Core?
Bitcoin Core is open-source software waarmee je zelf verbinding maakt met het Bitcoin-netwerk en blokken en transacties volledig controleert. Als je Bitcoin Core op je computer draait, werkt die als een full node die zelfstandig controleert of transacties en blokken aan de regels van het Bitcoin-netwerk voldoen.
Simpel gezegd is Bitcoin Core een belangrijke bouwsteen voor mensen die Bitcoin zelf willen verifiëren. De software ontvangt transacties en blokken van andere nodes, controleert ze en kan geldige informatie weer doorsturen. Zo helpen veel losse nodes samen om Bitcoin-data decentraal te verspreiden.
Bitcoin Core is de oorspronkelijke Bitcoin-client, dit is software waarmee je verbinding maakt met het Bitcoin-netwerk en transacties en blokken kunt verwerken en controleren. De broncode is vrij beschikbaar onder de MIT-licentie, waardoor ontwikkelaars de software kunnen bekijken, gebruiken en eraan kunnen bijdragen.
De software bestaat grofweg uit twee onderdelen die je los van elkaar kunt zien:
- De node: deze downloadt en valideert data op de Bitcoin-blockchain.
- De ingebouwde crypto wallet: hiermee kun je adressen beheren en bitcoin versturen.
Je kunt Bitcoin Core gebruiken als programma met een grafisch venster, bitcoin-qt, of zonder venster als achtergrondproces, bitcoind. Die tweede optie is vooral handig voor mensen die hun node via de command line of andere software willen beheren.
Belangrijk om te weten: Bitcoin Core is niet Bitcoin zelf en is ook geen centrale organisatie die Bitcoin bestuurt. Het is één implementatie van het Bitcoin-protocol. Nodes bereiken overeenstemming doordat ze onafhankelijk dezelfde consensusregels toepassen, dus de vaste regels waarmee ze bepalen welke blokken geldig zijn.
Korte samenvatting
- Bitcoin Core is open-source software voor het Bitcoin-netwerk.
- Een draaiende Bitcoin Core-installatie is normaal gesproken een full node.
- Een full node controleert zelf blokken en transacties.
- Bitcoin Core kan geldige data ontvangen en doorgeven aan andere nodes.
- De software bevat optioneel een grafische interface en een ingebouwde crypto wallet.
Hoe werkt Bitcoin Core?
Bitcoin Core werkt door verbinding te maken met andere Bitcoin-nodes en daar transacties en blokken mee uit te wisselen. Voordat de software recente data kan beoordelen, moet zij eerst de volledige geschiedenis vanaf het genesisblok, het allereerste Bitcoin-blok, downloaden en valideren.
Die eerste grote inhaalslag heet de initial block download. Bitcoin Core bouwt daarbij stap voor stap zijn eigen beeld op van de geldige Bitcoin-chain, tot aan het nieuwste blok dat de node als geldig accepteert.
Daarna blijft de node luisteren naar nieuwe transacties en blokken. Komt er iets binnen, dan controleert Bitcoin Core het eerst. Pas als de data aan de regels voldoet, kan de node die normaal gesproken doorgeven aan andere peers. Peers zijn simpel gezegd andere computers waarmee jouw node verbonden is.
Bitcoin Core accepteert alleen blokken als geldig wanneer ze de eigen controles doorstaan. De node bepaalt vervolgens volgens de consensusregels welke geldige chain hij volgt. Als veel nodes volgens dezelfde regels dezelfde geldige blokken volgen, zitten ze met elkaar op één lijn. Zo ontstaat consensus zonder een centrale partij die bepaalt wat waar is.
Wel is er een verschil tussen geldigheid en lokaal beleid. Een node kan een transactie bijvoorbeeld niet willen doorsturen omdat die niet past binnen zijn eigen mempoolbeleid. De mempool is de tijdelijke wachtruimte voor nog onbevestigde transacties. Zo'n transactie hoeft daarmee niet automatisch ongeldig te zijn volgens de consensusregels.
Hoe valideert Bitcoin Core transacties?
Bitcoin Core valideert een transactie door te controleren of de bitcoin die je wilt uitgeven echt bestaat, nog niet eerder is uitgegeven en door jou mag worden gebruikt. Bitcoin werkt daarbij niet met een simpel saldo dat ergens wordt aangepast. Een betaling gebruikt eerdere ontvangen bedragen, die outputs heten.
Een output die nog niet is uitgegeven heet een UTXO, kort voor unspent transaction output. Je kunt een UTXO zien als een los stukje bitcoin dat nog beschikbaar is om uit te geven.
Bij een nieuwe betaling kijkt Bitcoin Core onder meer naar deze punten:
- De gebruikte UTXO's bestaan echt.
- Die UTXO's zijn nog niet eerder uitgegeven.
- De ontgrendelings gegevens voldoen aan de voorwaarden van de eerdere output.
- De waarde van alle outputs is niet hoger dan de waarde van alle inputs.
Voor veel gewone transacties bewijst een cryptografische handtekening dat de afzender de juiste private key heeft. Bitcoin Script controleert vervolgens of die handtekening en de bijbehorende publieke sleutel kloppen. Bitcoin Script is de beperkte scripttaal die de voorwaarden van Bitcoin-transacties uitvoert.
Voorbeeld: Stel dat je eerder 0,5 BTC hebt ontvangen en die output nog niet hebt gebruikt. Dan kan die 0,5 BTC als input dienen voor een nieuwe transactie. Probeer je dezelfde output later nog een keer uit te geven, dan wijst Bitcoin Core dat af als een “double-spending”.
Bij een normale transactie mag er ook geen waarde uit het niets ontstaan. Zijn de inputs samen 0,5 BTC en stuur je 0,49 BTC naar een ander adres, dan kan het verschil van 0,01 BTC de transactievergoeding zijn. De speciale coinbase-transactie in een blok werkt anders; die is bedoeld voor de bloksubsidie en de vergoedingen.
Hoe controleert Bitcoin Core blokken?
Bitcoin Core controleert een blok door zowel de gegevens in de block header als alle transacties in het blok na te lopen. Alleen blokken die aan de consensusregels voldoen, worden door de node bewaard als onderdeel van de geldige Bitcoin-chain.
Een blok bestaat grofweg uit transacties en een block header. In die header staan onder meer een verwijzing naar de header van het vorige blok en een merkle root. Die merkle root is een cryptografische samenvatting van alle transacties in het blok.
De verwijzing naar het vorige blok maakt de geschiedenis lastig te veranderen. Pas je een oude transactie aan, dan verandert de samenvatting van dat blok. Daardoor zou je ook alle blokken erna opnieuw moeten aanpassen.
Bitcoin Core controleert ook elke transactie binnen het blok. Zo kijkt de node opnieuw of een output niet al eerder is uitgegeven. Ieder blok bevat daarnaast één coinbase-transactie. Daarmee worden de bloksubsidie en de transactievergoedingen aan de miner toegekend. Bitcoin uit een coinbase-transactie kan pas worden uitgegeven nadat de transactie 100 bevestigingen heeft.
Soms bestaan er kort twee geldige versies van de Bitcoin-chain naast elkaar. In dat geval volgt het full-node-model de versie met de meeste cumulatieve proof-of-work. Dat is niet iets wat Bitcoin Core-ontwikkelaars of miners voor iedereen beslissen: iedere full node voert zelf de controles uit en kiest volgens dezelfde regels.
Wie heeft Bitcoin Core ontwikkeld?
De eerste Bitcoin-software werd ontwikkeld en uitgebracht onder het pseudoniem Satoshi Nakamoto. Satoshi is dus een pseudoniem, niemand weet wie deze mysterieuze ontwikkelaar is.
Bitcoin Core wordt nu als open-sourceproject ontwikkeld. Mensen kunnen voorstellen voor wijzigingen, tests en reviews bijdragen. Nieuwe code wordt niet zomaar toegevoegd: andere bijdragers beoordelen de wijziging en er zijn tests nodig.
Er is geen vaste, bevoorrechte groep die simpelweg Bitcoin Core bestuurt. Wel zijn er repository maintainers. Zij hebben praktische taken, zoals voorgestelde wijzigingen samenvoegen, releases coördineren en discussies modereren. Dat maakt hen geen centrale eigenaar van Bitcoin.
Voor normaal gebruik kies je een stabiele release. De hoofdversie waarin ontwikkelaars samenwerken wordt wel getest, maar is niet automatisch een stabiele versie voor dagelijks gebruik.
Wat is het verschil tussen Bitcoin Core en Bitcoin?
Bitcoin Core is software, terwijl Bitcoin kan slaan op het netwerk, het protocol of BTC als cryptocurrency. Dat verschil is belangrijk, omdat de namen vaak door elkaar worden gebruikt.
Bitcoin is bijvoorbeeld het peer-to-peer-netwerk waarin deelnemers transacties uitwisselen. BTC is de bitcoin-eenheid waarmee je waarde verstuurt. Bitcoin Core is vervolgens een programma dat je installeert om volgens de regels van dat netwerk mee te draaien.
Je kunt het vergelijken met een browser en het internet. Een browser geeft je toegang tot het internet, maar is niet het internet zelf. Op dezelfde manier laat Bitcoin Core je deelnemen aan Bitcoin, zonder dat de software gelijkstaat aan Bitcoin als geheel.
Ook een wijziging in Bitcoin Core verandert de Bitcoin-regels niet automatisch voor iedereen. Voor een verandering in de consensusregels moeten andere deelnemers er ook voor kiezen om compatibele regels of software te gebruiken.
Wat is de Bitcoin Core-wallet?
De Bitcoin Core-wallet is de ingebouwde crypto wallet van Bitcoin Core. Hiermee kun je bitcoin ontvangen, beheren en versturen. De wallet werkt samen met Bitcoin Core, maar heeft een andere functie dan de node zelf. De node controleert transacties en blokken, terwijl de wallet vooral wordt gebruikt om je bitcoin en bijbehorende sleutels te beheren.
De Bitcoin Core-wallet is een self-custody wallet. Dit betekent dat je zelf verantwoordelijk bent voor je private keys, je back-ups en de beveiliging van je apparaat. Je kunt de wallet bovendien beveiligen met een passphrase (wachtzin).
Het is daarom belangrijk om regelmatig een veilige back-up van je wallet te maken en je private keys, back-up en wachtzin nooit met anderen te delen. Wie toegang krijgt tot deze gegevens, kan mogelijk ook toegang krijgen tot je bitcoin.
Hoe kun je Bitcoin Core gebruiken?
Je kunt Bitcoin Core gebruiken als desktopprogramma, als node die stil op de achtergrond draait, of via command-line- en RPC-tools. RPC is een manier waarop andere programma's opdrachten aan jouw node kunnen geven.
Voor veel mensen is de grafische versie het makkelijkst. Je kunt daarmee de synchronisatie volgen, een wallet beheren en transacties versturen. Technischere gebruikers draaien vaak bitcoind zonder grafische interface, bijvoorbeeld op een eigen computer die vooral als node dient.
Je node kan alleen voor jezelf werken, maar je kunt ook inkomende verbindingen toestaan. Voor je eigen wallet en validatie zijn uitgaande verbindingen genoeg. Inkomende verbindingen helpen wel andere nodes en lichte clients, waardoor het peer-to-peer-netwerk beter beschikbaar blijft.
Wil je eerst oefenen zonder echte bitcoin te gebruiken? Dan kun je een apart testnetwerk zoals signet gebruiken. Op Bitcoin-mainnet kunnen fouten bij een transactie leiden tot onomkeerbaar verlies.
Gebruik je RPC, wees dan extra voorzichtig met externe toegang. Geldige RPC-inloggegevens kunnen iemand veel controle geven over je Bitcoin Core-node en, afhankelijk van je configuratie, over een geladen wallet. Stel RPC-toegang daarom niet onnodig open voor anderen.
Hoe installeer je Bitcoin Core?
Bitcoin Core kun je downloaden via de officiële website van Bitcoin Core. Kies daar de versie die past bij jouw besturingssysteem, zoals Windows, macOS of Linux.
Na het downloaden installeer je de software en open je Bitcoin Core. Bij de eerste keer opstarten kun je kiezen waar de blockchain-data wordt opgeslagen. Houd er rekening mee dat Bitcoin Core veel opslagruimte nodig kan hebben, omdat de software een kopie van de Bitcoin-blockchain downloadt en controleert.
Daarna begint Bitcoin Core met synchroniseren met het Bitcoin-netwerk. Dit kan bij de eerste keer enige tijd duren. Zodra de synchronisatie is voltooid, kan je node zelfstandig transacties en blokken controleren.
Wil je Bitcoin Core zelf installeren en zoek je de exacte technische stappen? Bekijk dan de officiële installatiehandleidingen van Bitcoin Core voor jouw besturingssysteem.
Hoe synchroniseert Bitcoin Core met de blockchain?
Bitcoin Core synchroniseert door blokken vanaf het begin te downloaden en één voor één te valideren tot aan het nieuwste geldige blok. Dit proces heet de initial block download en gebeurt bij de eerste start, of wanneer je node ver achterloopt.
Tijdens dit proces gebruikt je computer netwerkcapaciteit, opslagruimte en rekenkracht. De duur loopt uiteen van enkele uren tot meerdere dagen of langer, afhankelijk van je hardware en internetverbinding.
Je wallet kan tijdens de synchronisatie nog onvolledig lijken. Nieuwe transacties of een saldo worden pas volledig zichtbaar wanneer jouw node is bijgewerkt tot het blok waarin die activiteit staat.
Wil je minder opslag gebruiken, dan kun je pruning inschakelen. Bij pruning verwijdert Bitcoin Core oudere ruwe blokdata en undo-data nadat de node die al zelf heeft gevalideerd. De node blijft dan een full node, omdat hij de blokken nog steeds zelfstandig controleert.
Wat zijn de voordelen en beperkingen van Bitcoin Core?
Het grootste voordeel van Bitcoin Core is dat je Bitcoin zelf kunt verifiëren. Je hoeft voor de geldigheid van blokken en transacties niet volledig te vertrouwen op een externe walletprovider, server of cryptobedrijf.
Een eigen full node helpt ook het netwerk. Je node ontvangt geldige data, controleert die en kan die doorgeven. Als te weinig mensen dat doen, worden lichte clients sneller afhankelijk van gecentraliseerde diensten.
Bitcoin Core kan daarnaast beter zijn voor je privacy dan een wallet die voor elk saldo en elke transactie een externe node moet raadplegen. Dat maakt Bitcoin niet automatisch anoniem: transacties staan nog steeds op een publieke blockchain.
De keerzijde is dat Bitcoin Core meer vraagt van je computer en van jou als gebruiker dan een eenvoudige crypto wallet. Zo heb je veel opslagruimte nodig, kan de eerste synchronisatie lang duren en ben je zelf verantwoordelijk voor updates, back-ups en de beveiliging van je apparaat.
Je kunt het gebruik van opslagruimte en internet beperken, maar dat kan ten koste gaan van bepaalde functies. Ook betekent self-custody dat je zelf verantwoordelijk bent voor je bitcoin. Een eigen node beschermt je bijvoorbeeld niet tegen malware, verloren private keys of verkeerde instellingen.
Conclusie
Bitcoin Core is een manier om zelf mee te draaien met Bitcoin in plaats van alleen op de infrastructuur van anderen te vertrouwen. De software downloadt en controleert blokken en transacties volgens de Bitcoin-regels, en kan geldige data doorgeven aan andere nodes.
Dat maakt Bitcoin Core interessant als je meer zelfstandigheid, controle en mogelijk meer privacy wilt. Daar staat tegenover dat je tijd, opslagruimte en technische aandacht nodig hebt. Gebruik je ook de ingebouwde wallet, dan ligt de beveiliging van je bitcoin volledig bij jou. Voor wie die verantwoordelijkheid wil nemen, is een eigen full node een praktische manier om Bitcoin zelf te verifiëren.