Node or not?

Reasons to run a node within a blockchain network

There are different ways to interact with a blockchain network. One can either just use a wallet in order to effectuate transactions, or one can participate in the network by running one’s own node, which then becomes a part of the network’s infrastructure. This post is about the reasons to make the effort of running a node.

The most simple way to use a blockchain network is sending and receiving transactions with the help of a so called wallet, a piece of software that in most cases comes with an intuitive user interface. It enables users to interact with the blockchain network by making transactions. The purpose of the wallet is to store the key to a blockchain account, and optionally other information like the individual account balance or the history of transactions. Such storage functionalities can be performed by software wallets as well as hardware wallets that essentially resemble common USB keys.

However, there are a few things that a wallet cannot do. These things need to be performed by full nodes in the blockchain network. Anybody using only a wallet has to trust a third party full node to ensure these things. So what exactly is a full node and what are these things that nodes can do for blockchain networks and its users?

Actually, any computer that connects to the blockchain network is called a node. But only full nodes perform a number of tasks that are vital for the network and for some of its users. A full node can be most easily defined by its tasks. These are some of the most important ones:

  • Full nodes are computers that initially download the entire record of all transactions that have been effectuated within the network and then keep track of all incoming transactions.
  • Full nodes perform the task of validating new incoming transactions.
  • Full nodes enforce the rules of the network. For every incoming transaction, every full node that is involved will check whether the rules have been respected. This includes for example limits on the maximum number of coins that may be created within one block (a block contains a certain number of transactions that are grouped together and then added to the blockchain). This also includes checking for the correct data format, correct signatures of the parties involved and other checks.

Running a full node requires using a computer that is online most of the time, in order to be able to perform the tasks outlined above, that has enough data storage capacity and that is connected to the internet with enough bandwidth to perform its tasks. As long as these requirements are met, any ordinary inexpensive computer can be used as a full node.

So why should anyone make the effort of setting up and running such a full node? There are a number of reasons. Here is a choice of some of the most important ones:

  • Running a full node is the only way to verify transactions oneself and thus to use the network without needing to trust a third party. Any other means (like the use of a wallet) need to trust somebody else’s node with the verification of the transactions.
  • Storing the blockchain on one’s own device is the most private way to participate in the network. All transactions via third party solutions may leak information about your addresses, because they need to communicate with third party servers.
  • Full nodes are needed to enable the use of the blockchain network for other participants. The full nodes need to download every transaction ever made so that those using only a wallet need not do so. Full nodes are thus a useful tool for anyone wanting to provide network services on a blockchain network.

To summarize, we can say that nodes are good for the network, because the more nodes there are, the faster, more stable and more decentralized the network will be. And nodes are good for you, because they are the most direct, stable, private and trustworthy way to interact with a blockchain network.