Aptos is a layer 1 blockchain protocol focused on scalability, security, upgradability, and ease of development. It was first proposed in a 2022 whitepaper as a way to address challenges that have prevented blockchain technology from reaching mainstream adoption.
- Overview
- Technology
- Move Language
- Consensus Protocol
- Parallel transaction processing
- Support for upgrades
- State synchronization
Overview
The Aptos blockchain features the Move programming language for secure and flexible on-chain logic, novel methods of parallel transaction processing for high throughput, configurable state synchronization for both light and full nodes, and embedded on-chain change management protocols to facilitate frequent upgrades. The goal of Aptos is to provide reliable, high-performance infrastructure to power mainstream decentralized applications at global scale.
As described in the whitepaper, Aptos builds on the Diem blockchain project, led from 2019-2021 by Meta (formerly Facebook) before being contributed to the open-source community. Key Aptos researchers and engineers worked on Diem, and innovations from that project helped shape Aptos.
A number of core technical components comprise the Aptos blockchain:
- The Move programming language for writing safe and upgradeable smart contracts
- A parallel execution engine called Block-STM that increases transaction throughput
- Multi-shard data architecture planned to further scale transaction capacity
- Built-in support for frequent network upgrades and new features
The Aptos mainnet launched in October 2022 after extensive testing starting in 2021. As of late 2023, over 100 ecosystem projects have launched on Aptos across areas like DeFi, NFTs, identity, social media, and more. The network is secured by close to 500 community-run validator nodes.
Technology
The Aptos blockchain introduces several key technological innovations to improve performance, security, and upgradability compared to prior blockchain protocols.
Move Language
The Aptos blockchain natively integrates and internally uses the Move language for fast and secure transaction execution. Move originated with the predecessor to the Aptos blockchain and continues to progress with the evolution of this project.
Move is a new smart contract programming language with an emphasis on safety and flexibility. The Aptos blockchain uses Move’s object model to represent its ledger state and uses Move code (modules) to encode rules of state transitions.
Move leverages a bytecode verifier to guarantee type and memory safety even in the presence of untrusted code. To help write more trusted code, Move includes a formal verifier, the Move Prover, capable of verifying the functional correctness of a Move program against a given specification, formulated in the specification language integrated into Move.
Move emphasizes resource scarcity, preservation, and access control. Move modules define the lifetime, storage, and access pattern of every resource. This ensures that resources like Coin are not produced without appropriate credentials, cannot be double spent, and do not disappear.
The Move ecosystem contains a compiler, a virtual machine, and many other developer tools. Move is inspired by the Rust programming language, which makes the ownership of data explicit in the language via concepts like linear types.
Beyond the user accounts and corresponding account content, the ledger state also contains the on-chain configuration of the Aptos blockchain. This network configuration includes the set of active validators, staking properties, and the configuration of various services within the Aptos blockchain.
Move’s support for module upgradeability and comprehensive programmability enables seamless configuration changes and supports upgrades to the Aptos blockchain itself (both sets of upgrades have been executed multiple times with zero downtime on a private mainnet).
The Aptos framework, consisting of the core libraries and configuration for the Aptos blockchain, is defined as a regular upgradeable package of modules.
Consensus Protocol
The Aptos blockchain leverages the DiemBFTv4 consensus protocol, an optimistically responsive BFT consensus protocol. Consensus in the common case only requires two network round trips (with round trip times typically less than 300 milliseconds worldwide) and dynamically adjusts to faulty validators through a leader reputation mechanism.
The on-chain leader reputation mechanism promotes validators that have successfully committed blocks in a window and demotes validators that are not participating. This novel mechanism significantly improves performance in decentralized environments, correspondingly provides infrastructure for appropriate incentives, and quickly minimizes the impact of failed validators on throughput and latency.
DiemBFTv4 guarantees liveness under partial synchrony and ensures safety under asynchrony where the total validator stake is ≥ 3f + 1 with up to f stake-weighted faulty validators. DiemBFTv4 has been extensively tested in several iterations since 2019 with dozens of node operators and a multi-wallet ecosystem.
The Aptos team is also experimenting with additional research protocols that rely on the block history and associated communication to determine block metadata ordering and finality, such as Bullshark.
Parallel transaction processing
A major bottleneck in many blockchains is the need to sequentially execute and order transactions to maintain consensus on state changes. Aptos utilizes a software component called Block-STM to execute transactions in parallel while still ensuring deterministic outcomes. By detecting and resolving conflicts optimistically, Block-STM maximizes concurrent transaction processing across available compute resources. In benchmarks, it achieved up to 16x speedup over sequential engines.
Support for upgrades
Protocols rules and parameters in Aptos are configurable on-chain to enable instant upgrades via governance mechanisms. For example, new transaction types or smart contract capabilities can be added through a coordinated enablement process across nodes. This allows the network to frequently ship new features and technology improvements with no downtime.
State synchronization
The Aptos architecture provides flexible state synchronization strategies optimized for different node types, like resource-constrained clients or archival nodes. Light clients can selectively track accounts, minimizing storage needs. Meanwhile, full nodes have options to process full transaction history or skip to the latest network state.
These core innovations, along with the Move language and planned sharding architecture, aim to fulfill the Aptos vision of a blockchain network that can securely support global-scale decentralized applications with high responsiveness.