Types of Bitcoin Nodes

TDhendup
0

 

Types of Bitcoin Nodes

Source: roshaankhan.medium.com 

In general, a node is a point on a network. For example, one of the computers in the Local Area Network, is a node in the LAN. In the world of computer networks, nodes are devices connected to the network that transmit, process, and store the information.

However, the nodes in the Bitcoin Network are specifically designed to transmit and store one type of information i.e., data representing BTC transactions; while computers in the internet network are designed to transmit all sorts of information.

 

Nodes consist of two things viz., hardware and software. Hardware is the physical stuff viz., processors required to run the software, while software is a set of instructions that can be stored and run by the hardware.

 

What are bitcoin nodes?

Bitcoin nodes are computers that run Bitcoin software and are connected to the Bitcoin network. Bitcoin nodes validate, broadcast, process and store BTC transactions.

BTC transactions are stored in groups, called blocks. This is why the term ‘blockchain’ exists, meaning the historical transactions stored in blocks are linked together. Before the block is added to the blockchain, nodes must verify that the block’s transactions are valid.

This verification involves checking things such as the double-spending i.e., whether the same BTC was spend twice, or whether a sender actually has the BTc they are trying to send. The process of individual nodes collectively agreeing upon the validity of a block (and the transaction it contains) before adding it to the blockchain is known as ‘consensus’.

Bitcoin is a peer-to-peer payment system, and it does not have intermediaries or middlemen to enforce consensus rules on the Bitcoin network. Thus, consensus is achieved amongst themselves. This is achieved by Bitcoin Software.

The Bitcoin software contains a full copy of the blockchain. So, when a node downloads the Bitcoin software and connects to the network, it has the same transaction history, and works off of the same set of rules for verifying transactions as every other bitcoin node. This way, when a new transaction is broadcasted to the network, each individual node does its own work to check the transaction’s validity.

Similarly, when a new block is broadcasted to the network, each node decides whether or not to add it to their copy of the blockchain. This design allows for nodes to verify transaction and blocks with trust.

 

NOTE: Bitcoin nodes broadcast, validate, process, and store BTC transactions – and blocks are collections of valid BTC transactions.

 

A.   Full Node

Full node stores the entire blockchain starting from the inception of the blockchain since 2009. They can fully verify all rules of the bitcoin network using the bitcoin core. A full node checks the transaction’s validity against the blockchain history and the set of rules encoded in the Bitcoin software.

If the transaction is valid, the full node broadcasts it to other nodes it’s connected to. These nodes go through the same verification process; and once a sufficient number of full nodes agree the transaction’s validity, the transaction is added to a pool of other valid transactions – to form a ‘block’. Around 2000 transactions make one block.

 

B.   Mining Node

Mining nodes or miners pick up transactions from this pool and package them into blocks. Mining node runs a version of Bitcoin software that contains special rules for creating and proposing blocks to the Bitcoin network viz., how big a block can be, how to format transactions, and how to sign a block.

Mining block compete against other nodes to create the next block. Once a miner thinks it has created a valid block, it broadcasts the proposed block to other nodes on the Bitcoin network.

 

Full nodes, then pick up the block and, validate a single transaction, according to the rules encoded in the Bitcoin software they are running. If the full node considers a block valid, it adds the block to its respective copy of the blockchain, broadcasts it to the bitcoin network, and other nodes go through the same verification process.

 

Once a sufficient number of nodes validate the block and add it to their copy of the blockchain, consensus is reached. At this point, all the transactions in the block are processed, all nodes verify and store the updated version of the blockchain. Then the miners begin to race to create the next block.

C.    Light node

This node run a special version of Bitcoin software that stores, a lightweight version of the blockchain. This version of blockchain contains block headers, basically saying ‘this block is valid’. This allows light nodes to connect to and transact on the Bitcoin Network, without the need to store the full history. However, light nodes cannot independently verify the Bitcoin network rules and, therefore must connect to full nodes to get the block data.

Mobile phones are an example of light nodes as most of them cannot run as a miner; but can store compressed version of the blockchain with the information about wallets address or/and BTC balances. For instance, if you send or receive BTC from your phone, your mobile is also a node on the Bitcoin network.

 

Inventives

Mining nodes create and propose valid blocks, and receives a reward in terms of a newly minted BTC. In addition, fees for transactions contained within the block are also rewarded to the mining nodes.

Since full node cannot propose new blocks, full nodes cannot receive any block rewards.

 

Then, why run a full node?

Running a full node comes with its own intangible benefits. Running a full node contributes to the overall security of Bitcoin’s network, as the full node has the copy of all transactions (both latest and greatest information), relating to information on bitcoin’s blockchain. Thus, full node ensures the security of transactions conducted by a user. To read more about the myths of full node, please refer https://en.bitcoin.it/wiki/Clearing_Up_Misconceptions_About_Full_Nodes#Myth:_There_is_no_incentive_to_run_nodes_so_the_network_relies_on_altruism

 

 

Tags:

Post a Comment

0Comments

Will review your comment and get back!

Post a Comment (0)