You need an Ethereum wallet to use Bithoven

Connect to one of our available wallet providers or create a new one

Don't have a crypto wallet yet?

How to connect
BTH-keys ИИ Compound (COMP) Introduction to Blockchain Litecoin (LTC) NEAR Protocol (NEAR) The Graph (GRT) Metaverse Zcash (ZEC) Введение в ИИ Qtum (QTUM) Algorand (ALGO) Blockchain Polkadot (DOT) Cosmos (ATOM) PoW and PoS Stellar (XLM) DASH (Dash) Bithoven Guide EVM not EVM network Solana (SOL) Polygon (MATIC) MetaMask CBDC Web3 Avalanche (AVAX) Uniswap (UNI) Everscale (EVER) Tron (TRX) Ankr (ANKR) Bitcoin Cardano (ADA) Sharding Chainlink (LINK) Icon (ICX) CEX and DEX DeFi Stablecoins L2E Ripple (XRP) Tezos (XTZ) Ethereum (ETH) Monero (XMR)
Bithoven company logo
Bithoven company logo
Link successfully copied!
Articles

Introduction to Blockchain: Nodes (Part 2)

Blockchain nodes

Traditional network services operate on a client-server model. To access a shared resource, you (the client) connect to a server and request the official version of a file. This simplifies synchronization (as the server knows the latest version), but is very centralized. This can be problematic as it requires trust in the server, and the server is vulnerable to denial-of-service (DoS) attacks.

Blockchain was designed as a fully decentralized system. Each node in the blockchain network has the ability to store a copy of the distributed ledger, and the official version of the shared ledger is updated through the blockchain consensus mechanisms (detailed in the fourth section of this series).

What do nodes do?

Nodes are a crucial part of the blockchain ecosystem because they do everything. In a decentralized peer-to-peer system, everyone acts as a combined client and server. The responsibilities of nodes depend on the protocol, not the software, and they are numerous.

Protocol, not software

Like many other internet applications, blockchain is a protocol, not a specific piece of software. Instead of requiring everyone to run the same executable file to use the service (such as Skype), the only requirement is for nodes to interact based on the rules of the service.

An example of this is HTTP, a protocol that defines how websites work. The structure and order of packets in the network are determined by the protocol, but no one cares what software you use. As a result, there are several different web servers (Apache, IIS, etc.) and a multitude of different web browsers (Chrome, Firefox, Safari, etc.). These servers and browsers agreed to follow the protocol, so they can interact with each other without any issues.

Some blockchains are implemented using different software, while others have only one. When choosing blockchain software to run, it's always helpful to cross-compare options.

Common tasks of a node

The goal of a node is to implement and operate the blockchain. Each node has the ability to store a complete copy of the distributed ledger and update it based on the consensus of the network as a whole. As a result, nodes can participate in various activities, including transaction processing, block creation, and ledger management.

Transaction processing

One of the most common tasks for nodes is transaction processing. Anyone who is connected to the blockchain network through a node will send their transactions to the node for inclusion in the distributed ledger. The node is responsible for broadcasting these transactions to the rest of the network, as well as relaying any transactions it receives from other nodes to its peer nodes in the network.

Creating a block

Blockchain is updated by adding new blocks to the existing chain. These blocks contain data stored in the distributed ledger, and someone has to gather this information into a block and spread it across the rest of the network. Since there is no centralized server in blockchain, nodes are responsible for this. Using the blockchain consensus algorithm, a node is chosen as the next block creator. They perform tasks to create the next block and initiate its propagation (and receive rewards for their efforts).

Ledger management

Finally, nodes are responsible for storing and providing access to the distributed ledger. Each node can store a complete copy of the distributed ledger. Since not all users of the blockchain network are nodes (i.e. some people simply use bitcoin for transactions or investments), these nodes may occasionally be requested to send a copy of certain parts of the blockchain to a user to ensure that their transaction has been recorded on the distributed ledger.

Types of blockchain nodes

The differences in roles within a blockchain network are not as simple as node and non-node. In some cases, there may be different types of nodes. For example, Hyperledger allows for a vast amount of specialization in roles, enabling nodes to perform only the part of the work that they are best suited for.

One of the most common differences between nodes in blockchain is between full nodes and light nodes. As the name suggests, full nodes perform all the working roles associated with being a node. These guys store a complete copy of the ledger and participate in consensus and block creation. The blockchain network requires a certain critical mass of full nodes to maintain its security and decentralization.

Lightweight nodes are designed to make transaction execution and verification easier without doing everything a full node does. In the previous post in this series, we talked about how block headers are "linked" to each other using hash values. Since these headers summarize all the transactions contained in the block, they are sufficient to verify the integrity of the blockchain. Lite nodes download headers and request actual transaction data only if they want to make sure that a particular transaction was included in a block. This reduces storage and networking requirements for lightweight nodes while maintaining some degree of decentralization.

Security of blockchain nodes

Nodes are the targets of most attacks on blockchain networks. While other attacks may be more recognizable (e.g. 51% attacks), many malicious actors have found it more profitable to target individual users. Some node-level threats include improper security settings, phishing, and malware.

Vulnerabilities related to improper security settings arise when users modify the settings of their blockchain software without understanding the potential consequences. One example is the configuration of a regular Ethereum client that allows external applications to interact with the wallet software via remote procedure call (RPC). Hackers who scanned port 8545 were able to connect to the software and steal $20 million worth of ether.

Phishing attacks are also extremely common among blockchain users. The Electrum wallet is particularly known to be a target of phishing attacks: more than $1 million in Bitcoin was stolen by just one attacker in a matter of hours.

Finally, malware can be used on blockchain nodes for a variety of purposes. Many of the attacks described in the other articles in this series can be carried out using malware targeting the blockchain software on a node.

Protecting your node

If you are running a node in a blockchain, its security is entirely under your control. Taking appropriate measures to protect it, such as installing antivirus software, configuring it correctly, and being aware of phishing scams, can be hugely important for your security and that of the blockchain network. Decentralization of the blockchain network makes it difficult to protect against certain network-level attacks, but each secure node contributes to the network's performance and security.

Read Part 3: The Blockchain Network


You may be interested