Ethereum 2.0 vs Symbol (Part 4): Nodes

So, with all those choices around, what should you and I do to contribute to the networks?

Ivy Fung
Coinmonks
Published in
7 min readFeb 11, 2021

--

Nodes are like the cells of your body. You are made up of cells but a single cell alone does not define you. You are not an amoeba. Neither is a blockchain. Your body comprises of different types of cells, blockchain has different types of nodes. You have cells that built up your heart and brain (and other organs) that you cannot live without, blockchain has its heart and brain distributed amongst the nodes.

Ethereum 1.0 uses Proof-of-Work has 3 types of node. You may set up nodes with different clients written in different languages.

Full Node

Running a full node means you download the whole history of the Ethereum blockchain on your client. It takes huge storage. It verifies the blocks and the states, and provides data on the light client’s request. Full nodes are the backbone of Ethereum as they enforce the consensus protocol and keep the integrity of the network.

To be a mining node in Ethereum, it needs to be a full node. However, a full node is not necessary to be a mining node.

Light Node

Light node stores only block headers, hence, not require as big of storage. It is useful to be hosted on embedded devices and mobile phones.

Archive Node

It is a full node with an archive of historical states. Usually needed only if you need to query data for a specific block. It is useful when it comes to feeding information to a blockchain explorer and chain analytic. It is the only type of node that the blockchain data will not be pruned.

Though there are 3 types of nodes in Ethereum 1.0, essentially, the network is guarded by only the full nodes. Ethereum 2.0 has 2 types of nodes, and both responsible for the security of the network.

Beacon Node

The backbone of Ethereum 2.0. First, it syncs with the peer nodes in Ethereum 1.0. It listens to the incoming validator contracts, activates validators, shuffles validators for voting, and slashes the validator’s stake if found against the rules. Generally, the validator’s registry is in the hands of the beacon node. It expels malicious validators and handles the exit of validators too, when validators are allowed to withdraw.

It also propagates block, processes epoch, and synchronizes with other beacon nodes. It does not handle transactions or smart contracts, and no staking needed.

Eventually, it will coordinate tasks and facilitate communications between shards.

Validator Client

Proposing and attesting blocks are the main functions of a validator client. Before running a validator client, stakers need to stake 32 ETH through a contract in Ethereum 1.0. It will be rewarded for proposing and attesting blocks that contribute to the finality of the blocks, and will get punished for skipping its responsibilities or violating the rules.

Validator client is similar to a full node in Ethereum 1.0. As Beacon Chain is using Proof-of-Stake rather than Proof-of-Work, the validator client’s hardware requirements are much lower than a full node. It can be run on consumer-grade devices like single-board-computer and mobile phone, with minimal storage.

Unlike a beacon node, a validator client maintains a dedicated connection with a beacon node.

If you keen on being a validator, there are options to do so. Check out this site for a pretty neat explanation of the choices made.

Symbol has 3 types of nodes.

4-layered architecture of Symbol Blockchain

Peer Node

It is the backbone of the network. It verifies transactions and blocks, runs the consensus algorithm, creates new blocks, and propagates the changes through the network, and stores the chain state. This means it is responsible for the harvesting process by allowing harvesting accounts to delegate their importance scores to the nodes, and earn rewards in return. (Refer to part 1 and part 2)

Peer nodes communicate with each other to propagate information about new transactions and new blocks harvested. However, it does not answer requests from clients directly. It goes through the API nodes and REST Gateway.

API Node

Symbol blockchain is pre-loaded with common functions a user needed in the form of plugins. They are accessible through API calls. The main role of API nodes is to get transactions ready to be verified by peer nodes, including making sure all required signatures for multisig accounts are in place before passing the transition to the peer nodes. Once the transactions are confirmed, the API nodes write them to MongoDB in a more readable form to make it easier for queries. API node is more memory and storage-intensive than the peer node.

Anyone can run a peer node or an API node or a dual-function node. Staking is optional. Instructions over here.

Voting Node

Any node (peer, API or dual) that has a stake with 3 million XYM or more may opt to be a voting node. This can be done easily by sending a VotingKeyLinkTransaction to the network using SDK or just let the Symbol Bootstrap handles it. Voting nodes are important for the finalization of the network. (Refer to part 2 and part 3). Check here for the voting node programme.

While carrying out their duty as the voting nodes, they maintain their original roles (as a peer, API or dual-function node).

Side notes: To incentivize node owners who join the network at the early stage of Symbol, a special programme will be in place, called the SuperNode programme. There will be a special payout to SuperNode owners. To entitle for the programme, the owner needs to stake 1 million XYM and above and meet the criteria. Check here for details.

So, with all those choices around, what should you and I do to contribute to the networks?

My take? Here you go:

  1. If you have lots of ETH or XYM, or plan to buy enough to be a validator, do set up a validator client on Ethereum 2.0 or run a voting node on Symbol. You will earn awards along the way. (Staking to be a validator in Ethereum 2.0 will lock you in for 3 years until Serenity is shipped.)
  2. If you do not have enough ETH or XYM, and still want to participate and earn some rewards along the way, set up a peer node on Symbol. You will earn 25% of the harvested reward earned by the harvesting account. (Delegated harvesting deserves a topic by itself. At this point, just note that in Symbol, running a node and proposing a block, refers to as harvesting, can be done by 2 different entities.) You may also set up a miner node in Ethereum 1.0.
  3. If you are a kind samaritan who just want to run a node to help upkeep the liveness of the networks, you can run a full node or beacon node on Ethereum, or run a peer node (without activating the harvesting function at all), API node or dual-function node on Symbol.

Both Ethereum 2.0 and Symbol are not fully shipped at the moment of writing. Other than choosing from the above options, you need to consider the price of the coins and the size of the blockchain, as those affect the cost of hosting a node.

May the nodes be with you!

Special thanks to Anthony for reviewing this article.

  1. https://ethereum.org/en/developers/docs/nodes-and-clients/
  2. https://www.ethernodes.org/
  3. https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-client-architecture/
  4. https://blockgeeks.com/guides/what-are-ethereum-nodes-and-sharding/
  5. https://www.allnodes.com/host
  6. https://medium.com/alethio/ethereum-2-a-validators-journey-through-the-beacon-chain-843f70aaab2e
  7. https://docs.prylabs.network/docs/how-prysm-works/beacon-node/
  8. https://docs.symbolplatform.com/
  9. https://docs.symbolplatform.com/concepts/block.html#finalization

Join Coinmonks Telegram group and learn about crypto trading and investing

Also, Read

Get Best Software Deals Directly In Your Inbox

--

--

Ivy Fung
Coinmonks

On a mission to talk to everyone about Blockchain.