Introducing the Cyclone Stack: A Parallel Execution EVM Built for Performance and Flexibility

A primary goal of the Canto network is to provide developers with the best ecosystem for building sustainable and scalable applications. To facilitate this vision, Canto introduced two novel mechanisms last year in Free Public Infrastructure and Contract Secured Revenue, giving developers new and improved financial rails for building apps.

Innovations on financial primitives and incentive layers will always remain a cornerstone of Canto. Contributors also recognize that innovation on core blockchain technology is equally important to give developers the best possible platform for building new age applications.

Today, Canto contributors, led by core development team B-Harvest, are excited to propose the development of the Cyclone Stack, a set of upgrades which will significantly improve the performance and scalability of Canto through the introduction of a parallel execution engine.

Introducing the Cyclone Stack

The Cyclone Stack is a proposed set of 3 upgrades, which are summarized below:

  • Callisto Upgrade: Upgrading Canto to use Cosmos SDK v0.50, which fully implements the ABCI 2.0 interface in CometBFT v0.38 and introduces Optimistic Execution

  • Elara Upgrade: Implementing the Cyclone EVM, an optimistic parallel execution EVM which enables multiple transactions to be processed concurrently

  • Kallichore Upgrade: Integrating mem-IAVL on Canto to reduce storage access bottlenecks

Canto will stay fully EVM compatible after these upgrades, meaning all existing apps and tools will function normally without the need for additional development work.

Callisto Upgrade: Leveraging ABCI 2.0 and Cosmos SDK v0.50

The Application Blockchain Interface (ABCI) serves as the core interface between the CometBFT consensus engine and blockchain applications. While the initial version of ABCI only allowed applications to interact with CometBFT during block finalization, ABCI 2.0 gives blockchains expanded control over the consensus process by adding programmability to each step of consensus.

This diagram illustrates the 5 methods that ABCI 2.0 exposes to the blockchain application: PrepareProposal, ProcessProposal, ExtendVote, VerifyVoteExtension, FinalizeBlock
This diagram illustrates the 5 methods that ABCI 2.0 exposes to the blockchain application: PrepareProposal, ProcessProposal, ExtendVote, VerifyVoteExtension, FinalizeBlock

This extra programmability sets the foundation for Canto to implement parallelized execution without modifying the canonical CometBFT. Crucially, this means the Cyclone Stack will be modular, simplifying future upgrades to improved versions of CometBFT and Cosmos SDK.

Additionally, Cosmos v0.50 leverages ABCI 2.0 to enable Optimistic Execution by default, which allows transactions to be processed before full confirmation from all validators. For Canto users and developers, this means block speeds will be significantly faster.

Elara Upgrade: The Parallel Execution Cyclone EVM

The most significant performance improvement in the Cyclone Stack comes from the Cyclone EVM, Canto’s proposed optimistic parallel execution engine. The Cyclone EVM relies on ABCI 2.0 to implement parallel processing without the need to modify the consensus layer. Instead, the Cyclone EVM uses methods provided by ABCI 2.0 to implement the mechanisms required for parallel processing.

Parallel execution operates under the presumption that transactions can be processed concurrently. It works optimistically, assuming low data contention, which allows for improved throughput in transaction processing. To account for transaction conflicts while maintaining the integrity of the blockchain, there exists a process of conflict detection and re-execution of transactions.

The parallel execution workflow, including conflict detection and resolution, occurs in the ProcessProposal stage of consensus:

Even in the case of high data contention, the Cyclone EVM will process transactions substantially faster than non-parallelized execution because transaction re-execution excludes the cost of storage access as data is persisted in the worker between executions.

With the Cyclone EVM, Canto will achieve substantially increased throughput along with lower block speeds.

Kallichore Upgrade: Eliminating Data Access Bottlenecks

The current Cosmos SDK storage and state primitives contain significant bottlenecks which prevent blockchains from achieving high performance and scalability. To address these issues, contributors propose using separate data layers for state commitment (used during consensus) and state storage (used to store historical state).

For the statement commitment layer, contributors propose the use of mem-IAVL, an in-memory storage layer that can be used to speed up data access and persistence related to state commitment.

The key of advantages of separating data layers for commitment and storage, along with using mem-IAVL for state commitment, are listed below:

  • Dramatically faster read/write operations due to being in-memory

  • Quicker block commit times

  • Increased blockchain stability without restarts or state sync

  • Sustainable chain operation even with state growth

  • Increased speed of snapshot creation/restoration, catch-up, RPC node startup, rollback, and IAVL dumps

Research and development for the Cyclone Stack began in December 2023. The Callisto Upgrade is set for release in Q2 2024 and the Elara and Kallichore upgrades are set for completion in H2 2024.

About Canto

Canto is a Layer-1 blockchain built to deliver on the promise of DeFi – that through a post-traditional financial movement, new systems will be made accessible, transparent, decentralized, and free. Created by a loosely organized collective of chain-native builders, Canto is a new commons powered by Free Public Infrastructure.

Join our community here.

Subscribe to Canto
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
This entry has been permanently stored onchain and signed by its creator.