Bitcoin node
Nodes vormen het hart van het bitcoinnetwerk en houden de blockchain bij. Als je zelf een node hebt zie je alle transacties en (door miners gevonden) blokken voorbij komen. Je kan als node-eigenaar je eigen transacties controleren, je hoeft geen derde partij meer te vertrouwen om jou goede informatie te geven.
Wat doet een node
Alle nodes ontvangen blok-informatie van anderen. Ze ontvangen nieuwe blokken, en controleren of deze zich aan de regels houden. Niet-geldige blokken worden genegeerd.
Volledige node
Een volledige node is een volwaardig lid van het bitcoinnetwerk. Deze node heeft een volledige kopie van de blockchain (ongeveer 540GB aan blokken) en kan alle transacties die ooit zijn gedaan volledig terugvolgen.
Zelf een volledige node draaien is de enige manier om geen andere partijen te hoeven vertrouwen dat jouw transacties op een juiste manier gebeuren.
Lichtgewicht node
Een lichtgewicht node ontvangt óók alle blokken, maar slaat ze niet volledig op. De node controleert of de blokken zich grofweg aan de regels houden en gooit daarna bijna alle transactie-informatie weg. De node bewaart enkel transactie-informatie van transacties die hem aangaan.
Een lichtgewicht node zal, als hij meer informatie nodig heeft, bijvoorbeeld over niet-opgeslagen transacties, altijd een derde partij moeten raadplegen.
Bij een lichtgewicht node stel je zelf in hoe veel data je wil opslaan, bijvoorbeeld 5GB.
Netwerk
Alle nodes samen vormen het bitcoinnetwerk.
Mempool
Iedere node heeft zijn eigen mempool. Deze mempool bevat transacties die nog niet in Blokken zijn opgenomen. Als jij een transactie ontvangt in je wallet dan zal die die eerst zien als onbevestigde transactie. Dit betekent dat de transactie slechts nog in de mempool zit. Je kan er nog niet van uitgaan dat de bitcoin veilig, van jou, is. Een miner zal de transactie toevoegen aan de blockchain. Zodra de transactie gevonden is zit het in een blok en noemen we het een bevestigde (confirmed) transactie (1 confirmation). Als er daarna weer een blok wordt gevonden heeft de transctie 2 bevestigingen (confirmations).
Fee
Om een transactie een plek in een van de komende blokken te geven, dient de gebruiker die de transactie maakt (dwz Bitcoin stuurt naar een adres) een fee mee te sturen. De miners stellen een blok samen uit een deel van de transacties die in de mempool in de wacht staan. Miner software is ingericht om de winst te maximaliseren, dus zullen transacties met de hoogste fees de grootste kans krijgen om in het aankomende blok te worden opgenomen. In drukke tijden, als er een groot aanbod is van transacties, lopen de fees op. (Vergelijk dit met de prijzen van vliegtickets (pre/post corona)). Hier een grafiek van die een indicatie geeft van de hoogte van de fees, periode feb2020-feb2021.
Langs de Y-as de grootte in MB, de kleur geeft een indicatie voor de fee-hoogte. Bron: jochen-hoenicke.de
Fee en transactie-grootte
We zijn gewend dat fees vaak afhangen van de waarde van de transactie. Bijv. bij credit cards betaalt de winkelier een percentage bovenop het bedrag van de aankoop door de klant. Het is even wennen, maar bij Bitcoin werkt dat zo niet. De schaarste is gegeven door het feit dat er maar 1 blok per 10 minuten is en dat elk blok maar zo'n 1 MB groot mag zijn ≈ 1.500 transacties. Niet elke transactie is even groot. Eén transactie van een exchange kan bijv een flink aantal uitbetalingen aan meerdere adressen (klanten) bevatten. Zo'n transactie is omvangrijker in bytes gemeten en neemt in een blok de plaats in van meerdere enkelvoudige transacties. Maar er wel degelijk een kostenbesparing te realiseren door een exchange door meerdere uitbetalingen te combineren.
Fees worden uitgedrukt in Satoshi's per (virtual) Bytes. Een typische basis-transactie heeft een omvang van ~400 bytes en bij een fee niveau van 70 Sats/Byte kost een transactie 70x400=28.000 Sats. Bij een koers van 40.000eu per Bitcoin komt dit neer op ongeveer op 40.000 / 100 miljoen * 28.000 = 11,20euro.
Er zijn diverse sites om fees te berekenen, bijvoorbeeld fee-calculator. Wallets hebben meestal, om het de gebruiker niet te ingewikkeld te maken, een instelling met als keuze 'low', 'medium' en 'high'. Deze waardes zijn relatief en de werkelijke fees gaan mee omhoog en omlaag met de drukte in de mempool.