BFS10

Roles and Tasks of Blockchain Nodes

Roles and Tasks of Blockchain Nodes

Picking up the popular topic of creating web projects on the blockchain today, one cannot do without mentioning the main participants in this topic – the various nodes of blockchain networks. Being the “workhorses” of networks, nodes perform different tasks, which means they have several types in their family. However, no matter what the target task is for each node, there are common indicators that users expect the node to achieve. These are the speed of the node, its reliability, scalability, security and, of course, the minimum cost of maintaining it. Often, users are also concerned about the requirements for ensuring the privacy of blockchain nodes, which leads to the need to include in the blockchain network on which their projects are deployed a category of nodes such as a dedicated node.

Basic combinations of subsystems

The nodes themselves are not monolithic, which is taken into account by the software that is installed on them. Depending on the role of each node, its program forms a certain set of subsystems in it, which precisely serves the practical implementation of this role. The classification of the main subsystems of nodes in the blockchain network is as follows:

– “W” – Wallet;

– “M” – Miner;

– “N” – Network;

– “B” – Full Block

Accordingly, each subsystem performs its functions: it services the wallet and account (W), generates new blocks (M), carries out P2P interaction (N), and forms a complete database of data on the entire blockchain (B).

Subsystems in nodes can form their own combinations, creating different variants of nodes in the network. We list several main options for nodes (clients), but are not limited to this listing. The classic combination of subsystems (W + M + N + B) in a node characterizes a complete or reference client with support for all necessary functions (example: Bitcoin Core). The second combination is N + B, in which only information is selected and transmitted to neighboring nodes according to their requests. A node with the combination M + N + B characterizes the work of a solo miner. The combination W + N indicates that this node belongs to the so-called “light” clients.

Particular combinations of subsystems

There are other specific combinations of subsystems that are not included in those listed above, since they are not standard, but are inherent only in individual blockchain networks. For example, in Bitcoin there is a combination of subsystems P (Pool) + S (Stratum Servers), which reflects the work of a pool of miners with stratum servers, and the combination W + S indicates that a “light” client works with a stratum server. A Stratum server is a server that uses its own protocol to work with the blockchain.

The combination of P + M subsystems is very interesting; it shows a certain node that knows nothing about the blockchain and performs exclusively mining functions. It goes like this. Information comes from the mining pool administrator about which block was the most recent and in what range the node should select nonce options. If, when selecting a nonce, a node receives a positive result, then this result is sent to the pool server. If there is no positive result, the node takes on processing the next part of the work. Nowadays, software options have been developed that allow such nodes to connect to many pools at once, even to many cryptocurrencies, and mine by switching from one cryptocurrency to another.

Nodes and smart contracts

Continuing the topic of the importance of blockchain nodes, it should be recalled that it is on them that smart contracts are executed. Smart contracts are code that reflects the actions that need to be performed on the blockchain. It must be remembered that each action of the code will consume a certain amount of gas. In order for the smart contract to end up on the blockchain and be executed in the future, someone made the very first transaction to enter the smart contract code itself into the network, and its functions into the network storage.

Let’s imagine that a certain user A carries out a transaction in which he wants to call a function S from this smart contract. To avoid confusion, the smart contract address is indicated in the transaction. The miner includes this transaction in a block, storing the new value of the function S in the storage, and sends the block to other nodes X, Y, Z. Thus, with the new value of the function S, the storage itself has changed. For the fact that the miner has executed the smart contract code, he receives a reward from user A, which is equal to the product of multiplication of the cost of gas times its quantity spent. At the same time, nodes X, Y, Z, which, having received copies of the block, also change their storages, but do not receive a reward for their actions.

Right Read More: Blockchain Technology: What You Need to Know

Right Read More: The Role of IT Services in Digital Transformation

Leave a Reply

Review Details

×

    Get Free Audit Report