When it comes to Bitcoin, there is a lot that people still don’t know how it works. On the surface, Bitcoin can look like a chain of time-stamped blocks; however, it is much more than that. Everyone needs to understand how Bitcoin is a network because it will make the technology a lot easier to understand. Bitcoin is a large network that consists of a bunch of parts called nodes. In total, there are over 115,000 publicly seen Bitcoin nodes. Each of these nodes is connected to about eight other nodes. Anyone who uses Bitcoin probably has a node located somewhere. This includes Coinbase, Bitmain, Satoshi, and others.
Thinking About the Nodes of the Network
These nodes are essential because it shows that they are all the same. There is no difference between the nodes. They are all there to fully validate. This means that these nodes exist to make sure that every transaction made using Bitcoin follows the rules of the network. This is going to be extremely valuable for those who mine Bitcoin as well as for anyone else who uses this cryptocurrency technology. The nodes that are on the inside are the same as those on the outside. There is no difference. They all have the same number of connections.
For example, if someone starts a new node, they are treated the same as everyone else. They simply find a few peers and become another member of the hive. This means that there is a limit to the degrees of separation that can exist between one node and another. While the search for new peers is not fully automated, it doesn’t take long for a new node to find its friends. The nodes to which a node connects are called peers in network terms.
A Transaction Made from a Node
Now, let’s think about this node a bit more closely. When someone creates new transaction using their nodes, this transaction is sent out to the world; however, in reality, the transaction is going to only the eight peers to which it connects. Remember how Bitcoin designed all nodes to be fully validating? This means that all nodes are capable of verifying transactions. Therefore, the eight nodes in question are all going to receive the transaction and will check to make sure that it is valid. Then, when the eight nodes monitor the transaction, they will send it to their eight peers and so on.
Therefore, if any transaction is deemed invalid, it will not break the surface of the network. The transaction is not sent to the other members of the network. They actually won’t even know that a bad transaction is initiated. Eventually, if that same node keeps sending bad transactions to its peers, the peers would subsequently block the node. This is done to prevent the bad node from spamming the rest of the peers to which it connects. No matter how big and bold a company might be, there is no way to make a transaction on Bitcoin propagate if it is invalid.
Running a Partial Node with a Light Client
Now, it is time to take a closer look at this situation. Say there is a node that isn’t running at full strength. Instead, it is working with a light client. There are lots of light clients that have been designed for a desktop computer as well as for a mobile device. Some of the most popular include Bread, Armory, Electrum, and Samourai Wallet. Some of these can be set up to change how they work and where they connect over time; however, they are still tethered.
For those who might not know, tethering is the process of attaching to a node. They can tether wherever they please. All of the information that is coming from the light client has to go through the node to which it is tethered. This ultimately depends on the node. The light client itself is not a part of the network and is also not a node.
This matters because there are lots of people who are asking the question of mining. How does this play into the idea of Bitcoin mining?
It is important to note that mining a block is the same as creating a block. For someone to send a transaction, there has to be a block present. Therefore, Bitcoin miners need to create a block and announce the presence of this block to the rest of the network. It is possible for any node to announce a new block, as there is nothing special about the process, but to announce a new block, there has to be a new block. During the past few years, mining has gotten harder. As more blocks are mined, it takes longer to make new ones; however, it is also possible for people to connect mining hardware to their node.
The creation of new blocks needs to be verified as well. During the process of Bitcoin mining, there are valid block headers that have to be made even if the transactions that might be taking place within the block are invalid. It still requires the same amount of time to mine blocks regardless of whether or not the transactions in them are valid or invalid. This means that it takes the same amount of energy to mine a block that has invalid transactions as it does to mine a Bitcoin block that has valid transactions.
In essence, this creates an incentive for people to spend their energy and time making blocks with valid transactions. In this manner, that is why all nodes need to check not only the block’s headers but the transactions as well. Because all nodes check the presence of valid transactions, no miner can cheat the system. Think about it. If all nodes didn’t check the blocks as they were made, there would be a tremendous reliance on the nodes that did test the new blocks. This would separate nodes into various types, making them inherently unequal. That is how invalid blocks are forked in Bitcoin.
Joining a Mining Pool
Okay, so what about the people who wanted to join a mining pool? There are numerous reasons why someone might want to join a mining pool. They might do this because mining is simply too hard to do alone. In other cases, those who are a part of a large entity might do this to generate a steady income instead of one that is a bit more sporadic. There are plenty of miners who do this. They use connected hardware and join a mining pool. It is possible to mine, in this manner, without connecting to a node. There are lots of different pools that all operate in their own way. People need to understand how these pools work, as well.
Think about dragging out these mining pool nodes, just like the other nodes that were dragged out earlier. Like the other nodes, these nodes need peers as well. Without peers, they are not going to receive transactions and blocks. They need peers to announce the new blocks that they make. Otherwise, they will not be recognized. Therefore, even though people who are members of a pool might not be connected to a node directly, the node itself is still connected. Everyone needs to know that all nodes validate all blocks and all transactions. This includes blocks that are mined through mining pools.
If any of these pools announce an invalid block, their peers are going to know. That is because the peers fully validate all of the blocks that are made, including those made through pools. If the block is not valid, the other nodes are not going to recognize it. In this manner, invalid blocks will never enter the network.
There is another way to look at this for those who might still be a bit confused. There is no way for any node in a network to know whether or not the block they have just received was either created by the peer or relayed by the peer. They do not know where the block came from. All they know is that the block is there. The nodes simply exist to figure out if the new block is valid or invalid. If the block is valid, they send it along. If the block is not valid, they don’t. Hopefully, this helps people clarify the picture.
There is one last point to address. Remember, nodes have no way of knowing which of the nodes mined a block versus relaying it. This was discussed above. This point was designed intentionally as a part of the network. Some miners connect directly to other miners. Some of these miners are out of their peer list. Not all miners do this, but some of them do. For example, some miners might connect to optional relay networks that might have been designed by other large entities. It is important to note that these networks are not exclusive to Bitcoin miners. Anyone can join. The networks are simply there to help out the block relay as it goes across the network. The point of bringing this up is that there are people who try to argue that there is an interconnectivity network of “nodes that mine” versus “nodes that don’t mine.” In reality, this point doesn’t make sense.
This is important because it reinforces the point that all nodes are created equal. All nodes are capable of rejecting blocks that are not valid. In this manner, Bitcoin is an impenetrable fortress that is always capable of validating every transaction that is made on the network. This includes the generation of new blocks. There is no difference between nodes that mine and nodes that don’t. Nodes are just nodes. It doesn’t matter if a specific block was made by one person or someone else. If the block is not valid, it is not getting in. The nodes exist to enforce validation in tandem with one another.
A Strong Network that Prioritizes Security
In this manner, Bitcoin is one of the most robust networks out there because all nodes play an essential role. Every node has to work in concert with its peers to preserve the Bitcoin network. In this manner, invalid transactions do not get passed along. This includes invalid blocks. Therefore, miners who have questions or concerns about an invalid block becoming a part of the network do not need to worry. There is no way for an invalid block to join the rest of the blockchain because the nodes work in concert to validate all transactions fully. Invalid blocks need not apply to become a part of the network.