The crypto ecosystem has had to adapt to the new reality â Initia was born into it.
As an industry, weâve had to accept the fact that a single state machine canât scale to match the ambitions of crypto. Scaling throughput while keeping the costs low for users and operators, all while rooting for an acceptable level of decentralization, is a battle thatâs almost impossible to win with a monolithic approach.
The reality is, the success of purely monolithic chains has become a contrarian opinion. Enter the modular vs. monolithic debate, which took center stage earlier this year. But hereâs the kicker: thereâs no debate at all. The future isnât one or the other â itâs a blend of both. A fast, programmable L1, paired with a suite of app-specific rollups that scale execution hand-in-hand with the L1.
The merits of the blended (or as we like to call it, Interwoven) approach becomes apparent when you look at Solana. In the past six months, teams have begun building their own custom ânetwork extensionsâ that settle on Solana. But wait â wasnât Solana supposed to handle scale on its own? Isnât that their entire branding?
You see, rollups are about more than just scaling execution. Theyâre also about sovereignty â giving builders full control over their execution environment. More TPS, lower gas fees (or maybe none at all), control over tx ordering & processing, and ownership over the entire economic stack of their business to name a few.
At this point, itâs clear: rollups are inevitable, and theyâre here to stay.
Initiaâs existence is built around this thesis. Itâs purpose-built to host a thriving ecosystem of interwoven rollups ðŠĒ, known as Minitias.
Initia is designed to be the home for thousands of Minitias working together in unison to provide diverse, powerful, and unique applications through a cohesive experience thatâs interwoven by design.
So far, two kinds of ecosystems have existed. Ones specifically built for the world of interconnected chains (Cosmos), and the second are the ones who took the bet on rollups post-facto (Ethereum, and now Solano). Each one with their approach has found some degree of success but not without their fallings, which are invaluable learnings to take when building the new model of an L1.
Initia bridges these extremes, itâs an L1 designed to support a network of interconnected L2s that ensure Minitia builders have everything they need to succeed. Itâs been built from day one to avoid the messy middle by having opinionated designs and asking the simple question â what do L2s actually want from a hub?
On Initia, rollups simply belong. Thereâs complete economic alignment between the L1 and L2s through @initiafdn/introducing-vip-5fe1a0177055">Initia VIP, the product suite is damn crisp, and the tech is purpose-built to ensure Minitias have oracles, bridges, liquidity, interoperability, native stables, etc. right out of the gate. The Interwoven Stack makes it super simple for teams to deploy a Minitia with whatever VM they choose â be it EVM, MoveVM, or CosmWasm.
Now, whatâs the most important component that enables the rollups on Initia? The Interwoven Stack â an optimistic rollup framework built from scratch for the Cosmos SDK.
Ready to see the magic under the hood? Letâs dive into the framework.
The Optimistic Rollup framework on Initia is made up of three components thatâĶyou guessed it, are pretty interwoven ð
OPHost, OPChild, and OPinit Bots beautifully come together like three pieces of the puzzle to form a collective that powers each and every Minita.
OPHost and OPChild are Cosmos SDK modules that form the core of the Stack, theyâre the parts that live on the chain. Since the OPinit Stack is implemented at the chain level rather than the smart contract level of a specific VM, it allowed us to build support for multiple VMs and give Minitia builders the freedom of choice.
On Initia, rollups are first-class citizens built directly into the chain. This has blessed us with flexibility to fine-tune the implementations and provide a superior experience.
The OPHost module lives on Initia (the L1). Itâs responsible for serving as the homebase for all the Minitias that settle on Initia. OPHostâs key tasks include:
OPChild, on the other hand, lives on every Minitia. Itâs like the heart beat of each rollup, itâs responsible for:
The OPHost & OPChild together form the Optimistic Bridge for each Minitia. One OPHost on Initia acts as the endpoint of the L1 for multiple OPChild modules across many Minitias.
Itâs important to note for rollups, the native bridge does more than message transfers, it serves as the HQ of the rollup on the L1. You see, two different consensus systems are unaware of each otherâs state machines, but a rollupâs bridge acts as the source of truth of the rollup on the L1 by submitting state roots or a similar output that can be verified against the rollupâs state to ensure correctness. This is why an L1 is often called the settlement layer.
But, now you may think â âWhat connects the OPHost and OPChild? Relayers?â Nah, thatâs what OPinit Bots do! As an extension of the above, two different consensus systems canât natively talk to each other without an off-chain process aiding them by acting as the physical link between their isolated state machines.
OPinit Bots are off-chain processes that handle critical actions between Initia and Minitias. There are two different bots â Executor and Challenger. In a nutshell, the two Bots together are responsible for:
In the rest of the article, weâll dive into how specific features are implemented in The Interwoven Stack and that should give yâall a clearer picture of how all the pieces work together!
One of the most important aspects of a rollup is that it inherits the security of the L1 it settles on.
You know what else is neat? The native bridge between an L1 and a rollup is usually the most secure way to transfer assets between the two. Thatâs because using the native bridge doesnât introduce any extra trust assumptions â youâre only trusting the two chains involved.
Before we dive into how the transfers work, letâs address the elephant in the room.
Considering the fact that all the chains on The Interwoven Stack are built using the Cosmos SDK â why canât the native bridge just be an IBC channel?
Well, thatâs because IBC transfers are instantaneous in nature and that doesnât work with the trust assumptions of our protocol. One fine day, a malicious Minitia operator could wake up and decide to maliciously insert transactions that shift the balances of INIT on the L2 and withdraw all INIT on their Minitia back to the L1. We donât want that, an oopsie like that one would be catastrophic.
Whereas, withdrawals to Initia through the Optimistic Bridge have a 7-day delay during which the Challenger can challenge and cancel the withdrawal in case itâs detected to be malicious.
On Initia we still want to ensure thereâs a seamless UX moving assets between Mintiaâs and the Initia L1. To enable rapid transfers from L2s we built a secure and custom solution called Minitswap, you can learn more about it here: @initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap â L2 to L1 Withdrawals in Seconds, Not Days.
Depositing tokens from Initia to a Minitia is almost instant. Hereâs how it works:
Pretty straightforward eh? Gets the job done without compromising on security!
Withdrawals are where things get a little trickier. While depositing from L1 to L2 is simple, the assumption that Minitias can always trust the L1 doesnât work the other way around.
Hereâs why: Initia is secured by a decentralized set of validators with economic stake, but Minitias are often run by a single or a tiny set of operators, that too without economic stake. So, when a Minitia initiates a withdrawal to the L1, it needs to prove itâs not acting maliciously.
Hereâs how a withdrawal works:
Withdrawals take a little while but hey, thatâs the trade-off for ensuring security! But, to provide a superior user experience for the Interwoven users, Initia has also built @initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap â which allows for instant withdrawals with pretty decent security guarantees by leveraging IBC and the OPinit Bridge.
Now you know how withdrawals work, but the challenge mechanism is still a blackbox â letâs dive into that next!
So, weâve learned in the previous section that a Minitia can potentially lie. Thatâs why the withdrawal period exists â to prevent fraudulent behavior from stealing tokens on the OPinit Bridge.
But whoâs responsible for stopping a fraudulent withdrawal? Thatâs the job of the Challenger OPinit Bot.
Aye, but when you delete an invalid proposal doesnât that mean the rollupâs current state is now invalid? Yes, and thatâs why we have a well-designed rollback mechanism.
On a successful challenge, the Minitia node can sync the state from data previously posted to Celestia as all the transaction batches of a rollup are posted to Celestia for DA, which comes in handy in case thereâs the need for a rollback.
To ensure the integrity of Minitiaâs state and make sure the Executor is not acting maliciously, the two Bots â Executor and Challenger â are designed to be separate entities.
But hold up, doesnât this give the Challenger way too much power? What if the Challenger acts maliciously and starts deleting valid outputs? Yes.
To prevent this, Initia has a checks-and-balances system handled through the L1 governance.
Both the Challenger and the Proposer (the one submitting the output) can be replaced through a governance proposal if they act maliciously. For the Challenger, malicious behavior means deleting valid outputs. For the Proposer, it means submitting invalid outputs.
When a proposal is created, Initiaâs L1 validators vote on it by running the L2 node themselves to verify whoâs right and whoâs wrong. This system ensures that no single entity can censor transactions or disrupt the flow of withdrawals.
It wouldnât be a product of Initiaâs work if we just settled with whatâs the norm without going the extra step.
Initia has made it damn simple to build your own rollup. Now, many of you would know that thereâs a lot more that goes into building a rollup than just hosting it. Thereâs a lot of periphery infrastructure you as a builder need to put together. Like indexers, oracles, bridges, etc.
Guess what? The Interwoven Stack comes pre-packaged with everything you need. ðĨ
With Skip, Initia is able to provide fast and up-to-date asset price data to Initia and every Minitia built on The Interwoven Stack.
Connect is an enshrined oracle sidecar service run by the Initia validators to push price updates on-chain. The implementation leverages two new features introduced in Cosmos SDK version 0.50: ABCI++ and Vote Extensions which let the validators themselves submit arbitrary data which is then stored on-chain to eliminate the possibility of price updates being censored by a malicious party by filling up the blocks with spam.
Once the price update is on-chain, developers can query it either through the CLI, the API, or the smart contract level.
But thatâs not it. Connectâs prices are relayed to each Minitia on The Interwoven Stack ensuring they have easy access to fresh prices out of the box on Day 1.
This way, the Minitia is not burdened with running the necessary infrastructure and they also donât need to find a third-party oracle provider, strike a deal with them, and spend resources on the integration. Itâs all handled for them!
To be truly interwoven, there has to be secure and efficient ways of communicating across chains on Initia. There are several ways to do so at the developerâs disposal and one of them is through bridge hooks on the Optimistic Bridge. Bridge Hooks are similar to IBC Hooks in functionality, which are used to allow token transfers to initiate contract calls. OPinit Bridge Hooks are used to initiate contract calls accompanied with transfer of assets bridged through the OPinit Bridge.
The Bridge Hooks on the OPHost update the bridgeâs metadata and the Hooks on the OPChild allow arbitrary execution of transactions on FinalizeTokenDeposit.
Weâve built it in a way where it supports multiple VMs, so be it EVM, MoveVM, or CosmWasm, the Bridge Hooks can execute arbitrary transactions based on the data field in the message.
For example, This is the data format for EVM chains
Minitias also come with a built-in indexer that automatically indexes and stores all the relevant data on the chain. The data is then exposed through a REST API that can be used to query historical data.
Tokens by account, NFT info, txs by account, you name it. Itâs all built in already.
Indexing is one of the biggest pain points when it comes to building apps on-chain and this definitely does quite a lot of heavy lifting! Running your own indexer can be both costly and cumbersome. With the enshrined indexer, developers can show token balances, NFTs, transaction history, and much more, without having to run their own indexer or getting a 3rd party indexer to support.
This Enshrined Indexer also enables out-of-the-box support for Initia Scan â Initiaâs blockexplorer for the L1 and each L2.
Well, itâs been a blast diving into The Interwoven Stack. Itâs a beautifully designed piece of technology that powers Initiaâs Interwoven vision. By building The Interwoven Stack as Cosmos SDK modules, Initia has re-purposed the SDK into a stack for building optimistic rollups, while still retaining all the benefits of the Cosmos SDK â which is pretty kick-ass.
Thereâs so much more to The Interwoven Stack that we havenât explored today, I highly encourage you to look at the codebase, and the bots codebase to understand it in more depth.
When all is said and done, one truth remains, Initia is where rollups truly belong. From the ground up, Initia has been built for Minitias to thrive. The Interwoven Ecosystem has already sparked innovation with Minitias like Blackwing, Contro, MilkyWay, Inertia â all of them are novel app-specific rollups that are going to be live and available to use from day one! All of them, enabled by The Interwoven Stack.
Thank you to Manan, Zon, and Sawit for contributing to this article.
āđāļāļĢāđ
āđāļāļ·āđāļāļŦāļē
The crypto ecosystem has had to adapt to the new reality â Initia was born into it.
As an industry, weâve had to accept the fact that a single state machine canât scale to match the ambitions of crypto. Scaling throughput while keeping the costs low for users and operators, all while rooting for an acceptable level of decentralization, is a battle thatâs almost impossible to win with a monolithic approach.
The reality is, the success of purely monolithic chains has become a contrarian opinion. Enter the modular vs. monolithic debate, which took center stage earlier this year. But hereâs the kicker: thereâs no debate at all. The future isnât one or the other â itâs a blend of both. A fast, programmable L1, paired with a suite of app-specific rollups that scale execution hand-in-hand with the L1.
The merits of the blended (or as we like to call it, Interwoven) approach becomes apparent when you look at Solana. In the past six months, teams have begun building their own custom ânetwork extensionsâ that settle on Solana. But wait â wasnât Solana supposed to handle scale on its own? Isnât that their entire branding?
You see, rollups are about more than just scaling execution. Theyâre also about sovereignty â giving builders full control over their execution environment. More TPS, lower gas fees (or maybe none at all), control over tx ordering & processing, and ownership over the entire economic stack of their business to name a few.
At this point, itâs clear: rollups are inevitable, and theyâre here to stay.
Initiaâs existence is built around this thesis. Itâs purpose-built to host a thriving ecosystem of interwoven rollups ðŠĒ, known as Minitias.
Initia is designed to be the home for thousands of Minitias working together in unison to provide diverse, powerful, and unique applications through a cohesive experience thatâs interwoven by design.
So far, two kinds of ecosystems have existed. Ones specifically built for the world of interconnected chains (Cosmos), and the second are the ones who took the bet on rollups post-facto (Ethereum, and now Solano). Each one with their approach has found some degree of success but not without their fallings, which are invaluable learnings to take when building the new model of an L1.
Initia bridges these extremes, itâs an L1 designed to support a network of interconnected L2s that ensure Minitia builders have everything they need to succeed. Itâs been built from day one to avoid the messy middle by having opinionated designs and asking the simple question â what do L2s actually want from a hub?
On Initia, rollups simply belong. Thereâs complete economic alignment between the L1 and L2s through @initiafdn/introducing-vip-5fe1a0177055">Initia VIP, the product suite is damn crisp, and the tech is purpose-built to ensure Minitias have oracles, bridges, liquidity, interoperability, native stables, etc. right out of the gate. The Interwoven Stack makes it super simple for teams to deploy a Minitia with whatever VM they choose â be it EVM, MoveVM, or CosmWasm.
Now, whatâs the most important component that enables the rollups on Initia? The Interwoven Stack â an optimistic rollup framework built from scratch for the Cosmos SDK.
Ready to see the magic under the hood? Letâs dive into the framework.
The Optimistic Rollup framework on Initia is made up of three components thatâĶyou guessed it, are pretty interwoven ð
OPHost, OPChild, and OPinit Bots beautifully come together like three pieces of the puzzle to form a collective that powers each and every Minita.
OPHost and OPChild are Cosmos SDK modules that form the core of the Stack, theyâre the parts that live on the chain. Since the OPinit Stack is implemented at the chain level rather than the smart contract level of a specific VM, it allowed us to build support for multiple VMs and give Minitia builders the freedom of choice.
On Initia, rollups are first-class citizens built directly into the chain. This has blessed us with flexibility to fine-tune the implementations and provide a superior experience.
The OPHost module lives on Initia (the L1). Itâs responsible for serving as the homebase for all the Minitias that settle on Initia. OPHostâs key tasks include:
OPChild, on the other hand, lives on every Minitia. Itâs like the heart beat of each rollup, itâs responsible for:
The OPHost & OPChild together form the Optimistic Bridge for each Minitia. One OPHost on Initia acts as the endpoint of the L1 for multiple OPChild modules across many Minitias.
Itâs important to note for rollups, the native bridge does more than message transfers, it serves as the HQ of the rollup on the L1. You see, two different consensus systems are unaware of each otherâs state machines, but a rollupâs bridge acts as the source of truth of the rollup on the L1 by submitting state roots or a similar output that can be verified against the rollupâs state to ensure correctness. This is why an L1 is often called the settlement layer.
But, now you may think â âWhat connects the OPHost and OPChild? Relayers?â Nah, thatâs what OPinit Bots do! As an extension of the above, two different consensus systems canât natively talk to each other without an off-chain process aiding them by acting as the physical link between their isolated state machines.
OPinit Bots are off-chain processes that handle critical actions between Initia and Minitias. There are two different bots â Executor and Challenger. In a nutshell, the two Bots together are responsible for:
In the rest of the article, weâll dive into how specific features are implemented in The Interwoven Stack and that should give yâall a clearer picture of how all the pieces work together!
One of the most important aspects of a rollup is that it inherits the security of the L1 it settles on.
You know what else is neat? The native bridge between an L1 and a rollup is usually the most secure way to transfer assets between the two. Thatâs because using the native bridge doesnât introduce any extra trust assumptions â youâre only trusting the two chains involved.
Before we dive into how the transfers work, letâs address the elephant in the room.
Considering the fact that all the chains on The Interwoven Stack are built using the Cosmos SDK â why canât the native bridge just be an IBC channel?
Well, thatâs because IBC transfers are instantaneous in nature and that doesnât work with the trust assumptions of our protocol. One fine day, a malicious Minitia operator could wake up and decide to maliciously insert transactions that shift the balances of INIT on the L2 and withdraw all INIT on their Minitia back to the L1. We donât want that, an oopsie like that one would be catastrophic.
Whereas, withdrawals to Initia through the Optimistic Bridge have a 7-day delay during which the Challenger can challenge and cancel the withdrawal in case itâs detected to be malicious.
On Initia we still want to ensure thereâs a seamless UX moving assets between Mintiaâs and the Initia L1. To enable rapid transfers from L2s we built a secure and custom solution called Minitswap, you can learn more about it here: @initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap â L2 to L1 Withdrawals in Seconds, Not Days.
Depositing tokens from Initia to a Minitia is almost instant. Hereâs how it works:
Pretty straightforward eh? Gets the job done without compromising on security!
Withdrawals are where things get a little trickier. While depositing from L1 to L2 is simple, the assumption that Minitias can always trust the L1 doesnât work the other way around.
Hereâs why: Initia is secured by a decentralized set of validators with economic stake, but Minitias are often run by a single or a tiny set of operators, that too without economic stake. So, when a Minitia initiates a withdrawal to the L1, it needs to prove itâs not acting maliciously.
Hereâs how a withdrawal works:
Withdrawals take a little while but hey, thatâs the trade-off for ensuring security! But, to provide a superior user experience for the Interwoven users, Initia has also built @initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap â which allows for instant withdrawals with pretty decent security guarantees by leveraging IBC and the OPinit Bridge.
Now you know how withdrawals work, but the challenge mechanism is still a blackbox â letâs dive into that next!
So, weâve learned in the previous section that a Minitia can potentially lie. Thatâs why the withdrawal period exists â to prevent fraudulent behavior from stealing tokens on the OPinit Bridge.
But whoâs responsible for stopping a fraudulent withdrawal? Thatâs the job of the Challenger OPinit Bot.
Aye, but when you delete an invalid proposal doesnât that mean the rollupâs current state is now invalid? Yes, and thatâs why we have a well-designed rollback mechanism.
On a successful challenge, the Minitia node can sync the state from data previously posted to Celestia as all the transaction batches of a rollup are posted to Celestia for DA, which comes in handy in case thereâs the need for a rollback.
To ensure the integrity of Minitiaâs state and make sure the Executor is not acting maliciously, the two Bots â Executor and Challenger â are designed to be separate entities.
But hold up, doesnât this give the Challenger way too much power? What if the Challenger acts maliciously and starts deleting valid outputs? Yes.
To prevent this, Initia has a checks-and-balances system handled through the L1 governance.
Both the Challenger and the Proposer (the one submitting the output) can be replaced through a governance proposal if they act maliciously. For the Challenger, malicious behavior means deleting valid outputs. For the Proposer, it means submitting invalid outputs.
When a proposal is created, Initiaâs L1 validators vote on it by running the L2 node themselves to verify whoâs right and whoâs wrong. This system ensures that no single entity can censor transactions or disrupt the flow of withdrawals.
It wouldnât be a product of Initiaâs work if we just settled with whatâs the norm without going the extra step.
Initia has made it damn simple to build your own rollup. Now, many of you would know that thereâs a lot more that goes into building a rollup than just hosting it. Thereâs a lot of periphery infrastructure you as a builder need to put together. Like indexers, oracles, bridges, etc.
Guess what? The Interwoven Stack comes pre-packaged with everything you need. ðĨ
With Skip, Initia is able to provide fast and up-to-date asset price data to Initia and every Minitia built on The Interwoven Stack.
Connect is an enshrined oracle sidecar service run by the Initia validators to push price updates on-chain. The implementation leverages two new features introduced in Cosmos SDK version 0.50: ABCI++ and Vote Extensions which let the validators themselves submit arbitrary data which is then stored on-chain to eliminate the possibility of price updates being censored by a malicious party by filling up the blocks with spam.
Once the price update is on-chain, developers can query it either through the CLI, the API, or the smart contract level.
But thatâs not it. Connectâs prices are relayed to each Minitia on The Interwoven Stack ensuring they have easy access to fresh prices out of the box on Day 1.
This way, the Minitia is not burdened with running the necessary infrastructure and they also donât need to find a third-party oracle provider, strike a deal with them, and spend resources on the integration. Itâs all handled for them!
To be truly interwoven, there has to be secure and efficient ways of communicating across chains on Initia. There are several ways to do so at the developerâs disposal and one of them is through bridge hooks on the Optimistic Bridge. Bridge Hooks are similar to IBC Hooks in functionality, which are used to allow token transfers to initiate contract calls. OPinit Bridge Hooks are used to initiate contract calls accompanied with transfer of assets bridged through the OPinit Bridge.
The Bridge Hooks on the OPHost update the bridgeâs metadata and the Hooks on the OPChild allow arbitrary execution of transactions on FinalizeTokenDeposit.
Weâve built it in a way where it supports multiple VMs, so be it EVM, MoveVM, or CosmWasm, the Bridge Hooks can execute arbitrary transactions based on the data field in the message.
For example, This is the data format for EVM chains
Minitias also come with a built-in indexer that automatically indexes and stores all the relevant data on the chain. The data is then exposed through a REST API that can be used to query historical data.
Tokens by account, NFT info, txs by account, you name it. Itâs all built in already.
Indexing is one of the biggest pain points when it comes to building apps on-chain and this definitely does quite a lot of heavy lifting! Running your own indexer can be both costly and cumbersome. With the enshrined indexer, developers can show token balances, NFTs, transaction history, and much more, without having to run their own indexer or getting a 3rd party indexer to support.
This Enshrined Indexer also enables out-of-the-box support for Initia Scan â Initiaâs blockexplorer for the L1 and each L2.
Well, itâs been a blast diving into The Interwoven Stack. Itâs a beautifully designed piece of technology that powers Initiaâs Interwoven vision. By building The Interwoven Stack as Cosmos SDK modules, Initia has re-purposed the SDK into a stack for building optimistic rollups, while still retaining all the benefits of the Cosmos SDK â which is pretty kick-ass.
Thereâs so much more to The Interwoven Stack that we havenât explored today, I highly encourage you to look at the codebase, and the bots codebase to understand it in more depth.
When all is said and done, one truth remains, Initia is where rollups truly belong. From the ground up, Initia has been built for Minitias to thrive. The Interwoven Ecosystem has already sparked innovation with Minitias like Blackwing, Contro, MilkyWay, Inertia â all of them are novel app-specific rollups that are going to be live and available to use from day one! All of them, enabled by The Interwoven Stack.
Thank you to Manan, Zon, and Sawit for contributing to this article.