Becoming a Block Producer on aelf, Here is Why and How

ælf
aelf
Published in
8 min readJan 18, 2024

As a decentralised blockchain, aelf adopts the AEDPoS consensus mechanism, aelf’s variation of a Delegated Proof-of-Stake (DPoS) mechanism, to reach an agreement among all network participants and maintain the normal functioning of the network. At its core, AEDPoS stipulates how the aelf network runs and assigns the governance authority to three vital roles that jointly safeguard aelf: block producers (BPs), candidate nodes, and voters.

  • BPs: Full nodes on aelf that store all the network data, validate transactions, and generate blocks. BP can also participate in aelf governance by voting for parliament proposals.
  • Candidate nodes: Full nodes on aelf that store all the network data and have the potential to become BPs. Note: both BPs and candidate nodes need to participate in governance elections, with the difference being the former receives more votes and can produce blocks, while the latter obtains less votes and can’t produce blocks.
  • Voters: Mainnet ELF token holders who stake ELF to vote for nodes they trust, electing BPs and candidate nodes.

Governance Rewards

Adhering to the core principle of genuine decentralisation, aelf encourages a broad user base to participate in network governance by offering substantial rewards. A total of 120 million ELF tokens, equivalent to 12% of the total ELF supply, have been reserved for governance rewards, and the allocation is as follows.

All the rewards are kept in a MainChain pool and distributed following predefined rules. Upon their election as a BP, they serve a seven-day term until the next election cycle begins, during which they are entitled to a share of the rewards from the pool. The reward pool receives a periodic influx of N * 0.125 ELF tokens each term, with N representing the actual number of blocks produced in that specific term. Approximately 151,200 ELF tokens are then allocated proportionally among various roles on a weekly basis.

  • All the BPs can share 20% of the pool, provided that there are no newly-elected BPs in the term. When there are new BPs in this term, 5% will be deducted to reward the new nodes, and another 5% will be deducted to reward voters. This is to incentivise voters to vote for different nodes so that the network can be highly decentralised. Apart from these, the BPs also share 5% of the pool with all the candidate nodes.
  • Candidate nodes can share 5% of the pool (distributed evenly among all candidate nodes and BPs).
  • Voters share 75% of the pool when there are no newly-elected BPs. And when new BPs appear, voters can receive an extra 5% as incentives.

Besides the above, BPs can also receive supplementary rewards such as transaction fees, SideChain index fees, and resource token trading fees. These rewards can vary significantly based on the requirements of traders and actual on-chain data. One thing is certain, though — BPs are entitled to a range of rewards in addition to their portion of the MainChain rewards pool.

Governance Election

Among the three roles — BPs, candidate nodes, and voters, there is no limit to the number of voters. This means that anyone holding Mainnet ELF is welcome to vote for aelf’s nodes. However, there are limits to the number of BPs and candidate nodes. Only the top-ranked nodes that receive the most votes can be elected. The total count of BPs in the aelf network is capped at 2N+1, with N starting from 8 in 2022 and increasing by 1 each year. The number of candidate nodes is set at 5 times the number of BPs, which is 5*(2N+1).

The election process operates as follows:

  1. Interested parties set up nodes.
  2. Nodes participate in the BP election.
  3. Voters stake ELF tokens to vote for their preferred nodes.
  4. BPs are elected based on the number of votes they accumulate and serve a seven-day term until the next election cycle begins. (The top 2N+1 nodes become BPs, and the top 5*(2N+1) nodes become candidate nodes).

Once elected, BPs and candidate nodes serve a seven-day term until the next election cycle. Their ability to be re-elected in the next term depends on the number of votes they receive during the current week. In contrast, voters have no time restrictions and can cast their votes at any time for their preferred candidates.

If you’re keen on aelf’s governance, your initial decision is whether to become a voter or a BP/candidate node:

  • To participate as a voter, simply follow the voting tutorial to cast your first vote.
  • If you’re planning to operate a node, continue to the next section of the article to understand the process of becoming a BP/candidate node.

Becoming aelf BP/Candidate Node

BPs (block producers) play a pivotal role in ensuring the operational integrity and security of the aelf network and they are also responsible for engaging in governance activities such as voting for proposals. The major tasks include:

  • Collect and validate transactions, pack them into blocks, and broadcast data to other nodes.
  • Synchronise to the latest blockheight and produce blocks in its own slot.
  • Participate in network governance by voting for proposals, including contract upgrade/deployment by aelf and ecosystem projects, parameter change, etc.
  • Stay up-to-date with the latest required node version.

