A node is a device on a blockchain network, that is in essence the foundation of the technology, allowing it to function and survive. Nodes are distributed across a widespread network and carry out a variety of tasks. In this segment of the Academy we will examine the qualities of a node on a blockchain network.
A node can be any active electronic device, including a computer, phone or even a printer, as long as it is connected to the internet and as such has an IP address. The role of a node is to support the network by maintaining a copy of a blockchain and, in some cases, to process transactions. Nodes are often arranged in the structure of trees, known as binary trees. Each cryptocurrency has its own nodes, maintaining the transaction records of that particular token.
Nodes are the individual parts of the larger data structure that is a blockchain. As the owners of nodes willingly contribute their computing resources to store and validate transactions they have the chance to collect the transaction fees and earn a reward in the underlying cryptocurrency for doing so. This is known as mining or forging.
Processing these transactions can require large amounts of computing and processing power, meaning that the average computer’s capabilities are inadequate. Generally, professional miners tend to invest in extremely powerful computing devices known as CPUs (central processing units) or GPUs (graphics processing units) in order to keep up with the demand for processing power that is required for them to validate transactions and as such earn the rewards that comes with doing so.
The power required for multiple nodes to mine is actually so considerable that electricity costs become a serious factor too. This is the reason why some of the largest and most profitable mines are found in places where electricity is cheaper, such as China or Venezuela.
A node can either be a communication endpoint or a point of communication redistribution, linking to other nodes. Every node on the network is considered equal, however certain nodes have different roles in the manner in which they support the network. For example, not all nodes will store a full copy of a blockchain or validate transactions.
A full node downloads a complete copy of a blockchain and checks any new transactions coming in based on the consensus protocol utilized by that particular cryptocurrency or utility token. All nodes use the same consensus protocol to remain compatible with each other. It is the nodes on the network that confirm and validate transactions, putting them into blocks. Nodes always come to their own conclusion on whether a transaction is valid and should be added to a block with other transactions, irrespective of how other nodes act.
Types of Nodes:
Root node – The highest node in a binary tree.
Parent node – A node that has other nodes extending from it.
Child node – A node that extends from a different node.
Leaf node – A node with no children.
Sibling nodes – Nodes connected to the same parent node.
Tree – A data structure of nodes starting with a root node.
Forest – A set of trees of nodes.
Degree – The number of children of the node.
Edge – The connection between nodes.
The reliability and integrity of blockchain is rooted in there being no chance of any fraudulent data or transactions, such as a double spend, being accepted or recorded. A cornerstone of the technology as a whole and the key components in maintaining this reliability is hashing.