Platform architecture
The Chromia platform is organized into clusters, each consisting of multiple nodes. Nodes are individual machines responsible for processing transactions, validating blocks, and maintaining the blockchain ledger. Providers manage these nodes and contribute computing power to Chromia.
Chromia utilizes an adapted version of the PBFT protocol known as EBFT to achieve consensus within the network. This protocol involves multiple nodes validating transactions and blocks to ensure the network's security and reliability. Below is a short video that highlights the Chromia architecture:
Let's take a look at the components of the Chromia network:
Chromia groups nodes into clusters to divide responsibilities and streamline operations. Each cluster runs specific blockchains. A network consists of a single system cluster and one or more dapp clusters:
- System cluster - A single dedicated cluster that orchestrates the entire ecosystem. It consists of nodes that run Chromia’s core system blockchains.
- Dapp cluster - Runs blockchains that belong to decentralized applications (dapps). Dapp blockchains run inside containers with isolated computational resources that are leased from the network. Each dapp cluster operates its own Cluster Anchoring Chain, which stores block headers from blockchains running in it, allowing us to verify the integrity of all cluster blockchains.
Blockchain anchoring
Chromia employs an effective mechanism known as blockchain anchoring to secure the system cluster, dapp clusters, and dapps. This mechanism enhances security by allowing a blockchain to store its block headers on another blockchain, creating a strong point of reference that can be used to resolve consensus failures. The process works hierarchically as follows:
- Each Cluster Anchoring Chain waits for block headers from the cluster's dapp blockchains. Once received, it includes them in its own blocks.
- The System Anchoring Chain follows the same process: it waits for block headers from the cluster anchoring chains, and includes them in its own blocks.
In the event of a consensus failure, blockchain history can be verified hierarchically from the System Anchoring Chain down to the dApp blockchain level. Additionally, the System Anchoring Chain is anchored to Ethereum for further security.
Dapp cluster
A dapp cluster consists of nodes running dapp blockchains in isolated containers. Each container has dedicated vCPU, memory, and storage resources, allowing for high and consistent performance while preventing network congestion.
In terms of network architecture, each dapp operates on its own unique blockchain(s), incorporating custom business logic and storage solutions. Users must create separate accounts within each dapp to access its functionalities.
Developers can deploy multiple blockchains within a dapp cluster and use Chromia's cross-chain frameworks to enable communication between them.
Directory Chain replica
The Directory Chain replica provides a complete copy of the Directory Chain running within the system cluster. It stores configuration details and Rell code for all dapps, along with hierarchical information about dapp clusters, nodes, dapps, and their blockchains. Each dapp cluster maintains its own Directory Chain replica, which reads data from the original Directory Chain.
Dapp nodes rely on this blockchain replica to determine which containers and blockchains that should run in the dapp cluster.
Cluster Anchoring Chain
A dapp cluster relies on its Cluster Anchoring Chain to maintain data integrity across all dapp blockchains. For every new block created on the dapp blockchains, the corresponding block headers are anchored in the Cluster Anchoring Chain. This can be used to verify the integrity of the underlying blockchains.
Once the Cluster Anchoring Chain creates a new block, it is anchored in the System Anchoring Chain. This can be used to verify the integrity of all Cluster Anchoring Chains and thus creates a hierarchical verification structure.
System cluster
The system cluster serves as the central hub of the Chromia network. All system chains run here e.g.,Directory Chain, Economy Chain, System Anchoring Chain, Token Chain, Transaction Submitter Chain, etc.
Each blockchain has specific responsibilities. They manage network resources, bill for hosting services, ensure network security, send block headers to the Ethereum blockchain for anchoring, and manage CHR account balances for cross-chain Ethereum transfers.
The system cluster nodes also replicate all cluster anchoring chains.
Dapp Cluster Anchoring Chain replica
Each dapp cluster has a Cluster Anchoring Chain that anchors block headers from all dapp blockchains within the cluster. These are replicated by all system cluster nodes. System Anchoring Chain uses these replicas to anchor all Cluster Anchoring Chain blocks.
System Anchoring Chain
The System Anchoring ensures the security and integrity of all data on the network by collecting block headers from all cluster anchoring chains and anchoring them in its own blocks.
Cluster Anchoring Chain
The Cluster Anchoring Chain in the system cluster acts just like any other Cluster Anchoring Chain. It anchors block headers from all blockchains running in the system cluster except the System Anchoring Chain.
Transaction Submitter Chain
The Transaction Submitter Chain provides a way for Chromia nodes to send transactions to EVM networks.
One of the use cases is anchoring the System Anchoring Chain to Ethereum. It does so by periodically submitting transactions including the latest System Anchoring Block to a smart contract on Ethereum.
Economy Chain
The Economy Chain manages hosting prices, provider rewards, and payments for decentralized applications (dapps) through lease agreements, while also incentivizing node providers. When developers lease computational resources from the network, the Economy Chain communicates this information to the Directory Chain using the Interchain Messaging Facility (ICMF) protocol. This process allocates the necessary resources within a dapp cluster for deployment.
Token Chain
The Token Chain streamlines token management, account creation, and cross-chain asset bridging within the Chromia ecosystem. It serves as a dedicated system chain for creating and managing FT4-compatible tokens, handling account creation strategies for multiple projects, and automating bridge setup processes. The Token Chain enhances security by providing a trusted environment for token operations and enables flexible token management independent of individual dapp chains.
Directory Chain
The Directory Chain stores hierarchical information about dapp clusters, nodes, containers, and their respective blockchains, along with configurations for blockchains. It creates data records that link each node to its corresponding cluster and each container and blockchains to the relevant nodes.
The Directory Chain preserves the code and configurations of blockchains, allowing for quick restoration in case of issues affecting a cluster or blockchain. It also facilitates state validation by providing transaction history and records of deployed code at any specific block height.
The Directory Chain communicates with the Economy Chain through the ICMF protocol to allocate the required resources that developers lease for their dapp deployment.
Scalability of the network
Chromia's unique architecture allows the network to scale horizontally. As demand increases, Providers can add more dapp clusters and nodes, enabling more resources to be leased. Each blockchain container receives dedicated computing, memory, and storage resources, ensuring that a traffic spike on one dapp does not cause congestion or performance degradation for others on the network. Additionally, dapps can scale by leasing more resources or even sharding into multiple blockchains that communicate with each other.
Cross-chain communication
Blockchains within the Chromia network share events and data using Chromia's Interchain Messaging Facility (ICMF) and Interchain Confirmation Facility (ICCF) protocols. This communication occurs both within clusters and across different clusters.
Dapp clusters that require integration with external blockchain ecosystems can access Chromia's extensive EVM interoperability framework. This framework enables dapps to bridge tokens, events, and other forms of data to and from Ethereum and other EVM-compatible chains. Dapps that need to interact with existing DeFi protocols, leverage established token standards, or provide cross-chain functionality typically utilize this EVM interoperability framework.
EVM interoperability
The Chromia network is fully interoperable with EVM-compatible chains with EIF (Ethereum Interoperability Framework). This framework allows events to be read from EVM and injected into Chromia blockchains, allowing bridges and other interoperability solutions to be built.
Next up
Next, we will explore how the various system chains within Chromia work together to maintain the network's security and efficiency. We will cover the roles of each chain, including the Cluster Anchoring Chain, System Anchoring Chain, Directory Chain, Economy Chain, and Token Chain, and examine how they manage data, assets, and tokens within the Chromia ecosystem.