November 1

Native Staking on Aleo Network

The current estimated reward rate of Aleo is 31.11%. This means that, on average, stakers of Aleo are earning about 31.11% if they hold an asset for 365 days. 24 hours ago the reward rate for Aleo was 29.30%. 30 days ago, the reward rate for Aleo was 19.68%. Today, the staking ratio, or the percentage of eligible tokens currently being staked, is 507.16%. In other words, there are 545.5M of Aleo staked, which means that Aleo has a staking market cap of CA$1.1B. This is compared to a total asset market cap of CA$215.4M.

What is Native Staking

Native staking is the process of locking up (or "staking") a blockchain's native cryptocurrency to support its network operations, such as transaction validation, network security, and governance. In return for staking, participants (often called "delegators" or "validators") receive rewards, typically in the form of the same cryptocurrency they have staked.

One can participate in the consensus of the Aleo network by Native Staking or by liquid staking. In this technical article we will be discussing how to stake natively on the Aleo network. Below are the key aspects involved in staking natively on the Aleo network.

  1. Native Cryptocurrency: To participate in Native staking specifically involves the Aleo blockchain’s native token ($ALEO). This token is used within the network for staking and rewards.
  2. Proof of Stake (PoS) Consensus: Native staking is fundamental to Proof of Stake (PoS) or its variations. The network delegators are responsible for helping validate blocks, which is a central feature of PoS networks. To protect the integrity of the Aleo blockchain, the PoS consensus is adopted.
  3. Rewards and Incentives: Delegators who participates in the native staking often receive rewards in proportion to their staked amount. This can come in the form of newly minted tokens, providing an incentive to participate in network security.
  4. Security and Governance: By participating in Native staking, delegators helps protect the Aleo network from attacks. Delegators in the network also have governance rights, allowing them to vote on changes to network protocols.

Benefits and Risks:

  • Benefits: Stakers earn passive income and contribute to network security. It’s less resource-intensive compared to Proof of Work (PoW).
  • Risks: Staked assets may be locked, reducing liquidity. If validators behave maliciously, they may lose part of their staked funds (a penalty known as "slashing").

Steps to Native stake your Aleo token

At the moment there is no available way to easily participate in native staking through interacting with a simple UI design. The only available way to participate in native staking on the Aleo network is through the Command Line Interface (CLI).

1. Requirement

to stake natively on the Aleo natework, you would need a minimum of 10, 000 Aleo credits.

2. Choosing a Validator: A delegator would need to choose which validator to delegate tokens to. At the moment there are 16 Aleo validators and 188 delegators. Here are the list of validators. When selecting a validator, consider the following:

  • Performance. High uptime and reliable performance are crucial.
  • Contributions. Validators that contribute to the ecosystem through tools, communities, or public RPC endpoints.
  • Commissions. Reasonable commission rates for sustainable operations.
  • Decentralization. Avoid validators with overly concentrated stake to maintain network resilience.
  • Reputation. Track record in other ecosystems can indicate future performance on Aleo.

3. Guide
Since there is no UI for easily staking in Aleo, we will be using the Leo CLI to complete this process. Below is the guide to set up and stake natively on the Aleo network.

Install Leo and other dependences
First, we need to get the

— Follow the guide here to install Leo and other dependables here

— On you CLI run leo --version to confirm your Leo CLI version

Bonding

— To bond to a validator run:

leo execute --program credits.aleo --network mainnet --endpoint https://node.puzzle.online --private-key {PRIVATE_KEY} -b bond_public {VALIDATOR_ADDRESS} {WITHDRAWAL_ADDRESS} {AMOUNT}

PRIVATE_KEY is the private key of the account that has the funds

VALIDATOR_ADDRESS is the address of the validator you want to bond to

WITHDRAWAL_ADDRESS is the address of the account you want to use that the credits will be sent to when you decide to unbond this can be the same as the account that currently has the ALEO, but you may want to separate out for security

endpoint are the specific digital location where requests or API calls for information are sent by the delegator program to retrieve the digital resource that exist in the validator. Here, we used the puzzle wallet wnd point.

AMOUNT is the amount (in microcredits) of ALEO you want to stake — for example: 1 ALEO is 1000000u64 10,000 ALEO is 10000000000u64

— so if you wanted to bond 11,111 ALEO, you would have something like

leo execute --program credits.aleo --network mainnet --endpoint https://node.puzzle.online --private-key {PRIVATE_KEY} -b bond_public {VALIDATOR_ADDRESS} {WITHDRAWAL_ADDRESS} 11111000000u64

The leo cli will then show you the fee breakdown of the transaction and ask you to confirm the execution (to confirm, just enter y)

— Then go to aleoscan , input your wallet address and search, check the "Lifetime stake reward" field on aleoscan to see how much you have accrued as staking reward.

Unstaking

Unstaking is a two-step process. First delegators must initiate unstaking of any desired amount. Then, after a certain processing period, they are able to claim their unbonded token, transferring them back to their public balance. This lock-up period is specified by the network's protocol, 360 blocks (about 3 hours), to ensure stability. You can check out the remaining time by visiting the Unstake tab anytime.These conditions are designed to prevent sudden changes in the network's stake distribution that could affect its operation and security.

  • The first step involves unbonding the staked token
  • The second step involves withdrawing the unstaked tokens into the withdrawal wallet address

Unbonding

This involves unbonding or unstaking the token from the validator delegation.

leo execute unbond_public {WITHDRAWAL_ADDRESS} {Amount} --program credits.aleo --network mainnet --endpoint https://node.puzzle.online --private-key {WITHDRAWAL_PRIVATE_KEY} --broadcast

Withdrawal

After the unbonding transaction is confirmed, you must wait the 360 blocks (about 3 hours) lock-up period protecting the network. Next, we transfer the credits to the withdrawal address.

leo execute claim_unbond_public {WITHDRAWAL_ADDRESS} --program credits.aleo --network mainnet --endpoint https://node.puzzle.online --private-key {WITHDRAWAL_PRIVATE_KEY} --broadcast

Press y and proceed with the transaction. Here,

WITHDRAWAL_ADDRESS this should be the wallet you assigned as your withdrawal wallet during your bonding stage.

WITHDRAWAL_PRIVATE_KEY This is the private key to the withdrawal wallet.

This will withdraw the amount into your account. You have finally been able to participate in native staking on the Aleo network.