What is this Dymension?

AW8H...zizR
6 Jan 2024
62

Hello everyone, in this article, due to our prolonged exposure within Dymension, especially under the influence of Professor Rues, I'll be sharing detailed information about Dymension for both the segment interested in winning rewards and those considering investment within the Community. It might be tedious for some and educational for others, but hopefully, it'll pique everyone's interest. Enjoy the read!


Dymension," first introduced through the concept of "RollApp," presents a novel framework. Let's take a detailed look:

Dymension operates as a full-stack web application where users interact with RollApps (frontend), the Dymension Hub (backend), serving as a coordinator for the ecosystem, and providing a space for data availability networks (database) to publish data. RollApps are interactive applications within the Dymension network. Similar to any web application, each RollApp is entirely customizable, allowing for the creation of games, DeFi, NFT projects, and more.

The Dymension Hub plays a role akin to a server in a traditional web application. It organizes the network by handling requests from RollApps and facilitating communication among them (P.S. it also has an AMM for swapping your favorite RollApp tokens). We'll delve into RollApps under three main headings + Dymension HUB:

🔸 Dymension RDK
🔸 Dymint
🔸 Bridging
🔸 Dymension HUB

✨ Additional smart contract frameworks have been developed and launched under various licenses:

  • EVMOS EVM - EVM smart contracts created by the EVMOS team
  • Polaris EVM - EVM smart contracts developed by the Berachain team
  • CosmWasm - Wasm framework created by Confio and Cosmos contributors

✨ Different from default modules in the Cosmos SDK, several adjustments have been made to define the Dymension RDK:

  • Epochs - RollApps use elastic block production that can cause inconsistencies in block production. Thus, RollApps use a time-based approach for state triggers instead of a height-based approach.
  • Mint - RollApps employ a time-based mint module designed for consistent token creation.
  • The mint module built by Osmosis and Stride teams has been generalized by removing references to pools/incentive structures associated with the protocols mentioned above.
  • Dist - Sequencer allocates tokens between the sequencer (block proposer), members, and the community pool.
  • Sequencers - Creates an account to operate the RollApp to receive rewards.
  • Staking - Wrapper on the existing Cosmos SDK Staking module that prevents validator updates in the proof-of-stake layer.


✨DYMENSION RDK

Dymension RDK (RollApp Development Kit) is the Cosmos SDK (Modular) for RollApps. Cosmos SDK is a development kit that comes pre-built with various modules to expedite the creation process.

RollApps consist of two fundamental services: server, which acts as the application side specified for the RollApp distributor, implementing custom business logic alongside pre-packaged modules, and the client component, referred to as dymint, replacing Tendermint, responsible for block production, cross-layer message propagation, and inter-layer networking.


Most of the Cosmos SDK modules can be integrated into a RollApp to create a RollApp. The fundamental modules inherited from Cosmos SDK and IBC are as follows:

🔸 Auth - Basic transaction and account types
🔸 Bank - Facilitation of token transfers
🔸 Capability - Provision, tracking, and authentication of multi-owner capabilities at runtime
🔸 Gov - On-chain proposals and voting
🔸 Params - Globally available parameter store
🔸 Upgrade - Handling software upgrades
🔸 IBC - Bridging protocol

✨ DYMINT

RollApps resemble Cosmos Application Chains but carry the consensus overhead to the Dymension Hub. The Dymension Hub optimistically accepts state root updates from RollApp Sequencers and can revert any state transition if proven invalid with fraud proofs. State root updates allow access to lightweight client bridging and inter-chain message passage.

Transaction lifecycle

Sequencers are RollApp operators who validate, order, and process transactions. Sequencers expose RPC endpoints for users to submit valid transactions based on the RollApp's state machine.
Once a transaction is submitted and processed, the Sequencer responds immediately with a state update. Periodically, Sequencers locally batch processed transactions. Batched blocks are gossiped to peer full nodes and published on-chain on a data availability network chosen by the RollApp. Block gossiping provides lower latency for full nodes to receive state updates but achieves economic security from the dissemination of data on a decentralized network. Consequently, full nodes of the RollApp network can request data from the data availability network and verify the RollApp's state root.

Upon receiving confirmation of data acceptance from the data availability network, the Sequencer publishes the state root to the Dymension Hub. Metadata, including a reference path to the chosen data availability network, is sent alongside the updated state root to the Dymension Hub. The Dymension Hub can then verify fraud proof submissions against the data published on-chain.


Blocks are produced at configurable low block times, ensuring optimal block production and eliminating the need for active network validation. Sequencers can generate blocks at low block times, configurable due to optimum block production, without requiring active network validation. RollApps deployed on the 35-C network maintained an average latency of 0.2 seconds with a maximum TPS of around 20,000 transactions.

Base Layer Unavailability

In the event of base layer unavailability, Dymint doesn't process transactions in the mempool but continuously attempts to submit a transaction to an available base layer. Upon receiving a positive liveness response from the base layer, Dymint resumes processing existing transactions in the mempool. While it's possible to configure Dymint to continue operating without publishing transaction data on-chain, the core team of Dymension has adopted an approach prioritizing security over liveness during RollApp operation.

