Node is a computer that connects to Bitcoin network and uses peer-to-peer protocol that allows nodes communicating with each other within the network as well as spreading information on transactions and blocks. Information is distributed among such nodes and they are what blockchainnetwork consists of.
At the moment, we know about 10,000 nodes that use standard ports and do not try to hide the fact of their existence, so they are easily detected by others. The number of nodes, the access to which is closed, this value exceeds by 5-6 times. They use non-standard ports or use Tor. The presence of “full”, “not hidden” nodes is important, because such node is an authoritative verifier of each transaction in the block. They were called “fully validating node” (4:00). It contains the full version of the blockchain, it communicates with the pirates from the list who chose it on the network, and “does not trust them”. In the process of communication with peers a node monitors those that are connected to it. When a new block or transaction is received, the following occurs: • PIR reports on the emergence of new transactions in the network.
- Noda verifies the accuracy of the verified information. To eliminate the possibility of “double spending” node performs a test of each of the terms of the transaction.
• If a node received an invalid transaction, rejected the fulfilment of its conditions, and stops the data exchange with the feast (5:09).
A peer who has attempted “fraud” is isolated in the network, and all nodes cease interaction with him. Due to the existing mechanisms of the Protocol, the time of such “isolation” can be several hours or more. A noteworthy feature is the distrust of nodes to each other, which, as already mentioned, are authoritative verifiers of blocks or transactions in the Bitcoin network.
Nodes that fully enforce all the rules of bitcoins are called full nodes. This means that they are fully synchronized with blockchain network, i.e., they store 100 Gb of a download set of blockchain files on a hard disc drive to date. Most nodes of the network are lightweight nodes but full nodes form its backbone.
Full nodes operation
Full nodes download every block and transaction and check them against Bitcoin’s core consensus rules. For example, blocks may only create a certain number of bitcoins, transactions should have correct data format and signatures of bitcoins spent, a transaction output cannot be double-spent within a single blockchain, etc.
If a transaction or block violates the consensus rules, then it is absolutely rejected by a node, even if all other nodes of the network think that it is valid. Moreover, for some time it will cease to “notice” the source of transaction that has been trying to download it while violating the consensus rules. It is one of the most important characteristics of full nodes: they do what`s right no matter what, thus, ensuring high level of transactions security.
What makes a full node different from a lightweight node?
Lightweight nodes are not as independent as full nodes and they do what they are told to by the majority of miners. This is why, they can be temporarily tricked so they would accept a transaction or block that is not actually valid. This can cause serious financial damage, especially for those web-sites that automatically process bitcoin transactions.
Running a full node is the only way you can use Bitcoin in the safest possible way. They store all the information about the network due to what they ensure that all the rules are being followed – for example, that all the bitcoins are spent by the owner and that no bitcoins were spent twice, etc.
Why should the owners create full nodes?
It should be noted that ownership of a full node and its participation in transaction validation is not mining (the search for new blocks in the network for a reward), i.e., your presence in a blockchain network itself won`t guarantee you any profit. Running a full node is the safest possible way to download transactions with the use of cryptocurrencies. Besides, stability of the whole system operation depends on full nodes stability of operation.
A Super Node or Listening Node
In a distributed network, a Super Node functions as a highly connected redistribution point as well as a relay station. Therefore this would be an appropriate term to describe a publicly connectable Full Bitcoin Node. This means many nodes can connect to it to obtain relayed transactional data and blockchain history. This may require more bandwidth and CPU than a Full Node because of all the extra work it’s doing. These Super Nodes are normally on 24/7 and are reliable focal points for other nodes to connect to. In order to activate this within a Bitcoin client functioning as a node, you must make it publicly connectable. One way to do this is to bypass any potential firewalls and/or setup port forwarding. Some manuals suggest running bitcoind(bitcoin daemon) in the background instead of Bitcoin-Qt, but this isn’t necessary.
A Miner’s Node
Today, miners utilize mining programs separate from Bitcoin Core to mine Bitcoin blocks. Some miners choose to solo mine and therefore use their own Full Node to maintain a full copy of the blockchain via bitcoind. Others choose to pool mine and work together to solve blocks. In this case, the admin of the pool maintains a Full Node while pool miners contribute their hashpower. A third method, though highly discouraged and harmful to the network, is to SPV mine by mining on top of blocks before fully validating them. These SPV pool miners typically trust another mining pool’s Full Node as a reference to build on top of. In light of this, a Miner’s Node can be further subcategorized as either a Solo Miner’s Full Node or a Pool Miner’s Full Node.