System Components
Core modules and components that power Mitosis Chain’s architecture
Validator & Governance System
In most Cosmos SDK-based chains, validator and governance systems are built using x/staking
, x/distribution
, and x/gov
modules provided by Cosmos SDK. However, Mitosis takes a different approach.
Instead, Mitosis implements most of the necessary logic as smart contracts in the EVM (execution layer). For example:
- A user stakes MITO to a validator on EVM
- An operator creates and manages a validator on EVM
- Staking rewards are distributed on EVM
- Users cast votes and proposals are executed on EVM
Information Flow
The contracts manage all user flows and serve as the source of truth. Some information from the contracts is delivered to the consensus layer through EVM logs on:
Once an EVM block is created and finalized on the consensus layer, the consensus layer parses and processes the EVM logs in the block.
For more detailed information:
Custom Modules
There are three custom modules that enable the EVM-consensus integration:
x/evmengine
Forked from Octane
- Communicates with an execution client through Engine API
- Wraps an EVM block into one transaction in the consensus layer
- There can only be one transaction wrapped from an EVM block
- Other types of transactions are prohibited in a consensus block
x/evmvalidator
This module manages a validator set on the consensus layer. Note that there are no features such as delegation and reward distribution because those features are implemented in contracts on EVM. Most states are managed in the EVM contracts, and this module simply applies validator set changes and consensus voting power updates delivered from ConsensusValidatorEntrypoint
. We could say this module is a lightweight version of x/staking
that has EVM contracts as the source of truth.
Key Features:
- Validator set management based on EVM contract state
- Consensus voting power calculation with leverage limits
- Jailing and slashing mechanisms for validator penalties
- Integration with
x/slashing
andx/evidence
modules
This module also implements some parts of interfaces of x/staking
to integrate with x/slashing
and x/evidence
. Unlike traditional Cosmos chains where slashing directly affects delegator stakes, in Mitosis only validator collateral is subject to slashing, protecting user staked tokens.
x/evmgov
This module provides arbitrary message execution from EVM. Governance on EVM can trigger arbitrary message execution against consensus layer modules. It can be used for cases such as module parameter changes.
It is very lightweight compared to x/gov
because there are no concepts such as proposals and voting power. These concepts are implemented in EVM contracts, and this module simply executes arbitrary messages delivered from ConsensusGovernanceEntrypoint
.
Key Features:
- Receives governance messages from EVM through event logs
- Executes arbitrary consensus layer module messages
- Supports parameter updates and module configuration changes
Basic Modules
Besides the three custom modules above, we use these Cosmos SDK modules without modifications:
x/auth
x/tx
x/bank
x/consensus
x/slashing
(fork)x/genutil
x/evidence
(fork)x/upgrade
Important: Mitosis does not use x/staking
, x/distribution
, and x/gov
modules as mentioned above.