RollApps
RollApps are scalable consensus-free blockchains that leverage Dymension Layer 1 for security and access to liquidity. Unlike traditional blockchains, which manage a distributed set of validators, RollApps publish transaction data to a different blockchain so anyone can validate the correctness of the state.
RollApp Development Kit
Dymension supports various virtual machines and custom execution environments. New execution environments may be added as explained in the Dymension RollApp Standards. Dymension currently supports the following frameworks:
Creators
Creators set the initial RollApp information and may change certain updatable RollApp metadata fields as described here. RollApp creators do not have control over the RollApp besides being able to initially set and update the RollApp's metadata.
Creators of the RollApp are eligible for royalties and endorsements. RollApp creators may transfer rights to endorsement and royalties to a different entity.
RollApp creators are not responsible for operating the RollApp (i.e. nodes), instead Operators may choose to run a RollApp based on the economic viability (e.g., Sequencer rewards).
Operators
Operators manage nodes called sequencers which validate, order, and process transactions. After a transaction is submitted by a user, the Sequencer responds with a state update. At a configurable period the Sequencer batches the processed transactions. Batched blocks are gossiped to peer full nodes as well as published onchain to a data availability network of the RollApp's choice.
After receiving a response from the data availability network that the published data was accepted, the Sequencer then publishes the state root to Dymension. Metadata, including a reference path to the chosen data availability network, is submitted to Dymension along with the RollApp's updated state root. With data published onchain, Dymension may then verify any fraud proof submissions.
RollApps utilize Dymint to process transactions and network the created blocks. Dymint implements elastic block production (EBP) for significantly greater operating efficiencies. Instead of continually publishing blocks with no transaction data, blocks are produced on-demand as transactions arrive into the mempool of a Sequencer. This is designed to significantly reduce the operating costs of a RollApp Sequencer.
Sequencers produce blocks with no transactions only at certain defined configurable checkpoints (e.g. every minute) to provide stable state transitions independent of transactions (e.g. minting based on epoch). As such, RollApps by default utilize time-based distributions rather than height-based.