Major Differences Between Full Node & Lightweight Node

Are you stuggling to understand nodes and what the different kind of nodes stand for? If you answered yes to that, you are at the right place. I am sure the lengthy guides filled with technical jargon are often too cumbersome to comprehend. Therefore, I will try to summarize succintly the major differences between full node and lightweight node, in this article.

To begin with, a node is any computer that is connected to a cryptocurrency network. So if today I call a computer a Bitcoin node, it means that it is connected to the Bitcoin network. Now if you are just starting out with crypto and want to download one of the networks, your computer acts as the node.

(Read our guide to Protocol Coins and Tokens for beginners in crypto)

There are different types of nodes out there. Two of the major ones are Full Node and Lightweight Node. Let’s look at the various differences among these two:

Full Node

A full node is one which validates every block and transaction that comes its way . To do that, it verifies them against the network’s consensus rules. If these consensus rules are not complied with, then the block or transaction is rejected by the full node. To demonstrate with an example, Bitcoin’s consensus rules include:

  1. A transaction output cannot be double-spent.
  2. Transactions and blocks must be in the correct format.
  3. Blocks may only release a certain number of bitcoins as a block reward.

(Read about Consensus algorithms in Blockchain)

A full node will download the entire history of blockchain, which will use tremendous processing power and lots of memory. They support the network by connecting with other full nodes and accepting, validating and transferring blocks and transactions from them.

To ensure that it remains decentralized, full nodes must have a copy of the blockchain, so that transaction and block that has ever taken place on the blockchain gets downloaded. This also adds additional layers of security and makes sure there isn’t a specific spot that is vulnerable to attack.

(Learn more about blockchain and decentralization)

Full nodes are also trustless, which implies that if any block or transaction violates consensus rules, it will be rejected, even if every other node on the network aprroves of it.

Lightweight Node

Lightweight nodes are slightly different from full weight nodes. Lightweight nodes, (also known as lightweight clients) use a method called Simplified Payment Verification (SPV), to verify transactions. This method does not require the user to download the entire history of blockchain, in order to verify if a transaction has been included in a block.

These nodes only download the headers of all blocks on the blockchain, which makes it ideal for beginner use and those looking to transact on a small scale. SPV allows full nodes to serve lightweight nodes, by permitting them to connect and transmit their transactions to the network, and will make the user aware, when a transaction affects them.

To conclude,  SPV trusts full nodes with the validity check of blocks and transactions. It is largely dependent on full nodes.