Road to Mainnet Updates
March 20, 2024

Road to Mainnet Updates

Mainnet Test Plan

Two weeks ago, we announced our commitment to transparent updates around the criteria for and progress towards Aleo mainnet. Our belief that every individual has the right to privacy online has led us to this moment: creating and launching a network that is truly zero-knowledge by design.

Today, we’re ready to share our plan for a mainnet launch, the features needed to make it successful, and what you can expect going forward.

Programmable. Private. Permissionless.

We’re committed to launching a mainnet that fulfills Aleo’s core principles — programmable, private, and permissionless. We met with several of our ecosystem partners and established a set of baseline features that were most important to everyone, and from these defined the minimum acceptance criteria needed for a confident mainnet launch. 

Together, we worked to outline the features that could not be compromised on. In order to validate the features and their respective acceptance criteria, test cases were defined and agreed upon by not only members of the Aleo Foundation, but also the broader community of Aleo stakeholders. Each feature detailed below has three specific test cases with increasing amounts of stress to satisfy the minimum acceptance criteria and ensure the network is ready to launch.

aleoBFT Consensus

AleoBFT is our novel consensus mechanism that combines the finality of proof-of-stake with the powerful incentive mechanism of proof-of-work. This hybrid architecture helps us achieve instant finality for block confirmation while utilizing a “coinbase puzzle” to reward provers and incentivize the development of better hardware for zero-knowledge cryptography.

Our goal is a secure and resilient consensus system that minimizes downtime,  is robustly Byzantine fault tolerant, and ensures validators can rapidly synchronize to the latest network state, maintaining overall system integrity and performance.

Client Sync

Client synchronization is crucial for the proper functioning of a network, as it ensures that all participants have a consistent and accurate view of the global state. We're focused on ensuring client nodes can sync from any point in the ledger history to tip quickly and reliably.

This involves optimizing two key methods:

  • CDN snapshots for rapid updates

  • Peer-to-peer gossip for efficient, direct data sharing among nodes

Private & Public Transactions

Public and private transactions, both integral to our mainnet launch, are distinct yet interconnected features we're rigorously testing. Users can generate zero-knowledge proofs to transfer value via the record model, as specified in “ZEXE: Enabling Decentralized Private Computation”. For public transactions, users have the capability to transparently update the state using the finalize statement.

Program Deployments

Enabling the development of applications on Aleo is key to our mission, with program deployment playing an essential role. Users will have the capability to create new Aleo programs, utilizing the execute and finalize statements to bring their applications to life. This functionality is foundational to expanding our ecosystem and empowering developers to innovate within Aleo’s secure and privacy-focused environment.

Coinbase Puzzle

The coinbase puzzle is a proof-of-work-type puzzle that is intended to incentivize the development of faster software and hardware for generating zero-knowledge proofs. Provers can submit valid solutions to a coinbase puzzle to receive a reward.

We're integrating the coinbase puzzle to drive advancements in zero-knowledge proof technology, rewarding provers in a way that maintains network stability and sustainable tokennomics.

Staking (ARC 0038

Users have the ability to stake Aleo credits to a validator. Our community partner, Demox Labs, will be leading the effort to implement ARC-0038 on the program level, as well as an audit of that implementation to ensure that the approach is secure. Demox will also be implementing a liquid staking protocol to provide even more flexibility for staking.

Validator/worker separation (ARC 0037)

Aleo Systems Inc. (the for-profit company containing Aleo founders and protocol engineers, from which the Aleo Network Foundation was split off from) has taken the lead on ARC-0037 and published an implementation and design spec that is being reviewed and tested by another one of our community partners, Puzzle.

ARC-0037 aims to reduce the security burden on validators by providing a separate withdrawal address. To address security concerns, during bond_public, validators and delegators designate an unchangeable withdrawal address, securing validator funds in case of compromised "hot" keys. Unbonded credits are directed to this address upon executing claim_unbond_public.

Conducting robust network testing

Several teams from the ecosystem, namely Demox Labs, Monadicus, Supranational, Puzzle, and Kryha, collaborated with us to extend the testing protocol to ensure the network's readiness for launch. To achieve this, we're introducing a range of testing tools. These tools include a genesis block generator, ahead of time (AOT) transaction and block history generation, and node topology management systems. Additionally, we've launched a canary network in partnership with these ecosystem members. These testing tools help us check how well the network's consensus mechanism works, how smoothly clients sync up, and how fast transactions are processed.

To test these various features against their acceptance criteria, the Aleo Network Foundation team will set up and run a series of test environments, starting with an internal devnet and “canary net”. The devnet is an internal testing environment where the Aleo Network Foundation and Aleo Systems Inc. control all the validators, and where initial features are tested before being released upstream. The canary net is a more decentralized, semi-open network that, lets us test the network under more realistic conditions. 

We also plan to launch another testnet, which will be fully open and permissionless, and which should most closely approximate what the Aleo mainnet will look like.

What’s next

Our community has been a part of the Aleo story from the beginning. As we come together to launch mainnet, we are working closely with partners across the ecosystem to support the testing efforts and to verify our readiness. It is our goal to ensure the network meets the needs of our users, not just on day one, but every day after that. It’s truly a team effort, and we want everyone to be aware of our progress towards completing each of these important tests. 

You can refer back to this post for biweekly updates and check out the Discord for regular updates from our community call.