### Aleo: First Look

Drake Breeding  
Protocol Opportunities Team Lead  
Published December 8, 2023

### What is Aleo?

[**Aleo** is a privacy-focused, zero-knowledge proof based Layer 1 blockchain.](https://aleo.org/) With standard, non-encrypted blockchains, all of a user’s transaction history is fully visible to the public. With built-in cryptographic proofs called ZK-SNARKs, **Aleo** allows for hidden but verifiable activity and truly private transactions.

One of **Aleo’s** main goals is to be the world’s leading developer platform for zero-knowledge based applications. To achieve this, **Aleo** is launching with a number of unique developer tools and software to make ZK-app programming fast and easy.

Along with its own blockchain, **Aleo** runs its own virtual machine (snarkVM), operating system (snarkOS), and programming language (Leo). These are all tools designed to make integrating ZK proofs and cryptography into Web3 development easier than ever.

- [snarkVM](https://crates.io/crates/snarkvm): The decentralized Virtual Machine created by **Aleo**. Easily downloadable as a Rust crate.
- [snarkOS](https://docs.rs/snarkos-network/latest/snarkos_network/): The core protocol behind **Aleo’s** peer-to-peer network. Allows users to quickly spin up nodes and connect directly to peers by bootstrapping connectivity to beacon nodes.
- [Leo](https://leo-lang.org/): **Aleo’s** proprietary programming language. Leo is a statically typed language inspired by the security and speed of Rust but with the ease-of-use and readability of Javascript. Additionally, Leo includes built-in ZK capabilities, making it easy for non-crypto native developers to incorporate ZKs and privacy into their programs.

### What Problem does Aleo Solve?

First and foremost, **Aleo** gives users and applications privacy. Zero-Knowledge proofs are a cryptographic function at the core of the protocol that shield user information and transaction history when verified.

ZK-proofs have been generating an increasing amount of buzz in web3 for a while now, and several Layer-2 solutions have been built using ZK tech. **Aleo** is unique for its native ZK integration, decentralized proving market (more on this later), and heavy emphasis on developer experience. Developers on **Aleo** don’t need to learn how to create ZK-proofs from scratch; instead they can focus on app-building and use built in ZK functions and libraries to add new levels of privacy to their apps.

#### Apps & Use Cases

- [**zPass**](https://zpass.aleo.org/): Secure and private digital identity that allows you to prove details about yourself without actually revealing any info. For example, prove to a crypto exchange that you are over 18 and a resident of Canada without actually giving your name or date of birth.
- [**Leo Wallet**](https://www.leo.app/): An easy-to-use wallet built for the Aleo ecosystem. Automatically create ZK-proofs for transactions directly in your browser.
- [**ZKML**](https://github.com/AleoHQ/python-sdk/tree/master/zkml): Aleo is launching with a transpiler to easily convert Python Machine Learning Models into Leo code. Using the power of ZK, models can access and train on sensitive data such as health or financial info without revealing specifics to the outside world.

### Testnet Usage

**Aleo’s** first public testnet (called Testnet 2) went live in December 2021, has since progressed through multiple stages, and a third public testnet. To prevent spam on testnet and incentivize developer usage, **Aleo** uses a system called **Aleo** Credits. Transactions are denominated in different tiers of **Aleo** Credits and testnet rewards are rewarded to incentivized testnet participants in credits. Once mainnet goes live, credits can be used to pay for services on the Aleo network. Across testnets 2 and 3, a large chunk of credits were allocated to miners to help bootstrap the proving and verifying market.

[Transaction size and Credit cost equivalent](https://developer.aleo.org/concepts/transaction_fees)

**Aleo** has seen real usage during its three testnet phases. As of this writing, the snarkVM has been downloaded ~439,000 times from [Crates.io](https://crates.io/). Over 44,000 provers connected to **Aleo** in Testnet 3’s second phase. The third phase of Testnet 3 was heavily focused on app developers to ensure there are unique things to do on-chain upon mainnet genesis. Over 1,000 verified Github repos were submitted during this stage and **Aleo** selected 130 for Credit allocation.

[Testnet 3 app submissions by category](https://aleo.org/post/testnet-3-phase-3-deploy-incentives-retrospective/)

### Network Tokenomics

We expect **Aleo** will release a token upon network genesis. **Aleo** is currently in its Series B and has raised nearly $300M from top crypto investors including **Polychain, a16z Crypto, Galaxy Digital, Variant**, and **Coinbase Ventures**.

Though no tokenomics have been publicly announced, there have been testnet incentives in the way of **Aleo** Credits. In total, there will be a 1 Billion credit supply. Throughout the testnet process, credit allocations have been distributed to everyone from app developers to mining pool operators to individual provers. So far they have been distributed as follows:

### Staking and Consensus

Though it offers staking, **Aleo** is not a purely Proof-of-Stake network. Instead, **Aleo** consensus is a combination of mining and staking called Proof-of-Succinct Work (PoSW).

**Aleo’s** proprietary consensus algorithm is called AleoBFT. The staking portion of consensus is based on [DiemBFT](https://developers.diem.com/papers/diem-consensus-state-machine-replication-in-the-diem-blockchain/2021-08-17.pdf), created by the Diem blockchain team once housed at Meta. DiemBFT is organized into rounds, with a leader first proposing a block. Validators then vote for the leader of the next round. Once a vote quorum is reached, the next round’s leader creates a quorum certificate and includes it in its next block proposal.

Stakers will contribute towards consensus and block production but will not be hands-on in the ZK-proof generation process. By moving the computation required for proving off-chain, **Aleo** aims to keep the chain itself fast and efficient.

### ZK-SNARKs

Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge (ZK-SNARKs) are cryptographic proofs that can allow a user to verify the validity of information to third parties without actually revealing what that information is. The _succinct_ portion is crucial to why these proofs are scalable – ZK-SNARK proofs can just a few hundred bytes even for large and difficult problems.

First conceptualized in [an academic paper in 2012](https://eprint.iacr.org/2013/879.pdf), several crypto protocols have since incorporated them into their design with varying degrees of success. ZK-SNARKs first came to prominence in crypto with the creation of **ZCash**, a **Bitcoin** fork where users can opt to add privacy to transactions using proofs. However, as of this writing, the vast majority of transactions on **ZCash** choose not to opt into privacy, with only ~6% being fully shielded. While many ZK L2s rely on a centralized service for generating ZKs, **Aleo** has created a decentralized and trustless market to create proofs and verify their validity.

### Proving & Verifying

On **Aleo**, provers generate cryptographic proofs while verifiers check the validity of the proof. Verifiers never learn any of the underlying data at the base of a proof due to its Zero-Knowledge nature. For most transactions on the network, users will need to generate a proof either themselves or by outsourcing work to a prover.

[Proof difficulties are set by a version of the algorithm created by the Bitcoin Cash team called ASERT](https://www.reference.cash/protocol/forks/2020-11-15-asert). When a proof exceeds the current difficulty limit, a coinbase reward is shared among all provers who contributed. The computational work done by provers includes Multi-Scalar Multiplication and fast-Fourier transforms.

There are parallels between the work required for proving in PoSW and for mining new tokens in a traditional PoW chain. In both cases, participants will have to operate specialized hardware and dedicated computational resources. However, with **Aleo**, proof miners will be using their machines to create a zk-SNARK rather than participate in a PoW algorithm.

In terms of hardware, today **Aleo** provers are using various types of FPGAs and GPUs, including ones repurposed from Ethereum mining. Assuming **Aleo** is successful, the **Aleo** team expects that ZK-mining optimized ASICs will eventually be developed, as happened with Bitcoin mining.

### The Team

**Aleo** was founded by their current CTO, Howard Wu, who co-authored one of the foundational papers in applying ZK to web3, [Zexe: Enabling Decentralized Private Computation](https://eprint.iacr.org/2018/962.pdf). Its current CEO is ex-a16z partner Alex Pruden.

**Aleo** Systems is the team behind the development of the **Aleo** blockchain. Upon launch, the project will decentralize as an open protocol and **Aleo** Systems will pivot to focus on building products for the ecosystem.