To run a BP node, you must meet the following conditions:

  • Be able to run aelf’s nodes on servers that satisfy the basic requirements.
  • Stake at least 100,000 ELF. Note: all the staked tokens can be redeemed after you quit the election, as long as there’s no violation of the rules.
  • Rank among the top 2N+1 of all participating nodes.

Running aelf Nodes

The basic requirements for nodes are as follows:

  • Minimum Configuration: c5.xlarge instance with 4 vCPU, 8GiB RAM, 1TB hard drive, and 5 Mbps bandwidth
  • Recommended Configuration: c5.2xlarge instance with 8 vCPU, 16GiB RAM, 1TB hard drive, and 100 Mbps bandwidth

Important Notice: BPs need to run individual nodes for both MainChain AELF and all the SideChains. Currently, there are two chains: MainChain AELF and SideChain tDVV. Hence BPs are expected to run two nodes.

To get started, you can first read the Mainnet node instructions and follow the instructions to deploy your nodes.

Participating in Election

aelf nodes need to participate in the BP election to become BPs, if ranked top 2N+1, or candidate nodes, if ranked top 5*(2N+1). Once your node has been deployed, you can proceed with ELF staking and BP election.

The quantity of ELF needed for staking is 100,000. You can acquire Mainnet ELF from any of the following exchanges and send the tokens to your node account: Binance, Bithumb, Upbit, Huobi Global, OKX, and gate.io. Please ensure that you select AELF as the withdrawal network and enter your node account address as the recipient.

When you have enough ELF, you can head to aelf explorer to stake. Since interaction with the explorer requires you to log in to the node account you create during node deployment, you’ll need to install the NightELF wallet extension on your Chrome browser beforehand. Please refer to “Import Keypairs” in this tutorial to learn how to log in.

After you have imported your node account to the NightELF wallet extension, please visit the election page in aelf explorer and click the “Login” button. Then click “Become a candidate node”, enter and confirm the required info to before you “Apply Now.”

BPs are elected every seven days and the change of terms starts at 7:23 (UTC) every Thursday. If your node receives enough votes to rank top 2N+1 of all candidate nodes in the election, it will automatically become a BP in the next term. If ranking between the top 2N+1 and top 5*(2N+1), it will become a candidate node. You can check the current elected BPs in real-time on the election page.

Working as a BP/Candidate Nodes

Once elected, BPs are obligated to fulfil the aforementioned responsibilities unless they voluntarily resign or fall out of the top 2N+1 positions.

To maintain a secure and stable connection between your node and others, aelf recommends that you reach out to our team via Telegram once you’ve become a candidate node or BP. The team will be there to offer assistance and help you troubleshoot, in case of any errors or issues in the future.

To uphold blockchain security and incentivise dedicated nodes, aelf has implemented slashing rules:

  • If a BP fails to produce a block for 72 hours within any given term (seven days), its status as a BP will be automatically revoked. In addition, this BP will also lose the deposited 100,000 ELF and be added to the blacklist, rendering it ineligible for future node election participation.
  • In the event that a BP packages a malicious transaction, other nodes will be unable to verify the block they receive and will disconnect from this malicious BP. Following this disconnection, this BP won’t be able to synchronise block height with other nodes, eventually failing to produce a block for 72 hours. In such cases, it will lose its position as a BP as well as its deposited 100,000 ELF, and will be added to the blacklist and be barred from participating in future node elections.

Besides block production, BPs should also take responsibility for governance proposals like contract deployment/update and parameter change. These proposals are usually put forward by a BP and need to be approved by a percentage of all the BPs before they can be implemented. You can check the proposals via the blockchain explorer.

If you’ve set up a node and completed the staking process, but didn’t secure a position as a BP, there’s still an option to operate as a candidate node, as long as you maintain a position within the top 5*(2N+1) ranks. Candidate nodes can earn their share of the MainChain rewards pool and hold the potential to become BPs in future terms.

Stay connected and engage with the aelf community on Telegram and Discord:

Telegram: https://t.me/aelfblockchain

Discord: https://discord.gg/bgysa9xjvD

--

--

ælf
aelf
Editor for

ælf, the next breakthrough in Blockchain.