Who controls the blockchain?

Tharaka Wijesundara
6 min readMar 22, 2023

--

Have you been exhausted searching for a complete but simple guide to understanding how a bitcoin transaction takes place? 😰 This is a series of articles that explain bitcoin from its history of evolution to the complete journey of a bitcoin transaction with its underlying mathematics. The series consists of six articles and now you are in the second article.2️⃣ To kick off from the very beginning, click here. Happy reading.👨‍💻👩‍💻

Image Source

If you are directed from the previous blockchain article, then you have enough understanding to proceed. If not please feel free to go back and see whether you have the basic fundamentals and terminologies we use in the blockchain domain.

As you already know, since there is no single entity to control the system, here I’m referring to the decentralized blockchain, multiple participants are associated with the network as peers to maintain, contribute, validate, and verify the functioning of the network. We call them the nodes, you may have seen the term nodes in the previous article. In this section, we will focus on different types of nodes, their responsibilities, and how they are incentivized by the network.

In the general computing world, a node is a piece of a network where it processes, stores, and communicates information. As an example, we can take the device that you are reading this article as a node in the internet.

Nodes in a network— Image Source

Nodes function according to a certain types of instructions. In the previous article, we mentioned the term node many times. Nodes in blockchain may differ from others based on the data it processes, the complexity of work, the structure of data it communicates, etc. In simple terms, it is an essential component in the network to function the blockchain accordingly. One of its primary jobs is to check the validity of the transactions since we have no central authority in the blockchain network.

Since we have different types of nodes based on their functionality and capacity, for the sake of simplicity and to take a high-level understanding, I’ll brief them all as “Node” to take get going.

As we discussed earlier, the blockchain consists of a chain of blocks. In bitcoin or let’s say cryptocurrencies, the block consists of transactions.

E.g.: Joe pays 1 BTC to Bob.

How can we guarantee that Joe has enough BTC to send Bob?🤔 Can Joe and Bob trust each other?😬This is where the nodes come into the blockchain picture. No one needs to trust anyone, nodes will take that responsibility from your shoulder and do the functioning on behalf of the network.

Following are the functions that nodes do when it comes to securing and maintaining the network.

  1. Nodes check whether the requested transactions are valid. If valid, add them to the block, if not, simply reject it. (It’s not possible to simply add a block. Let’s hold it for now)
  2. Nodes have a full blockchain history(depends on the node type, come into this in a bit) which consists of each transaction that happened in the past.
  3. Once a node adds a block to the chain, it will broadcast the message to the other nodes to keep them up to date.
  4. Nodes communicate with each other, peer-to-peer, and synchronize with the network. (E.g. Once a node goes offline, it might miss some blocks. Again to actively participate with the network, it should catch up with the missed blocks)

There are different types of nodes in the network contributing based on their resource availability. Since the type of nodes depends on the type of consensus mechanism 🙄(Keep hold of this until we come into the discussion of the end-to-end journey of a transaction😊) the blockchain uses itself, we will discuss the most common types of nodes that we could possibly find; Full node, Light node, and Mining node.

Full node

Size of the bitcoin blockchain

This type of node stores the complete blockchain. At the time of writing, the size of the complete history of the bitcoin blockchain is around 462GB.🚀 As you can see, if you want to be a full node of the bitcoin blockchain, you need to have this much storage capacity at least (definitely not enough because this is getting increased day by day). Full nodes play a major role in maintaining the blockchain because keeping that full history help for the integrity of data. Full nodes are connected in a peer-to-peer network to exchange or communicate the transaction data. They will validate, and verify the transactions, and newly mined(created) blocks.

Light node

Wallet applications — Image Source

Since we need to have high storage capacity and internet bandwidth for setting up a full node, for the devices with limited resources we can set up a light node. As the name implies, it stores a light version of the blockchain which consists of block headers. Mainly the wallet applications run as light nodes and they have no independent access to validate and verify the blocks or transactions which means they must connect with full nodes. Running a light node or light node application would be the easiest method to make a transaction in the network. Then It will connect with a full node and validate and broadcast the transaction. If you want to be completely pseudo-anonymous, running your own full node would be the ideal solution because if you are relying on someone else full node to validate your transactions, eventually your address(only public), and the initiated transactions from your address would be exposed up to some extent. (Anyways, the ledger is public)

Miner node

Mining nodes — Image Source

This type of node has the responsibility of adding a confirmed block of transactions to the chain. The miner node is also a full node with the extended functionality of mining. In other words, the mining node does the same thing as we discussed under the full node, and as an additional functionality, it will add the block on top of the existing chain. They are incentivized with a block reward for being honest in their work and contributing a huge computing power for mining. In BTC, at the time of writing the value is 6.25 BTC per block. 😱It’s huge, isn’t it? Have you thought of running a miner node?😋Nowadays mining is being done by a pool of miners. Since the computation power needed to solve the puzzle is huge, mines have aggregated their computing power and formed a mining pool.

Hashrate distribution of pool of miners — Image Source

Later, we will discuss how the transactions that come through each type of node are validated and propagated across the network, where they are stored until resides in a block, and the criteria that mines would consider before picking a transaction from the pool.

Have you noticed that I have used the terms validation and verification interchangeably?😵 Yeah, it’s because they refer to two different functions of a node.

Validation means, once a transaction is initiated before it is broadcasted to the entire network, the node should follow some set of rules and check whether this transaction passes the rules. For example, whether the initiator has enough money to send.

Verification means, once the block is mined, peers will check the validity of the mined block and add it to its blockchain.

In this article, we have touched upon different types of nodes and their functionalities in detail. As we move forward, you will encounter these with their actual functioning scenarios in the Bitcoin network.

--

--