2022 has been a hectic year for blockchain development, one of the newest aftermaths is a new Layer 1 blockchain called Aptos, coined by many as the “Solana Killer” being presented as a “scalable, safe, reliable, and upgradable” network. On October 12, 2022, Genesis of the blockchain finally occurred after being in development for three years and raising around 350 million dollars in VC rounds. The Aptos blockchain aims to bring mainstream adoption to web3 and solve real-world problems with a decentralized ecosystem of applications. They strive to advance the reliability, safety, and performance of blockchain technology by providing a flexible and modular architecture that supports frequent upgrades, new use cases, and emerging technological advancements. They also work closely with web2 companies in order to incorporate both together. The validation method is Proof of Stake (Pos). In this article, we will analyze its key features and make a brief comparison with Internet Computer.
Leading the development of Aptos is the Aptos Lab, created by co-founders Mo Shaikh and Avery Ching. They met during their work at the now-defunct Diem blockchain project at Facebook, now called Meta. When Meta discontinued Diem, Shaikh, and Ching joined to create Aptos, a spiritual successor to Diem. The rest of the team consist of experienced PhDs, researchers, engineers, designer, and strategists.
Aptos inherits a lot of Diem’s features, it uses Move, a rust-based programming language, with these key points being the core design principle behind it:
The Move Language is crucial to analyzing Aptos' potential and should be included in any analysis of Aptos, with claims for it to be better than any other commonly used language like Solidity or Rust. So what makes it special? An in-depth explanation is provided in their whitepaper.
Move is inspired by Rust, sharing many of its characteristics, mainly ownership of data is explicit through concepts like linear types (types being the classification of data, i.e Integers, Strings, etc…). It allows for precise control over the usage and lifetime of resources, every value has a unique owner, and ownership is transferred from one owner to another when a value is passed. Each value is used exactly once and prevents common programming errors. This ensures that coins are not produced without appropriate credentials, cannot be double-spent, and do not disappear. Move also leverages a bytecode verifier to guarantee type and memory safety even in the presence of untrusted code. Move includes a formal verifier, the Move Prover, capable of verifying the functional correctness of a Move program against a given specification. Most computing in cryptocurrency is done through sequential computing, a not-so-efficient way to use multi-core capabilities of modern computer architectures, Move tries to solve this by introducing parallel computing with its fine-grained resource control. Parallel computing is more efficient and cost-effective compared to the sequential computing albeit more complex coding is needed.
Even the most technologically advanced language would be useless if it is vulnerable and easily exploitable, a lot of measures were taken for it to be secure. Aptos Labs contracted external resources to audit their project, like Certik, scoring in the top 5% on safety regards. Move’s bytecode ensures that a type is unique and unforgeable, and prohibits manipulation of resources outside of their modules before being executed by the Move VM.
Aptos's aim is to make web3 safe and accessible, a user wouldn’t know or need to know the mechanism behind the code security, but they do need to know that whatever they are accepting as a transaction is what they want to do. Occasionally users will sign transactions unintentionally either because of a mistake or improper communication about what the transaction will do. It is often way too common to end up with a drained wallet after a small lapse of judgment, wallet draining apps can also be hidden in a smart contract as an innocent transaction, exploits like these are a daily occurrence, and blockchains like Ethereum and Solana make no effort to combat it. Aptos tries to address this problem by providing a transaction pre-execution, a readable outcome of the transaction prior to its approval. Additionally, wallets can set constraints on transactions and any violation of these constraints will result in an aborted transaction.
Transactions in Aptos are split into separate stages to increase throughput, maximize concurrency and reduce complexity. Each stage can be processed independently and parallelly. Combined with the modern processor architecture this results in a significant performance boost.
Transactions are processed in batches by validators and then combined in blocks during consensus. These batches are configurable with a max size and max waiting time enabling automatic optimization for latency and efficiency. Every transaction in a block has an agreed-upon physical timestamp, allowing time-dependent logic and as an additional layer safeguarding the user.
Block-STM is a parallel execution machine integrated into the Aptos blockchain. It uses optimistic concurrency control to execute batches of transactions in parallel and validates post-execution, leading to re-executions in case of unsuccessful validations. It uses a multi-version data structure to avoid write-write conflicts by storing all write in the same location along with their versions. When a transaction reads a memory location, it obtains from the multi-version data structure the value written to this location by the highest transaction that appears before it in the present order, along with the associated version.
At its best, it can achieve 16x times the speed of sequential execution with 32 threads. Block-STM can identify and extract the parallelism in any workload, supporting more complex transactions concurrently which leads to lower transaction count and lower latency.
Aptos is currently a single ledger state, this will eventually reach its maximum capacity. The chosen approach for horizontal scalability is sharding, while still trying to keep the decentralization. This will be with multiple sharded ledger states, each with a uniform API and sharding. These shards can exchange data with one another through a standardized bridge, and both users and developers will have the freedom to choose their preferred sharding schemes based on their specific requirements.
Aptos mainnet has already launched and with its impressive claim of over 160k transactions per second, a quick tour of the Aptos explorer we can see that it only functions at 5 Transactions Per Second (TPS) most of the time. It hasn’t reached any stress point in which the architecture would be tested. This quickly ended up as a meme in the crypto community.
Moreover, it is a project from Meta (formerly known as Facebook), and although the team is no longer part of Meta most of the project was developed during that time, also Aptos is heavily linked with Google, having a partnership with Google Cloud for their validators, heavily tied to web 2.0 companies. During the launch, there were issues with the blockchain and the community was silenced by disabling Discord (the main communication channel), this is a clear lack of transparency usually shown by big tech companies.
Another big concern is the tokenomics behind it, users on Twitter claim that the team and the VCs own more than 81% of the token supply, but the official statement is that 51% of the tokens will go to the community. Community being the developers through grants or similar.
Aptos and ICP are similar blockchains trying to spread Web 3.0 with a more scalable, secure, and decentralized blockchain. ICP is a more mature project than Aptos at the moment and that can be seen in the transactions per second in their explorer with ICP averaging around 7000 and Aptos barely reaching double digits. The current maximum TPS for ICP is around 11000 TPS with the possibility for more scaling and Aptos is supposed to be 160000 but it hasn’t been tested in a real-world scenario.
Aptos can’t store data as effectively as ICP can but it does have faster transaction finality, under one second compared to ICP 2 seconds. Aptos is trying to integrate with Web 2.0, but ICP is trying to replace it. This effect can be noticed in Aptos embracing Google cloud computing for validators and ICP going for a more “standalone” data center distribution style.
In terms of criticism, they have very similar ones, both related to tokenomics and lack of transparency. In both cases, a lot of tokens are allocated to the team, foundation, VC, and early investors. Even with a truly decentralized system if the distribution of voting power is so unequal decentralization questions are often brought up, questioning the legitimacy of the foundations and team.
Aptos is a fairly new blockchain with its genesis occurring just in October 2022, while it does have its fair share of controversies and limitations, the technology behind it does look innovative. (Also check out Sui, a similar blockchain developed in Move, also a spin-off of Diem, with arguably better technology still in development and hopefully more transparent) Parallel computing isn’t something that has been explored much because of its sheer complexity but a proper implementation of it saves up a lot of resources. The extra emphasis on user security is also appreciated as it provides an additional layer of safety to the user and tries to fight the countless scams going around, no one likes having their wallet drained, as the source can come unexpectedly even from trusted sources. As all technology should be user design has to come first, adapting to their needs if necessary.