The Bitcoin Network is a peer-to-peer (P2P) digital cash system maintained by nodes which have no central authority.
Nodes, also called bitcoin clients, are computers running bitcoin software that are automatically connected to other nodes on the Bitcoin Network.
Anyone with an internet connection and ~500GB storage (+5-10GB/month) can install the Bitcoin Core software program and become a NODE.
Let’s breakdown this definition into bitcoin language to make it easier to understand.
What does a Bitcoin Node do?
A node has three responsibilities.
- Follow the rules (protocol):
‘Bitcoin Core’ is the open source software the nodes install on their computer validate transactions based on pre-programmed rules which check for things like valid signatures and available balance.
Every node is running bitcoin Script which is a Bitcoin-specific script interpreter to process transactions. Each node runs the EXACT SAME Script with the exact same script interpreters. This is a consensus-critical tenant of Bitcoin that maintains the network by ensuring any transaction with a deviation in consensus would fail.
For example, a Bitcoin wallet cannot send/spend more Bitcoin than it has stored. There is no overdraft protection. A node is responsible for verifying that a transaction passes a set of rules before sharing the transaction with other nodes.
- Communicate & share information:
Nodes are programmed to be very social and share everything with each other to achieve consensus.
Nodes broadcast new transactions that just hit the network in addition to the confirmed transactions batched into blocks by miners.
- Maintain a copy of transactions:
Nodes store a copy of the blockchain which lists every completed transaction and functions like a ledger of how many Bitcoins are locked to each address.
What happens if my Bitcoin Node loses internet connection?
Each node on the bitcoin network is autonomous and decentralized.
Nodes make their own decisions, but they all follow the exact same rules defined in Bitcoin Core software.
So, every node is programmed to make the same decisions as every other node.
For example, let’s say your node goes offline for a few hours/days/weeks/months due to power outage. When connection is restored, your node will update the most current copy of the blockchain that has been maintained by your peers in your absence.
Nodes strengthen the Bitcoin network ensuring that there is no single point of failure.
On Jan 1, 2024 there are a total of 50,556 NODES of which 17,742 nodes are reachable (connected) and spread across the globe.
If I buy Bitcoin do I have to run a node?
No. You can transact with Bitcoin without running a full node.
Your wallet app or exchange have their own node(s) and will verify then broadcast valid transactions which propagate across the network and eventually get included in a completed block which lives forever on the Bitcoin Blockchain.
On the Bitcoin Network, the more nodes the merrier. Those who choose to run a node are allocating their disk space, energy cost and bandwidth to shore up the bitcoin network by running the bitcoin core software.
Running a node is a non-incentivized action for the greater good of the network. It’s kind of like buying a carbon emissions offset credit when you purchase airline tickets.
Are there different types of Bitcoin Nodes?
Yes, Virginia, there are different types of nodes.
A ‘light node’ requires less storage space than a full node and only downloads the block headers, not the entire blockchain. These nodes can still verify transactions using simplified payment verification (SPV) which is made possible by using a Merkle tree to verify the merkle root is valid in order to add a transaction. Of course, if the transaction is not valid, the full nodes are programmed to detect and reject the invalid transaction.
Pool Protocol Servers (PPS) are gateways that connect the Bitcoin network to Pool Mining Nodes and/or Stratum nodes which are specifically designed to maximize dedicated (ASIC) mining hardware.
A Full Node comes in a variety of shapes and but their size (full blockchain) remains the same:
- Miners run full Mining Nodes and solve cryptographic puzzles by guessing the solution for Proof of Work blockchains like Bitcoin. All miners run nodes, but not all nodes are miners. Miners run their nodes on ASICs (application-specific integrated circuits) designed to add valid transactions to blocks.
- Authority Nodes, Masternodes, and Lightning Nodes are other examples of full nodes who do a little extra, like mining nodes, to complete tasks like validating private or instant transactions, treasury management, and governance voting.
What is the Bitcoin Network?
We learned that nodes are computers (bitcoin clients) who run Bitcoin Core software and are responsible for verifying transactions and communicating with other nodes.
Nerd alert – Remember the first time you logged into Facebook and quickly sent out connections to suggested friends based on your contact list? Bitcoin nodes come pre-configured to query nine (9) hardcoded default DNS seeds which reply back with different IP addresses of other nodes that get stored in your node’s peers.dat file database. Your node is now connected to an initial group of nodes on the peer-to-peer Bitcoin Network and your ‘friends’ will grow automatically over time.
The collective group of connected bitcoin clients (nodes) make up the Bitcoin Network. These computers talk to each other.
Nodes share information about transactions with other nodes on the network to ensure that everyone has the most current data which helps to stabilize and secure Bitcoin making it a safe and reliable storage medium.
Here’s a simplified example of how Nodes are connected to each other on the Bitcoin network.
The Mastering Bitcoin book offers a much more detailed view of how different entities are interconnected on the Bitcoin network below:
Mining, Blocks and the BlockChain
The transaction information that nodes share with each other gets stored in the collective memory pool.
This is how the mempool works as temporary storage for pending transactions.
All nodes have the option to commit processing power (electricity cost) to verify selected unconfirmed transactions in their memory pool.
All nodes have the option to select unconfirmed transactions in their memory pool and group them together into a ‘block’.
Miners prioritize adding these transactions to a candidate block based on each transaction’s fees* and remaining space in their block. Fees are calculated based on the data size of the transaction, not the dollar amount of the transaction.
Mining is the process of adding blocks to the blockchain. Blocks are just batches of verified transactions selected by a mining node to fit into the available block space.
Mining nodes commit additional processing power (electricity cost) to “mine” the block so the file can be added to the blockchain and earn a block subsidy + fees as a reward.
Calculating the size of a Bitcoin transaction is related to its data size calculated in Virtual Bytes (vBytes), and processing power required and the processing power required to mine that additional data.
This is why fees could potentially be more expensive* on a transaction that is sending $100 compared to a transaction that is sending $1,000,000.
*We wrote a few posts about everything you need to know about Bitcoin UTXOs and UTXO management with consolidation.
Example of Bitcoin Mining in Real Life
Most folks think that miner’s ASIC machines solve extremely complex mathematical problems.
Bitcoin mining is computationally complex but it’s actually more guess than math.
Miners are trying to guess a random number, called a hash, using an algorithmic process called a hash function. Miner nodes process and confirm up to ~4,000 valid transactions into a single block by using the hash function to create a ‘string’ of letters and numbers, called hash, which represents and identifies each transaction.
Think about it like a Pandora Playlist that you spent months creating named “Beach Vacation” which contains hundreds of your favorite songs to produce the perfect beach vibe.
H3 Bitcoin Mining Applied to Real Life Example:
Day 1 of Vacation: You roll out of bed ready to start your day with a little “Lime in the Coconut” but your Pandora app updated overnight with new functionality that now requires you to play an ad-supported game before your tunes will stream.
Why?: Pandora wants to increase engagement and display more ads to app users on the free ad-supported tier.
They want ‘free listeners’ to spend 30 seconds on average (10 spins) given each spin takes ~3 seconds to generate a number.
Challenge: Spin the wheel and land on a random number equal to or below the target number to unlock your playlist and start listening.
Each time you click spin a random number between 1 – 100 is generated (hashed).
If the number is equal to or below Pandora’s target number, your playlist unlocks and music starts to play.
If the random number is higher than the target number, you click spin again. A number will only be generated once (nonce).
Let’s play the game! (ps – Secret Target Number = 10)
First Spin = 87
Second Spin = 41
Third Spin = 99
Fourth Spin = 15
Fifth Spin = 02 Winner winner, chicken dinner!
Let the beach vacation vibes begin!
Behind the scenes:
Because the target was set at 10, any number 1 – 10 is a winner and unlocks the playlist.
Pandora forecasted that it should have taken 10 spins to generate (hash) a random number below their target resulting in 30 seconds of time spent displaying 10 different ads.
You only generated 5 ad impressions and hashed (guessed) the number too quickly (15 seconds vs. 30 seconds).
The algorithm adjusts a difficulty multiplier on the backend to lower the target making it more difficult and time consuming. Higher Difficulty = Lower Target.
Actual time spent hashing: 15 seconds
Expected time hashing: 30 seconds
Difficulty adjustment: 0.5 (15 secs / 30 secs)
New Target: 5 (Orig. Target 10 x 0.5)
Remember the higher the difficulty the lower the target (number).
Continuing with our example, as Pandora’s Daily Active Users grow, the increased network activity of folks spinning adds congestion and 3 seconds per spin becomes 3.5 seconds on average.
Every two weeks, Pandora crunches the numbers to adjust the difficulty up or down depending how quickly the target is getting hashed relative to the 30 second expected time.
Bitcoin mining functions in a very similar way. Miner’s don’t solve complicated math problems, instead they use ASIC processing power and run a hashing function to guess random numbers (string) hoping that the number is below the target which we detail in our Advanced Bitcoin Mining post here.
The more guesses the miner submits, the higher the chances of guessing the correct number (hash) and receiving a block reward (+fees) to cover the incurred costs (electricity + hardware) of the processing power consumed by running mining nodes.
Once a transaction gets mined and added to a block, it is recorded forever on the blockchain.
The blockchain is a file of every confirmed transaction, like a ledger, which is maintained by each node on the Bitcoin Network and gets updates every ~10 minutes when a new block is mined.
Each new block is linked cryptographically to the previous block which links with every block since Bitcoins first (Genesis) block mined by Satoshi on January 3, 2009.
Note: Stratus does NOT provide investment, legal or tax advice. All information in this article is for educational purposes and should not be interpreted as investment, legal or tax advice. The opinions expressed are those of the author for informational purposes and neither Stratus nor the author are liable for any errors, inaccuracies or omissions. Digital assets, such as cryptocurrencies or decentralized finance, present unique risks for investors. For investment, legal, tax, or other financial guidance you should consult your own advisor.