Introduction

When we are talking about Blockchain, we describe it with a lot of new terms, such as Node, Full Node, Light Node, Miner, etc. Without understanding them and telling the difference, you will not be able to understand Blockchain. This article is to help readers understand the aforementioned terms.

What is Node?

The blockchain is a distributed database based on peer-to-peer (p2p) architecture. P2P architecture is how computers communicate with each other, in contrast to client/server architecture in which one computer acts as a server to provide services or data and another computer acts as a client that consumes services or data. Computers on a p2p network can both provide services or data and consume services or data. This means that all computers are equal on a p2p network. All computers have the same capabilities and privileges. Therefore, there is no bottleneck and failure point. When one computer is down, it will not impact the communication of the entire network at all. We call a computer on a p2p network a node. Actually, the computer here is not a canonical definition of the computer. A computer could be a personal computer, smartphone, tablet, ASIC machine, etc.

Types of Node

A pure p2p network has nodes that are all same. The reality is that not every single node is the same. The type of a node is decided by the type of computer and the type of software installed. A pure p2p network only needs one application because all nodes are equal. This is why there was only one software released by Satoshi Nakamoto back to the year 2009. This software was Bitcoin 0.1. Bitcoin 0.1 was a Windows console application that can do the following things,

But, later on, things become complicated. Blockchain was moved away from a pure p2p network. Some nodes only want to send and receive coins. Some nodes only want to run PoW to add transactions into a block. And then, things became even more complicated, some nodes only want to have a partial set of transactions and blocks, some nodes provide services for people to use cryptocurrency without installing any software, some nodes organize a group of computers to run PoW. Therefore, we start to hear: Full Node, Light Node, and Miner.

Full Node

A full node is a node that downloads all blocks and transactions to its local storage.

Blockchain Basic - Node

More specifically, a full node,

A full node does not need to,

Full Node Software

Bitcoin Core is the official Bitcoin software for the Bitcoin network. You may also have heard people call it Bitcoin Core client. Do not be confused by “client”. There is no server. Client means this software can be installed on a personal computer. Even though you have a server, you still need to install the Bitcoin Core client to become a full node. Bitcoin Core is not the only full node software for the Bitcoin network. There are many full node softwares designed for the Bitcoin network, such as Bitcoin Knots, ArcBit, Electrum, etc. Some of the full node software is able to connect to multiple Blockchain/Cryptocurrency networks, for example, Stratis Full Node is able to connect to the Bitcoin network and Stratis network.

Light Node

Light Node is also called Light Client and Lightweight Client. The benefit of a full node is that it downloads all blocks and transactions, so it is an independent node on a Blockchain network. The drawback of a full node is that it downloads all blocks and transactions, so it requires a lot of local storage and requires a lot of computing power to verify blocks. At the moment of writing, Bitcoin Core required 173 GB of local storage to store blocks and transactions of the Bitcoin network. The size of blocks and transactions is still growing quickly due to the heavy use of Bitcoin. Getting all blocks and transactions is unnecessary for people who just want to send or receive coins. They don’t care about old transactions. They don’t care about other people’s transactions. They only care for their own transactions. Therefore, Light Node was invented to save space and computing time. A light node only downloads block headers to validate the authenticity of the transactions. A light node uses a method called Simplified Payment Verification (SPV) to verify transactions.

Blockchain Basic - Node

More specifically, a light node,

A light node does not

Because a light node is heavily relying on a full node, the full node can see the transactions and balances of the light node. This drawback can be remedied by connecting your light nodes to your own full node.

Light Node Software

Most mobile Bitcoin apps are light node software. For example, Simple Bitcoin Wallet.

Miner

Miner is a computer that helps in creating blocks for a Blockchain network. Originally, mining was done by a full node with full node software, such as Bitcoin. Because the mining process takes a lot of CPU power, so developers changed it to use GPU. Later on, GPU was not fast enough, so some people come up with FPGA (Field Programmable Gate Array) mining. Again, FPGA was not fast enough, so the mining process is done on ASIC (Application Specific Integrated Circuits). Currently, ASIC is the dominant way of mining. The mining function is removed from the latest version Bitcoin Core software because it is useless compared with ASIC miner. Bitcoin ASIC is an integrated circuit specialized for Bitcoin mining. It runs specifically in mining software.

Blockchain Basic - Node

In terms of where and how mining is done, there are the following types of miners,

Summary

The blockchain is one of the most promising technologies and evolving rapidly. Nodes on a blockchain network have a different focus now, therefore, they evolved into full nodes, light nodes, and miners. To apply the Blockchain technology into a business process and to build a right business application requires a deep understanding of the technology.