Elastic Block Production

Dymint employs Elastic Block Production (EBP) for significantly enhanced operational efficiency. Instead of consistently propagating blocks without transaction data, blocks are produced on demand as transactions reach a Sequencer's mempool. This is designed to substantially reduce the operational costs for a RollApp Sequencer.

Sequencers generate blocks without transactions at specific configurable checkpoints (e.g., every minute) to ensure stable state transitions independent of transactions (e.g., epoch-based token minting). Consequently, RollApps default to time-based distributions rather than height-based (commonly found in Cosmos application chains).

✨ BRIDGING

Dymension's RDK is built on top of the Cosmos SDK by adding new modules and modifying existing ones to ensure compatibility with the Cosmos ecosystem for RollApp. The new modules are specifically designed to handle validator-less RollApp application logic. RollApps can interact with any IBC-enabled chain using the Dymension Hub, hence becoming part of the growing IBC ecosystem.


As a protocol, Dymension is designed to facilitate the growth of the Cosmos and inter-chain ecosystem. Naturally IBC-enabled, the Dymension Hub minimizes trust in message passage between RollApps, Cosmos zones, and other IBC-enabled ecosystems. Unlike traditional Cosmos application chains, RollApps delegate consensus to the Dymension Hub. Therefore, the Dymension Hub acts as a decentralized oracle of truth and decides when a RollApp is in a good state, mediating entries and exits for RollApps. Leveraging the existing IBC stack, RollApps can remain compatible with the IBC-enabled ecosystem even without consensus.

Emanate IBC

RollApp Sequencers optimistically produce and broadcast blocks (i.e., without active validation from Dymension Hub nodes). Thus, for bridging, the Dymension Hub applies a dispute period where any network participant can present fraud proof against the published state root. If no fraud proof is presented, it is assumed that the state root is valid for light clients. The Dymension protocol will implement a version of Escrow IBC for instant IBC transfers. This will facilitate market-making opportunities for new participants and enable quick withdrawal transactions for RollApp users. The eIBC specification is ongoing, and the Dymension core team welcomes ecosystem participants for discussion and protocol enhancement.

✨ DYMENSION HUB

The Dymension Hub is a decentralized Delegated Proof-of-Stake blockchain secured by the DYM token. It serves as a decentralized source of truth, security, and liquidity for the RollApps network. Specifically built to provide security, interoperability, and liquidity for RollApps.

Security - Inherited from the Dymension Hub and related data availability layers. Security for RollApp users is ensured by the validators and the protocol's fraud-resistant design. By relying on the honest majority of the validator set, RollApps can operate with an honest minority (i.e., 1/N trust assumption) and significantly reduced bootstrap overhead.

Interoperability - RollApps communicate and transact with each other through specialized modules present in both RollApp and the Dymension Hub. Inter-Blockchain Communication (IBC) leverages the Dymension Hub as a common ground for all RollApps, easing bridge-building for RollApp users within the entire IBC ecosystem.

Liquidity - An unrestricted single application logic to handle RollApp validity within the Dymension Hub is an embedded Automated Market Maker (AMM). The AMM is designed to expose RollApps to efficient asset routing, price discovery, and, most importantly, shared liquidity for the entire ecosystem.

The Dymension Hub facilitates vertical integration, combining network and liquidity bootstrapping into a single user experience, streamlining the application chain thesis. Dymension's vertically integrated approach significantly reduces the deployment time of an application chain to just a few minutes.

By establishing a canonical IBC connection with access to concentrated liquidity and additionally to the entire IBC ecosystem, RollApps only need to run a single IBC relay. This vertically integrated approach enables developers to focus on their primary goals, creating new blockchain applications.

Final Words and Personal Opinion👇


Dymension is poised to bring a breath of fresh air with its novel idea. In short, while RollApps might appear to be just standardized chains, for me, DYM holds much more potential.


"Nice, but what is a standardized chain?"

Think of this as an ERC-20 token. ERC-20 is a contract with specific mandatory features but customizable (such as adding taxes). A RollApp is similar but for chains. Hence, a RollApp is a chain that is customizable yet adheres to certain prerequisites. Thus, you can easily create a chain for whatever you want with the security of the main chain. This is where Dymension finds all its value.

"So, is Dymension just a chain of chains?"

Absolutely, Dymension's central (main) chain ensures the smooth functioning of all sub-chains (RollApps).

🔸 Imagine playing in an open-world game where you have many alternative options to interact with. Within that world, you're constructing your own ecosystem under the conditions provided by that world. Or, think of it like building your system on the web using the logic of WordPress.
So, it's like a chain of chains hosted on a chain xD


I wish everyone a great weekend!

Source: https://docs.dymension.xyz/
https://medium.com/@dymension

Write & Read to Earn with BULB

Learn More

Enjoy this blog? Subscribe to Vengeance

8 Comments

B
No comments yet.
Most relevant comments are displayed, so some may have been filtered out.