Immutable's layer 2 solutions
What is layer 2?
"Layer 2" is a term used to describe mechanisms that process batches of transactions independently of layer 1 and only periodically reports them to the main chain. This decreases the total number of transactions that have to be validated on layer 1. Layer 2s are also known as "execution layers" or "rollups".
Immutable X offer two execution layers, both of which use the ZK rollup batching mechanism.
How do ZK rollups work?
ZK rollups consist of two main components:
- Off-chain batching mechanism (virtual machine) - generates a cryptographic proof from a batch of transactions in a highly compressed form together with the previous state root and the new state root.
- On-chain contract:
- Stores the current state root of the rollup.
- Verifies that the previous state root in the batch matches the current state root. If so, it switches the state root to the new state root.
How it works:
- A collection of layer 2 transactions are sent to the batching mechanism which generates a cryptographic proof from the transactions, previous state root and the new state root.
- This proof is sent to the layer 1 smart contract to verify.
- The layer 1 smart contract checks that the proof's previous state root is the same as its current state root.
- If it does, then it updates its current state root to the new state root of the batch.
For more information:
- An Incomplete Guide to Rollups - by Vitalik Buterin
- Layer 2 and ZK rollups explanations - by the Ethereum Foundation
Layer 2s on Immutable
Immutable currently provides two layer 2 solutions:
How does it work? | Who can use it? | How does Immutable provide access to it? | |
---|---|---|---|
StarkEx | Provides a service that batches certain types of transactions. The StarkEx service is created and maintained by the company, Starkware. Only transactions that are built for this service can be processed. | Applications (like Immutable X) must sign up to use this service. | Immutable X allows other applications to submit, via API endpoints, accepted types of transactions to be processed. |
Immutable zkEVM | Smart contract platform where any developer can write and deploy smart contracts to zkEVM. | Anyone. | 🚧 Coming soon - Immutable zkEVM is an EVM zk-rollup for games. It offers low cost, massive scale, Ethereum security, and smart contract compatibility. You can use the same code and tooling you have on Ethereum but with much higher throughput and lower fees. Full protocol specification will be available here. |