Immutable X ZK-Rollup Technology

Rollups bridging from layer 1 to layer 2, source: https://medium.com/coinmonks/tokenomics-101-immutable-x-1bc3c32d6d7b

The ZK rollups use a valid proof: each batch includes a cryptographic proof called the ZK-SNARK, which must ensure that the root after the state is the correct result of the batch execution. Since the level of computation is no big deal, proofs can be verified on-chain very quickly.

Immutable X combines NFT-specific proof-of-stake and exchange logic with advanced aggregation technology developed by StarkWare to create the most advanced NFT trading engine ever built. The compilation enables scalability and a world-class user experience while preserving the underlying security of Ethereum. To do this, they generate a large number of transactions, generate a “proof of validity” for those transactions, and then send that proof to an L1 smart contract. Immutable X's compilation enables over 9,000 NFT transfers, transactions, and coins per second, meeting and exceeding the scale required by mainstream NFT projects.

Rollup Design

Vault Merkle Tree

Vault Merkle Tree, source: https://vitalik.ca/images/rollup-files/tree.png

The “asset state” of Immutable X is represented as a Merkle tree, where each leaf node is a store of assets and every other node is a hash of its two child nodes. This tree tuning logic is encoded in two places:

First, in the on-chain smart contract verifier which governs deposits, withdrawals, and state updates. This contract stores the root of the Merkle tree and ensures this root can only be updated in the presence of valid proof, so there is no chance of the vault Merkle tree ever transitioning to an invalid state. Currently, this contract is upgradable with a time lock - the intention is to make the contract logic immutable eventually.

Second, in the L2 proof logic, written in StarkWare’s Cairo language, which determines the requirements for valid state transitions (e.g., validating that a user transferring an asset actually controls that asset).

STARKs over SNARKS

Immutable X uses STARK proofs as opposed to the more common SNARK proofs. STARK proofs are a more recent advance in proving technology that aims to solve the key problems with SNARK-rollups, namely that:

• SNARKs require a trusted setup ceremony

• SNARKs are not post-quantum secure

• SNARKs rely on extremely complex cryptography and can be prone to implementation errors STARK proofs are larger and cost more to publish on-chain: we consider this an acceptable tradeoff for greater user security.

Data Availability

If Immutable becomes unresponsive and protocol development halts, users will need the data of their trades to be available to withdraw their assets. Immutable X supports two data availability modes: rollup and validium. In rollup mode, state changes between each batch are published to L1, retaining L1 security but adding a small linear cost to each transaction. In validium mode, a Data Availability Committee (DAC) signs each batch to indicate that they have retained a copy of the data. If even one committee member is honest, users will be able to withdraw from the protocol successfully. Currently, Immutable’s DAC consists of Immutable, StarkWare, Deversifi, Consensys, Nethermind, Iqlusion, Infura, and Cephalopod. In both cases, the system is decentralized: even if Immutable disappears, is hacked, or is actively malicious, the protocol will be able to recover, and user assets are safe.

Rollup Mechanism

StarkEx foundation to ZK-Rollups, source: https://starkware.co/starkex/


At on-chain, there is a contract that maintains the root state: the Merkle root of the state of the rollup ( the account balances, contract code,meaning, …, that are "inside" the rollup).

The Merkle root, source: https://vitalik.ca/images/rollup-files/diag1.png

Anyone can publish a batch, a set of transactions in a highly compressed form along with the previous state root and the new state root (the Merkle root after processing the transactions). The contract checks that the previous state root in the batch matches its current state root; if it does, it switches the state root to the new state root.

The Merkle root after processing the transactions, source: https://vitalik.ca/images/rollup-files/diag2.png

To support depositing and withdrawing, rollup adds the ability to have transactions whose input or output is "outside" the rollup state. If a batch has inputs from the outside, the transaction submitting the batch needs to also transfer these assets to the rollup contract. If a batch has outputs to the outside, the smart contract initiates those withdrawals upon processing the batch.

IMX Token

Introducing $IMX, source: https://assets-global.website-files.com/5f7eec37ff782e797edabe11/60f8c2eba3ffd6209116a6c8_Twitter%20-%201200%20x%20628%402x.png

IMX is an ERC-20 utility token built to reward pro-network activities on Immutable X. For example, trading, providing liquidity, and building applications. The token can align incentives between traders, creators, and the market so that all participants benefit from the protocol's activity. Immutable has partnered with the token issuer, Digital Worlds Ltd. NFTS. Hereby, distribute IMX for use on Immutable X protocol.

IMX play to earn

-Retrospective: Initially 100,000 IMX will be divided equally among all users who play the game Gods Unchained and connect their Gods Unchained account to Immutable X. Then, before the end of the Alpha reward period. They will also need to host the Gods Unchained NFT any time before 12 A.M UTC on July 22, 2021.

-Alpha: Participants will need to complete three Gods Unchained missions in the game to qualify for the Alpha reward. 400,000 IMX at the end of the reward period will be divided based on each player's Gods Unchained holdings. To get points, you must have a possession card!

Token Utility

Fees

Immutable X requires 20% of the protocol fee to be paid in IMX. This fee can be paid directly in IMX, or Immutable will automatically swap the currency for IMX on the open market. Users do not need to explicitly hold IMX tokens to be able to trade on the protocol.

Staking

Like many other systems, Immutable X also has a staking mechanism. On a monthly basis, the reward pool will be proportionally distributed among all users who are actively staking their IMX tokens on Immutable X. User rewards will be proportional to the amount of IMX they have deposited bet of the month. For your IMX to be considered a stake, you must:

• Have IMX on L1 or L2

• Vote on a governance proposal within 1 month

• Or:

› Having NFT on Immutable X; or

›Completed transaction in the last 1 month

How does staking work?, source: https://www.immutable.com/token#airdrop

Decentralized Governance

Token holders will be able to vote on token-related proposals via decentralized governance. Proposals will include topics such as how to allocate token reserves, voting on developer grants, activating daily rewards, and changes in token supply.

  • Token Supply And Allocation

There will be 2,000,000,000 IMX tokens provisionally allocated to the following areas:

Token Supply And Allocation, source: https://www.immutable.com/token#airdrop

Pros and Cons of Immutable X

Pros

-Benefit from the growing popularity of NFTs.

-Immutable X overcomes the disadvantages of Ethereum, and Ethereum is the platform -with the most NFTs.

-IMX coin has fast transaction speed, low cost, and high security.

-IMX coin is receiving the attention of the community with some famous partners.

Cons

-The price of IMX coin fluctuates greatly and depends on the general market.

-IMX coin is still not too popular, many people do not know about it.

-Will face challenges when Ethereum implements a new consensus layer.


References

[1] An Incomplete Guide to Rollups, accessed July 22nd, 2022.

[2] Immutable X Whitepaper, Immutable, accessed July 22nd, 2022.

[3] Strauf, F., Tokenomics 101: Immutable X, accessed 22 July 2022.