Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Barry: Dymension – Modular Blockchains and RollApps
Episode Date: March 31, 2023When it comes to scaling blockchains, there are 2 main types of off-chain solutions: sidechains and L2s (i.e. rollups, state channels). These are all intended to scale monolithic L1 blockchains. Howev...er, the core functional layers of a blockchain could also be reinvisioned as customisable building blocks. This idea led to the creation of modular blockchains, which handle execution, consensus and data availability separately from one another, thus considerably increasing throughput.Dymension is a Cosmos modular blockchain hub that acts as settlement layer for RollApps (app-specific chains).Sebastien was joined by Barry, Head of Product at Dymension, to discuss the advantages of developing modular blockchains, their scalability and how RollApps integrate in this environment.Topics covered in this episode:Barry’s backgroundThe evolution of scaling solutions & Dymension’s RollAppsThe nuances of different types of rollups (L1 vs. L2, Ethereum vs. Cosmos)The scalability trilemma and modular blockchainsCosmos’ ICS scalingThe architecture of Dymension and its RDKHow RollApps choose the data availability layerRollApp interoperabilityIncentivising sequencer neutralityNetwork roles in Dymension and differences between SDK & RDKUse cases & limitations of RollAppsFuture roadmapEpisode links: Barry on TwitterDymension on TwitterDymension's websiteThe Interop Podcast on TwitterCelestia on TwitterThis episode is hosted by Sebastien Couture. Show notes and listening options: epicenter.tv/489
Transcript
Discussion (0)
Welcome to Epicenter, a show which talks about the technologies projects and people driving decentralization and the blockchain revolution.
I'm Sebasti Inquicchio and this is episode 489.
Today I'm speaking with Barry, aka Shaolin of Dimension.
Dimension is a protocol to build application-specific roll-ups and they are building this as a cosmos app chain.
I go deep into application roll-ups on Cosmos with Barry in this episode.
This episode is actually recorded on my podcast, The Interop, which is a podcast where I dive deep with founders and builders in the cosmos and interchained ecosystem.
If you want to subscribe to that, you can find it on YouTube.
Just search for The Interop and I record weekly episodes there.
And we're posting it here this week on Epicenter because we thought this was an interesting topic.
that you guys would also appreciate.
So without further ado, here's my conversation with Barry of Dimension.
Hey, Barry.
How's it going? Glad to be out.
Yeah, thanks for joining me.
This is, we've been like trying to plan this for a long time and I'm glad we're finally getting it,
getting around to it.
And like, Dimension is, it's a product and a protocol that, like, I've seen a lot of.
Obviously, you know, you guys are everywhere on 20,
Twitter and, you know, sort of announcing cool partnerships.
And, but haven't spent a lot of time like diving deep into the protocol.
I've done a lot of research for this.
I've got like tons of questions.
And so I hope to really get to the bottom of how dimension works, how it scales,
how it allows developers to build scalable applications.
But also, I want to talk about how, you know, how the, how the narrative around scaling has
changed over the last couple of years.
I think people don't realize just how much that whole narrative has changed and how much roll-ups and interoperability infrastructure is allowing that to get.
So thanks for coming on and right before we can have this conversation.
Yeah, yeah.
I know we talked about me coming on about two months ago and I was like wait for TestNet.
We'll schedule something.
Then something fell through.
We released TestNet in February.
Now it's at the end of March and we're releasing another stage of TestNet soon.
so we could talk about that as well.
But there's so much to cover.
So, like, where do we start?
Yeah, well, I think we can start with, yeah, a little bit about yourself and how do you,
how you came to become part of this team and how you got into crypto.
Right.
So my name is Barry.
I'm kind of like, I'm a DJN pretty much.
I've been in cryptos for a decade or now or so in the weeds, out of the weeds,
in the community aspect, in the technical aspect, and the big.
business aspect. I started in crypto in 2013, if I remember correctly, mid-2013 in the
Dogecoin community. Those were good times where it's like you're skating by kind of the law
with the Silk Road back then and the Bitcoins and the Dogecoin where we were fundraising
the Jamaican bobsledding team, if anyone recalls correctly.
I do. I do. That was one of the first Epicenter episodes. We really.
We were talking about this.
Yeah, yeah, yeah.
We were talking about how Doge-Kron hedge funded the Jamaican bobsled team.
Oh, my God.
Right.
Yeah, it goes back.
That's what brought me into crypto.
Like, back then when people were just tipping each other on Reddit,
that's what, like the community aspect is what brought me.
A lot of people in my position come from the technical aspect.
And I studied engineering in university and different business courses and degrees.
But what really keeps me here is the community.
And what brought me here was the community back then.
Over time, I worked in different jobs, different protocols.
And I came with the team.
The team is founded in Israel by a bunch of engineers, PhDs, and business people.
They were working in the ZK space primarily on the Stark ecosystem.
And then they were like, hey, we're moving to the cosmos ecosystem.
them and they talk to me about me coming in as a leading product. And for me, product is
awesome because I could hear like what the community wants, where the tech is, and kind of
put the pieces together. So for me, I think it's been a great experience. It's been a great
learning experience because there's so much to learn. And every day the protocols are evolving
for myself, for the community, for all of the protocols that are leading to charge in the
modular space and the role of space. Everything's changing so rapidly.
All this new information and then the quick reiteration and implementation into the products is one of those things that's kind of rare in web, but very common in crypto is like this rapid pace of innovation.
And people may not see it in like the token prices, but the tech is going crazy.
The tech is really expanding.
And as you said, the roll-up architectures and the roll-up idea is really just kind of gone out of performance.
portion now, like everyone's building roll-ups.
Yeah, it's crazy how the narrative has changed in the last couple of years, because,
you know, scaling has been sort of a topic that has followed me in my crypto career.
You know, I started about the same time as you, and, you know, obviously there was like the
Bitcoin scaling debates, right? And a lot of the kind of primitive arguments,
or the primitives for the arguments of scaling began then.
And then Ethereum started having its issues with scaling.
And there have been multiple conversations that sort of evolving narratives around Ethereum scaling over the last seven years.
And now it seems like there are people have more ideas about how to scale decentralized applications.
But it just like it still feels like there's tons of solutions for scaling.
nobody has like a clear um i mean there there isn't like a clear vision for scaling there's like
multiple visions for scaling you know how how do you perceive this narrative change over the last
couple of years and you know what's been sort of the major accelerator for where we're at now
in terms of scaling so it's an interesting point because cosmos also scales right you have ethereum
which is the idea of ethereum is like this world computer where everyone does the financial
transactions and non-financial transactions.
And there's like this decentralized world computer.
Whereas Cosmos comes in a few years later after Ethereum's launch.
And they say, hey, we could have these sovereign interoperable communities.
It doesn't have to just be one chain.
And I thought that was really cool.
Like you have these interoperable chains versus this one computer where everyone is kind
of fighting for block space.
And that was the issue with Ethereum.
you have Arbitram come along
more recently at least
and optimism and they're doing these
roll-ups quote-unquote
where they're processing these transactions
off-chain and putting the data
and state on-chain.
But it's kind of different than
the cosmos idea, which was
you can have these sovereign communities
in these applications and then interact
with each other more asynchron or more like cross-chain.
And this is where
kind of dimension comes in, is that they look at
arbitram and optimism scaling the idea of one blockchain, the main blockchain of Ethereum
Mainnet, whereas Dimension comes in and says, hey, Cosmos is an amazing idea. It's really
incredible interoperability, the tech that they built out, the tendermint and IPC from Cosmos
has been built out and it's been standardized and formalized. And we could expand on that
by doing these roll-ups on top of cosmos.
So instead of scaling one chain,
we're trying to scale a network of chains.
So people can deploy rather than using a validator set of 50 validators or 100 validators,
you can use one or two or three nodes,
but you're tapping into the decentralization of the quote-unquote base layer,
which is the dimension chain, which is a cosmos chain.
And you're inheriting this security.
you're inheriting this decentralization,
you're inheriting the stake that exists on,
or the bonded capital that exists on the cosmos chains themselves.
So the idea is pretty much it's roll-ups,
but instead of scaling one network,
we're trying to scale a network of networks.
Yeah, for me, I think the first time I heard of this idea of app chains
was in Cancun,
Sunny was giving like a talk to a small,
group of people in one of the rooms at this hotel and presenting his vision for app chains.
And it kind of clicked for me at that moment.
And that's when I think I really got on board the app chain vision or app the chain thesis
and started looking at like these kind of sharding solutions that Ethereum or the Ethereum
community was discussing at the time as not long term viable, at least not the right kind of
design choice. And what's interesting is how, you know, I think one of the prevailing narratives now
is these kind of like sovereign roll-ups or sovereign zones or, you know, even app chain like
things, even in the EVM world and how things have kind of come back around to that construction
or that design pattern. How does Dimension borrow from that design pattern? Yeah. So did I mention
in a way can be seen as like a super modularized and broken apart Ethereum.
We have these execution charts, which are the roll-ups.
Then you have a settlement layer in between, which is the Ethereum main at smart contracts.
Then you have these data layers, which could be like data availability committees or something in Ethereum.
For dimension and how it integrates into cosmos and how it scales the cosmos is that you have these execution charge, which are the roll-ups.
And for the user, it's just.
like interacting with the cosmos blockchain.
You have the minting, you have the banking,
you have the staking, or different forms of staking,
and there's some adjustments to the Cosmos SDK that we make
for the RDK, the role of development kit.
And then you have the settlement layer in between,
which is the Dimension Hub,
and it's a Cosmos blockchain that connects all the pieces together.
And then you have these DA layers.
And a primary one would be like a Celestia,
which people are very familiar with now.
And it's going to be the most...
scalable DA because they're using like client sampling and these really cool mechanisms.
But in Dimension's eyes, any Cosmos chain can be a blockchain.
It can be a DA layer.
So all they have to do is be able to accept that data.
Someone from a VOLAP just posts the data to that blockchain and the state route to the
dimension hub.
And then it kind of connects all the pieces with IBC.
So in a way, you can consider it like a super modularized and broken apart Ethereum.
but also it's also scaling the network of blockchains of cosmos so as you said the idea is kind of
mesh together and you start getting these fuzzy barriers that you see like sovereign
blockchains on ethereum you see uh smart contracts on cosmos but in truth the
the ecosystems kind of mesh together and eventually i think they will interoperate with each other
when like there's like snarked like clients and ibc working like back and forth
Yeah, before we get into Dimension, there's one thing I want to talk about and sort of ask you about.
And so when we're talking about roll-ups, you know, there's all sorts of terms that are thrown around.
Like there's sovereign roll-up, there's execution roll-ups.
We were talking earlier before the show about validityams.
Yeah.
Yeah.
I still have a hard time wrapping my head around how these things are different in terms of their sovereignty, in terms of
the developer experience,
but also the use cases for which each of these,
and maybe other, like Celestium and how each of the,
and then also thinking about that in the context of app chains,
and smart contracts, how do you see the differences
between these different things and these different configurations
and how should developers reason about which to choose
when building an application?
Yeah, I agree with you.
I think that's one of the most unfortunate things about blockchain.
is that all of the definitions are fragmented.
So you have people on the Ethereum saying,
a roll-up has to use the same L-1
or blockchain for posting transaction data,
for posting state updates,
and it all has to be contained to get full security from that chain.
That's arguable.
That's understandable as well.
You can also say that a roll-up just processes transaction off-chain
and posts the on-chain,
and then that's also a roll-up.
But in essence, what roll-ups versus sovereign roll-ups versus enthrined rollers versus relitiums,
it really just depends on where the off-chain execution client post the data and the state.
So, for example, on Ethereum, it's considered a roll-up if it uses Ethereum-mainnet,
full economic and full decentralized security to post-transaction data and state updates.
For a sovereign roll-up, there's like these new phenomena
that are arising from using these specialized blockchains
called the DA layers, or what's commonly known as Celestia,
as one of the protocols building this.
And it just, it posts the data on-chain
and then it handles the state and settlement
on their own layer.
But so it's, you can argue either way,
I think it's much easier to say like,
what's an L2 and what's an L1 versus what's a roll-up versus what's not a roll-up.
So sovereign roll-ups pretty much are L-1s that post data to Celestia.
And Ethereum roll-ups don't are L-2s because the smart contract on Ethereum manages what is the proper fork,
or what is the correct state and what is the correct chain.
So for roll-ups on Dimension, like that's the definition.
of what's the correct chain is defined on the dimension hub.
For sovereign roll-ups on Celestia,
that definition of what's the correct chain
is defined on the roll-up player and not on Celestia.
For Ethereum, that's defined on the smart contract,
even though there's a lot of debate in the Ethereum world
that I tried to not get into.
Because a lot of people talk about semantics,
but practically for the developer,
security matters a lot,
but it's kind of like choosing the tool set from the cosmos with a dimension included
or choosing the tool set from Ethereum with like the OP stack.
So I think those are kind of like the divergent paths right now,
which is the Cosmos SDK versus the OP stack,
which is getting much more popular.
But in terms of like what's sovereign, what's not,
that's kind of people could argue semantics the whole time.
and whatnot, but the most important thing is, like, bringing users and bringing applications
and bringing developers.
Yeah, I think that one of the things that strikes me here is that, you know, we're looking
for years, we've been talking about, like, how to scale blockchains, how to scale, like,
how do we scale blockchains?
But it almost feels like the wrong target.
You know, we don't need to scale blockchains.
We need to scale decentralized, censorship-resistant.
applications. And the way we end up with applications that inherent the properties of
blockchains and that their sensors are resistant, they're secure, they're immutable, right,
like all the things that sort of came from Bitcoin. The way we scale those applications is by
having infrastructure that allows them to retain those properties while being usable.
And it doesn't really matter what underlying infrastructure there is. And you might want to,
you know, you might reason about, okay, which are the tradeoffs that your application is going to make
on the, on the kind of like blockchain trilema for each of those layers. But you can sort of, you know,
you can you can decouple. And that's what the modular blockchain thesis is trying to do, right? You decouple each of
those layers such that the application retains those properties, even though there isn't like a one thing
underneath it that is fully decentralized. And then, and we haven't gone.
gotten into yet, like, you know, decentralizing other parts of the infrastructure, like the
RBC, like, you know, the wallet and this sort of thing. But, but ultimately, I think that's like
a good way to look at where things are going is that we need to keep our eye on the prize, which is
the user, what the user interacts with needs to retain the properties of a blockchain. The
infrastructure itself, you know, we can, we can break that up in a million pieces and probably
will, right? If we look at how technology and like internet technology has evolved over the last 30
years, that's exactly what happened. This is probably what it's also happening here.
I think decentralization is a spectrum. So there is Bitcoin on one end where you can run your full
node from Genesis and be sure like you're on the proper chain. Then there's chains like
Ethereum where you're kind of either delegating tokens to a protocol that lives on the protocol.
which lives on the interior main at Lido or Rocket Pool,
and you're not really running your node,
you're running your node from snapshot,
like from a particular state.
And that's kind of the same thing with Cosmos chains
where most people aren't running their full node to interact with the system.
So you have to choose as a developer,
more so than a user,
because the user doesn't really know which chain
as like a regular user.
As a regular user, they don't know which chain is decentralized,
which chain is.
They're not really comparing
the centralization aspects of
optimism or arbitrauma
and we let that
for the experts.
But for the user,
they just want to make sure
that they're secure,
that they're not going to lose funds,
that they're not going to lose funds
by like some weird bridge attacks
or attacks in general.
But decentralization's
spectrum for both
for developers to understand
and core blockchain developers
as well.
So DAP developers and blockchain
developers like bitcoin is one of the and probably is the most decentralized protocol just because
you can run a full node from genesis and know that you're on the right chain yeah i mean i i'd love to
talk more about you know this kind of uh high level vision stuff and this is the stuff i find
often the most interesting this is one last thing i want to talk to you about before we get into
dimension and and talk about more more technical things is you
I mentioned at the top that you don't think that interchained security should scale to more than five chains.
So, of course, you're referring to Cosmos Interchain Security.
Why don't you think that Interchange security should scale to more than five chains?
Interchain security puts more effort on the validators.
So if I'm a validator and I want to secure or Adam wants to secure, for example, 10 chains, 50 chains,
then in its current version,
I'm not saying the future versions
because the future versions
kind of partitioned the work
that each validator needs to do.
But in this current version,
I don't think it should scale more than five chains
just because you start centralizing the applications
and you want to make sure you're not hurting
the actual atoms value
as you're getting more and more chains.
So you don't want to start deploying a bunch of chains,
kind of shit coins that devalue the atoms efforts because each validator is taking that same atom
and that same amount of capital for each individual chain. So as you grow the amount of chains,
the likelihood for those chains to compensate for that effort is probably negligible,
where there's like a negative expected value as you increase the amount of chains. But there are
chains that I think should be secured from day one, like a USDAC, a generic asset, asset issuance
chain, a liquid-staking derivative chain, things that really flow in the interchain.
So you don't want those to be economically attacked.
But there's chains that, like, there's no reason for them to be secured by 50, not 50,
they wish, $3 billion in market cap.
But, you know, that's kind of my opinion.
I think it makes sense, especially for validators, after speaking.
with a lot of validators.
They don't want to secure every chain or they don't want to run the
binaries of every chain just because that team decided to participate.
They want to things that are both economically beneficial for themselves and by
product the atom token as well.
Yeah, that makes sense.
I mean, I think that obviously things like noble, some,
like a liquid staking solution, things that are kind of core to the cosmos hub and more broadly
the cosmos ecosystem.
And I think it makes sense.
Also, those are the things I think that for validators can make money.
But, you know, I don't see a point for like having a Chihuahua chain or something similar
to that or, you know, some like kind of user.
I think, I think that interchained security should be reserved for.
infrastructure or defy primitives primarily.
For Adam, right?
Because I think other chains are considering using interchained security as their own chain as well.
So like if Chihuahua chain wanted to secure other chihuahuas or other yurkey chains,
that that makes sense.
But for Adam, because Adam's like a special chain, it's the first chain in the cosmos.
So I think it should secure as like as core.
of interchained protocols as there are.
Yeah, absolutely.
All right, so let's talk about dimension.
We've gone on long enough here.
Yeah, so can you describe the different components of dimension
and, you know, looking at each layer.
So, you know, we have like roll-laps.
Those are the dimensions.
And you talked about this a little bit earlier,
but let's break each layer down and how they interact with each other.
Yeah.
So dimension I consider, and it's kind of like a subjective
consideration and point of view, even though I'm a builder of the chain, one of the builders.
I believe Dimension is the layer two of the cosmos, and it's the layer of two of modular
blockchains, and the layer one of Cosmos are the monolithic app chains.
Now, Dimension Hub is a Cosmos blockchain that is similar to other Cosmos blockchains, like
Osmosis, Juno, and others. There are different implementation, but at its core is a tenderness
it's Cosmos SDK chain, or Comed FBT, BFT, sorry.
It's connected via IBC to other cosmos chains.
And then what happens is on this dimension layer two are these modular blockchains.
The modular blockchains, and why are they modular blockchings and monolithic blockchains?
It's because they handle execution or transaction processing off chain.
You get a very low latency.
And then they post the data on chain and the state routes on chain.
So someone could easily verify, hey, like, this data doesn't match the state route.
I downloaded it.
So like what's going on?
So they could submit what is called a fault proof or fraud proof or validity proof, whatever you want to call it.
So that's the point of dimension is that dimension, all the rollups are modular blockchain.
So it's an ecosystem, a Blair 2 blockchains in the kind of IBC world.
Those relaps, for example, they're not using the Cosmos test.
and tendermint of what a Cosmos blockchain actually does or uses.
They use what is called the Roll-Up Development Kit or the RDK for short
and it replaces or changes a few of the modules of the Cosmos SDK
for not having validators instead of they have a sequencer.
So it's kind of like this block producer that posts the data off-chain.
And then they use Diamond, which is a fork of tantament,
non-tendment optimist, which was initially a year ago forked from that protocol.
That protocol optimum is built by the Celestia team for building sovereign ruleups.
But instead of that, we decided to remove that aspect of sovereignty on the on the roll-up layer.
And it posts the data to a DA layer like Celestia and it posts the state to dimension.
So it enshrines dimension as a settlement layer.
Now, what does this provide?
Why not use a sovereign roll-up instead of a roll-up?
Is because the speed, you get significant speed increases when you use an enshrined settlement layer versus a sovereign roll-ups.
So sovereign roll-ups, they gossip the blocks to each other per block.
So, like, there's a sequencer opposed to a DA layer, and then all the nodes in the
network communicate with one another and they see if the updated state is the correct one.
So it's like one block, one block.
You can imagine it's much slower than what roll-ups do.
And what roll-ups do is that there's a sequencer that batches all these mini blocks together.
So you get very low latency of like right now we're running on the test net of zero point a second
soft finality on the roll-up.
and it boasts the batch of blocks to the DA layer
and opposed the state routes to the settlement layer.
And the settlement layer has a period of X amount of blocks
to say, hey, someone can submit a fraud proof or a dispute
and say, hey, like, this block producer X blocks ago said
the state was supposed to be Y, but it's really X.
So the dimension hub is the arbitrator between the ecosystem.
This is like the difference between sovereign
roll-ups and what are roll-ups, which is kind of like an enshrinement of the settlement later.
Okay.
So I've got to couple questions here about basically like why you're building this.
So what I was, so I read through the white paper and it sounds like this roll-up development kit,
this RDK is a fork of the cosmos SDK, which has, uh,
new modules that enable roll-ups to be deployed.
I guess in terms of efficiency and
leveraging existing infrastructure,
maybe I'm missing something here.
Maybe this is a stupid question,
but why not just build those modules
into the Cosmos SDK and allow basically any existing
Cosmos SDK chain to support Roll-A
so that you could have like roll laps on the cosmos chain and you know benefit from its security or roll lapse on on on on on osmosis and benefit from its security why why build an entirely new infrastructure to do this when we already have things that are highly secured that can provide data availability and settlement
just you know building those modules into those chains or is there something is that possible or like am i totally missing something here i think it's possible but what dimension provides is
is the ability to arbitrate and to prove a different environment that it's the correct environment.
So for example, if you have a roll-up onto injective, if I'm not mistaken, and it's a Solana roll-up,
and injective is a wasam, then the injective has to be able to understand the what's going on,
the state machine logic and everything, what's going on in the roll-up.
So what we say, like, chains don't need to go crazy and start beefing up their minimalistic
app chains and become settlement layers and DA layers because it's quite a complicated process
for actually understanding different execution environments to actually handle the proofs, to verify
the proofs of either ZK proofs or fraud proofs.
So what dimension does is two things.
says the cosmos chains, they don't have to do anything.
All they have to do is be able to accept data,
and then the roll-up can post the data to that Cosmos blockchain.
So the demand for the token and the demand for the block space of the Cosmosis
blockchain increases.
So it inherits a part of the security from the DA layer.
And that's because all the transaction data doesn't go to dimension.
It goes to the DA layer.
And that's either osmosis or osmosis roll-ups,
EVM for EVM roll-ups,
Celestia for generalized roll-ups
that don't want to pick a specific app chain
because that's kind of like the core.
If I mentioned, people say it's roll-ups.
It's really more similar to volidiums
in the sense that the roll-up sequencer decides,
hey, which chain do I post the data?
Which block space is going to,
which block space am I going to pay for?
So for the app chains that already exist, they don't have to change much.
They don't have to change anything for a lot of them.
But why is dimension built in the middle?
It's because it handles those different virtual environments, those different execution environments.
So it handles the proofs, the ZK proves, the optimistic fraud proves.
And that's the purpose.
And then it becomes a bridging hub between all of it.
But the roll-ups themselves, they still inherit a lot of the security from what,
whichever respective DA layer that they choose.
Okay, I think that makes sense.
So just to recap here, at the top, we're going to have roll-ups,
and we'll get into the different types.
But here you can, you know, currently there's an EVM environment.
There's a Cosmwasum environment.
So people can deploy contracts there.
They can deploy apps as EVM or Cosmwasum.
The dimension chain, which is a Cosmosis SET chain that has a validator set,
what it does is it is able to understand proofs from each of those environments and potentially
other environments in the future you want to build like Solana VM or you want to build I don't
know like whatever you can you know build any any VM on top of that it's agnostic and then
it's agnostic and then data availability that that will post so that's basically the settlement
layer and then it'll post a data to data availability chains like Celestia could be one of
That's generalized data availability.
But it could also post to the Cosmos Hub to EFMOS to any, to, it doesn't need any specific permission from Osmosis to like post data to Osmosis.
Anybody that that chain can post data there.
So for each app chain, they will need to either include a module or a smart contract that accepts the data because their app chains at the core.
It's like Bitcoin.
Why is Bitcoin a dealer now?
because they accept like in the script or whatever it is.
Arbiturne.
Yeah, the ability to post arbitrary bytes of data.
And that's the same thing for any chain.
So any chain could be a D layer.
And what happens is Dimension Hub bridges all the all the relaps to the IBC world.
And why, I mean, why couldn't like Cosmos Hub or osmosis or any other chain just integrate
whatever logic, like, whatever logic that Dimension Hub has?
as to understand, you know, these, like, to understand the proofs from, from higher layer roll-ups,
what is preventing, say, osmosis?
I mean, like, would there, is there, would there not be an incentive for osmosis to also,
or the Cosmos hub to also integrate that logic in order to support an ecosystem of roll-ups?
We just haven't finished building.
So.
They have to wait.
But the truth is it's an open source ecosystem.
And at the end of the day, as I know very well, that a lot of it is community.
So if the Cosmos Hub decides to take a module and if Osmosis to take a module and we take a module from Osmosis, it's an open source community.
The tech is a small part of it.
It's not a small part.
It is the core part.
It's the foundational part.
But anyone could take open source code.
We have very open licenses.
We open source everything.
We've been building in open from day one pretty much.
We don't close source anything.
People could take our modules.
At the end of the day, you can't take intellectual abilities
and the team's focus on this particular core mission from day one.
We've been really focused on.
So we understand the ins and outs and things that people don't talk about in the public.
we understand and things that people do talk about in the public.
So at the end of the day, you can take modules that's pretty easy.
It's almost as easy as copy and paste,
but there's much more core things to building a blockchain protocol than taking a module.
Yeah.
And what is the, I mean, does the dimension chain have any particular interest in posting data to the hub or Celestia or osmosis?
Or is that a function of the application and what it's doing and what it's interacting with?
Or all those data availability are sort of at an equal level or like offering similar security?
So dimension chain is a tendermint chain.
It doesn't post data anywhere.
It's like their own validators.
But the roll-ups do post two different chains, right?
So there's a dimension which is a tendermint chain.
And it's like osmosis, you know, you don't, it's not a roll-up of anything.
Dimension Hub is not a roll-up.
Dimension Hub is a chain.
It has the, this is why it's IBC connected from day one.
This is why people could go to the TestNet and interact with a roll-up and also interact with IBC
because all of the IBC goes through the dimension hub, which is tendermint or come at BFT soon.
Okay.
That's like a core aspect that a lot of people don't get.
people think of like dimensions that roll up on Celestial or people it's a
whatever it's not it's a settlement layer it's a settlement chain the the the a agnostic part
is where the roll-ups can post to whichever ibc connected chain that is connected to a dimension
i hope that's a little bit better. And so a roll up a roll-up i mean in choosing in like say you've got
a roll-up what like what goes into choosing which chain they
would post their proofs to.
So where they would post their data to, right?
Because they're posting the data.
Their data, sorry.
Yeah.
So they're posting the data first has to be approved by Dimension Hub governance.
That dimension has to, they have to say, oh, like this DA is secure enough.
Like we believe that it's decentralized.
It's like a community thing.
So the first one that will be, of course, use this Celestia.
The Lesia has been proven to really be experts in this field.
They've been proven.
to show how they could scale the DA part,
and it's very easily verifiable where the data is,
especially when you're talking about autonomous cross-chain communication.
So that's a core protocol that's going to be a part of Dimension.
But we could also say, hey, like eventually Emmos wants to have some EA as well
to fill up their block space.
So then Dimension Hub could approve EMS,
and now Roll-ups have two options.
They could post data to EVMOs,
or they can post data to Celestia.
Now, which one are they going to choose?
One of the core decision processes is which one is cheaper.
That's because the sequencers that run the roll-ups actually pay for a transaction
bytes.
And which one's going to be cheaper is like it's a market or it eventually will be a market.
And that's probably like which one's the most scalable?
Interesting.
Okay.
Yeah.
So it comes down to then, yeah, the availability.
of block space and the cost of storing that data and post in that data to chains.
In terms of interoperability, so you mentioned that the dimension chain is IBC compatible.
Do the chains, do the roll apps themselves interact directly with other IBC apps, contracts,
etc?
Or does it have to go through dimension?
How does interrobability work broadly?
So Dimension Hub has a dimens-like client, which is the like client of the roll-up.
And the roll-up sends that message, the sequencer sends a message to the Dimigent Hub via IBC.
And the Demergent Hub looks internally and says, hey, did this dispute period end?
Is there a fraudulent state?
And by looking internally, they could then allow people to bridge out.
So IBC goes through the dimension hub because the dimension hub looks at the internal state and says, okay, like this roll-up is good to go.
This roll-up, something happens, so we're not going to allow bridging.
You know, it depends on what the internal state is.
And then by being IBC connected and you can use like packet middleware, you can get these one-hop IPC transactions or one-IBC transaction from an EVM chain or a Cosmo chain to a rollo.
Interesting.
But in your white paper, there is this IRC, this interchain roll-up communication.
How is that different from IBC?
So IRC is pretty much not different than IBC.
There is no difference between IBC.
It uses the IBC protocol.
It just adds a client type to the IBC protocol.
IRC was formulated a year ago, but now that we've kind of ossified or beginning to ossify what is the IBC protocol for roll-ups, then it's just we've made some adjustments where we could.
One of the core aspects in our decision and design process is to be as compatible with the community as it is.
So being as compatible with the Cosmos SDK, being as compatible with IBC,
Those are two critical things that we want to keep.
And we were able to keep IBC as it is.
So eventually you could use interchained accounts, interchained queries,
all the applications that are built on top of IBC will be able to be used in roleups as well.
Okay.
That's very cool.
So talk about the, what's the role of sequencers?
Where do they sit in all of this?
And how are they incentivized to act honestly?
So sequencers post capital to the dimension hub, and this could be in the form of dime token, which is the dimension protocol token, superfluous staking from osmosis, which uses the LP of dime and the roll of token or the roll of token itself when approved by governance.
So the sequencer posts capital on the dimension hub, and then they get this block production time.
they get allocated X amount of blocks.
So if there's a marketplace or if there's a permissionless sequencing,
then whoever posts more capital,
then they get more block production time,
similar to like a delegated proof of stake.
Those guys, they get a portion of the revenue
from operating this Rola.
So they post the data.
They pay for publishing the data.
They post the state.
They pay a little bit for updating the state.
But then they get all the revenue.
And it could be in terms of minting, it could be in terms of transaction fees, it could be in terms of MBB.
However, the protocol decides to capture this.
A lot of the rewards can go to the sequencer to pay for the operating cost.
So it's kind of like similar to a block producer on the on the blockchain, on a regular blockchain.
But instead of everyone downloaded their own data, the sequencer is trusted for,
for that period and then they post the data on chain.
And then someone else could come and download that data
and say, hey, that was incorrect
and I could prove it to the dimension hub.
And by this, you have this one of N trust assumption
instead of like a two thirds trust assumption.
And so like if the sequencer is doing something invalid,
if they post like an invalid state transition,
then someone, we just need one actor to prove
that they're actually posting something that doesn't make sense.
Okay, so it's an optimistic roll-up design.
To an extent, we use ZK for parts of the protocol,
but because ZK has inherent latencies
and just the tech isn't there to fully integrate into showing the correctness of state updates,
then we are focused on doing optimistic roll-up
and integrate in ZK in less stateful things.
Okay.
Can you expand on that a little bit?
Yeah, so one of the aspects is,
so there's two aspects.
One is a sequencer withholding attacks,
which it's a bit in the weeds where like this,
even though the DA.
Good.
Yeah, so a DA sampling and what people are aware of
is that how do you avoid data withholding
attacks by block producers on the on like the data availability chain or the L1 chains for
L1 chain for regular like Ethereum all of the validators download the data and they check the end
result for D a change the the light clients sample the block producer because what happens
on like Celestia for example is the the consensus network is very light that a sequencer or so
one post the data but there's only like a commit to the data on the consensus network
and all the data goes to the DA network.
The DNA network, a lot of sampling goes on to probabilistically determine, like, the
sequence, the block producer on the consensus network of Celestia isn't hiding any data.
Or like that commits and contains all the data.
But that doesn't prevent a sequencer from acting maliciously.
So the sequencer is operating on a different layer than the celestial network.
So the sequencer could gossip blocks to their people.
which may not be the same block to the DA layer or vice versa, whatever it is.
So we have to make sure that the sequencers that are operating on dimension,
that when they post data to a chain that they have to prove to the dimension chain
that all the data that was posted was actually posted by them.
So we could kind of ZK proof that they were actually posting the data
there's another way to, if you have a fraud proof,
instead of rerunning the whole state machine,
like someone comes and the Dimension Hub instead of actually virtualizing the machine
and then rerunning the whole state against the logic and the context,
you can do a ZK proof of the fraud proof,
which kind of shows, hey, like this input is not the correct output
of what the sequencer did.
And these are also things that we're just only researching.
But at the end of the day, the ZK protocol,
or the ZK aspects of dimension will be there
and will be integrated.
There will be in aspects that don't require low latency.
So for example, the roll-ups require low latency.
One of the main selling points of a roll-up
is to have very low user experience latency,
0.2 second, you could go lower. It's configurable.
So that's because it's a mixture of optimistic design for publishing data and also the batching,
the batching process of quick blocks. But when you have ZK, it's the latency becomes much slower
or much larger, even if you increase like the prover requirements or decrease the prover
requirements. So for us, we integrate ZK in aspects that don't need necessarily.
to be low latent or very fast.
Okay, so when you're dealing with aspects that don't require low latency,
you can leverage ZK, but in other aspects,
you're leveraging this optimistic design that has much higher latency,
or much lower latency.
Yeah, right, much lower.
And at the end of the day, it's a settlement layer,
so it'll be able to take in ZK proofs of roll-ups that are run by by Provers,
sequencers that are actually running on like executing the ZK logic,
but that's not scalable or the tech isn't there for everyone to just run a ZK
prover and to have this kind of system.
It's much more scalable in the near future and the midterm future as well,
is to have all these roll-ups to have just regular nodes operating the sequencers instead of these provers.
So in the event of a dispute, what's the resolution time that's expected,
or is that variable depending on the type of application?
You mean like the dispute period?
Yeah.
Yeah, that's, so it's configurable in the dimension hub right now for enshrined settlement
contracts and enshrined settlement layers,
optimism, arbitraim we're using seven days.
We can use that.
It's not an empirical study to show that you need seven days
to actually secure an optimistic chain.
It's more about the crypto economic incentives
and disincentives that exist.
So one of the things that we do is we're building
a protocol called EIPC, which is just like an application layer
on top of IBC.
where a relayer would confirm a transaction
prior to the dispute period.
So they would help in bridging out.
So for example,
if I'm a user on Rollup X and I want to bridge out tokens,
but I don't want to wait the seven days,
then I just do the fast withdrawal and someone else takes that transaction.
Yeah, and once they take the risk,
they're assumed to also be verifying the chain.
So that's kind of like that fast withdrawal,
market maker stuff that we've integrated
in a trust minimized.
way within iBC okay that's it's cool um is it can can can dimension also settle to ethereum data availability
or is it is something prohibiting that from it is like yeah how does that work uh so for ethereum
main nets to be communicating with uh dimension there needs to be like clung
that understand the Ethereum main net.
Tenderman's not the problem.
Tenderman has already like clients,
but because of the constraints of what is the consensus network of Ethereum,
is kind of like their issue.
But once they kind of figure that out,
and maybe you can kind of take maybe greater economic risks
or less economic security with Eiken layer
with people at like different nodes,
only like a selection of nodes,
nodes using or giving validity or giving attestation, then you can, for example, potentially use
protocols that are built on top of Ethereum. But to use the whole Ethereum security for DA,
you would need to really kind of snark the consensus of the Ethereum protocol and then
put it into like clients.
I mean, this is the same issue that Ethereum runs into for interacting with IBC, right?
I mean, it's the same thing.
Consensus, yeah, yeah.
Because dimension.
Consensus isn't, finality is an instant.
And so therefore, there is a delay between the moment that, say, like, a roll-up would post data on chain.
Ethereum would take some time to catch up.
Yeah, I don't think finality is definitely one aspect.
I think there's other aspects in terms of the way that the consensus network of Ethereum is structured.
Because I know IBC is connected now with composable.
And from my understanding, Pocodon also has kind of maybe not a probabilistic finality, but maybe they do.
So I don't think finality is the only or probabilistic consensus is the only problem with connecting with IBC.
But I'm not in the weeds of that.
Yeah, that's the dream, right?
It's the dream that Ethereum and IBC just work hand in hand without any middle men or middle wear or anything like that.
It's the dream so we could get more liquidity off of Ethereum.
I think the more liquidity on the IBC protocol, the better for the whole blockchain world.
But right now it's just siloed on the polygons, on the Ethereums of the world,
which in my opinion are worth tech product.
and worse economic products than what Cosmos allows you to build.
So speaking of building, I want to go back to the developer a little bit.
So there's different ways of building a roll app.
So we've got the EVM roll app, the Cosmossum roll-up.
But you also have this RDK, which is this roll-up development kit.
From what I understand, it's kind of like the Cosmos SDK,
and that it has modules that allows you to build a custom blockchain.
Is the idea here to just kind of like build Cosmos SDK chains on top of dimension?
And why have EVM and Cosmosm-specific modules when we already have Cosmwasum-specific modules
when we already have Cosmwasum modules for the Cosmosis' SDK that could also sit within this
RDK and we also have Etherment, which could sit within.
So because it feels like these are three separate products.
No, they're one product.
Are they just different?
They're just, okay, it's just one product.
Okay.
Yeah.
So the RDK is a Cosmos SDK fork where you integrate in Etherment or WASAM.
So it's the same stuff.
We don't rebuild anything.
We changed the staking module.
We changed the staking module because what happens is the staking module is tied with
tender mint's validator.
changes. Whereas the sequencer is different for and when we replace diamond tendermints with
diamond we have to change some of the integrations or the coupling between the business logic of
an app of app chain and the and like the networking logic or so like the RDK is ABCI compatible.
But we change some of the things and one of the things that we change is say we we have validators in
cosmos and there's a coupling between governance and
and computation. So a validator also validates the network. So they make sure that all the blocks
that are being proposed are aligned with the state logic. So they're all on the same chain. But they also
participate pretty much de facto as governors of the chain. So people delegate tokens and they don't
really, the delegators don't pay attention. We separate this into two parts on the RDK. The compute is
handled by the sequencers. But because the sequencers can be centralized, what the idea of
the RDK, and what the idea of dimension for people who are watching is that, hey, we want people to build
cosmos blockchains just with a few nodes that inherit the security of the decentralized base layers.
But when you have this kind of aspect of where you only have a few nodes or one node even,
then you start to centralize the compute and the governance. So if you,
If it was a validator, that means that everyone's delegating to one person.
And that sucks.
So we say, hey, we cannot allow that.
We can't allow a centralization to one party of governance and computes.
We can allow a centralization of computes because you only need one person to disprove
that that sequencer was actually doing the correct state.
But we decentralized the governance by using the NFTs.
So each roll-up can distribute.
however many entities, they could have one NFT, they could have a thousand NFTs, or they could have
different functions of distributing and creating the NFTs. And then you delegate tokens to those
NFT members. So it's similar to what people are using like SBT tokens, a sole bound tokens on
different Ethereum chains. But here you could actually trade and you could actually start to accrue
more value to the NFTs and also to the tokens. So we separate in the RDK two aspects,
the governance and the computes because we also don't think it's like economically aligned
for a sequencer to decide how much rewards he gets. So it's kind of, it becomes a
negotiation and it becomes more of like a real world corporate structure where you have the
employee, which is the sequencer, could be the CEO, but he is operating the,
the ecosystem, then you have board members, which are the NFT members, and then you have shareholders,
which are the token holders that delegate to the NFT members. And there's also roll-ups, for example,
don't need their own token, so you can have like just pure one user, one vote. So you can get
like these different structures and different, hopefully very novel governance structures on the,
on the roll-up layer, because they already inherent the security of the base level.
layer. That's the core difference between the Cosmos SDK and the RDK. You inherent the developer
tooling. You inherit the Go, most of the goal modules. We try to stay up to date, even though
we're moving to version 46 right now. So a lot of the tooling, a lot of the protocol is very
similar and tied to the Cosmos ecosystem. At the end of the day, it is a layer two on top of a layer one,
which is the cosmos.
And you guys are just like constantly refactoring or sort of merging back
into the RDK, the Cosmos S-EK module so that there's always this compatibility?
Whichever ones we see fit for roll-ups.
So not maybe like anything that's upstreamed from the staking module, for example,
that we may not want to use it.
But if there's something that's new, like the,
group module. I think the group module, which allows kind of these sub-dows. And with now you include like the
NFTs as governors and these sub-dows, I think that's a great integration between kind of like the
main community pools and the sub-dows. So like these things are upstream or downstream to the RDK,
but there's things that are that don't necessarily need to be changed. Very interesting.
Yeah. With regards to the RDK, you know, when
when developers are building applications here,
what kinds of, like, compared to building an app chain,
what are the key differences that developers should keep in mind?
And what kinds of applications do you think
are just not suited for roll apps?
Like if you were talking to a developer
and they're telling you, hey, like, we're gonna build this new app.
We wanna build it on roll out.
Like what kinds of applications would you consider not well suited for this construction
and sort of steer them towards building like an app chain or interchain security or something like that?
Yeah.
So when you're developing a RELEP, you're getting very low latency and you're getting easy bootstrapping.
So instead of bootchaping 50 or 100 validators, you get one or two or three nodes that you really need to operate as sequencers.
So you have this reduction.
of nodes operating in the system because you're inheriting the decentralization of the base layer.
So with this reduction of operators, you get a very fast experience for users.
So if you want to do on-chain games or whatever or DFI products, then it's amazing.
It's amazing because there's two aspects.
One, the users never get increasing data costs.
So the costs are always maintained because you could choose one D-A layer and then you could use another D-A layer.
as you can balance your costs
and then you also have this latency.
The detriment or the other side is like
why would you build an app chain over a roll-up
is because your protocol really needs
that instant censorship resistance.
So a decentralized protocol
like an app chain,
especially with new tenderment style
or new forks of tendermits called
mulepice.
cell, mealypacy or the one for duality.
They, they, oh, okay, I don't know what this.
Yeah, so, so their product, their idea is like,
there's a few block proposers and then like one block builder.
And then each one, the block builder has to have transactions from each block
proposer based on stake.
So there are applications that really need or inherent or should inherent the instant
censorship resistance from an app chain, but that's also, it's a spectrum.
Maybe you could wait like a couple of days or a day for censorship resistant.
So it depends on how sensitive that transaction is to time.
I think that's kind of like the critical decision factor if your application should be
built as an app chain or if it should be or should be built as a roll-up.
Is there like, I've been talking to a lot of people about this idea.
I'm starting to see this idea, you know, in a lot of places.
And so this idea that, you know, smart contracts, roll-ups, app chains are not so much in opposition to each other, but exists more on a gradient.
And so that we should see things as applications evolving or sort of graduating steps up that ladder.
Is there an upgrade path for applications that maybe start as a roll app and at some point,
for reasons that you mentioned, need to upgrade or transition to building their own app chain
or some other form of consensus, is that something you think will happen with applications as they grow?
And is there an easy way for applications to do that?
I don't think it'll happen because the core aspect of a relapse.
is you're getting very low latency, which you just don't get the same latency of like 0.01 seconds.
Like there's a reason why you're a roll-up.
And then you also have this coupling.
You have to kind of change the structure to fit the validators of an app chain.
So you have to reconfigure things.
Is it possible?
I think everything's possible in blockchain is very fluid,
especially when you get into like the social layer of things and social consensus.
But at like a practical level, I don't think that's going to be very common.
And I think it's more common for interchained security consumer chain to move to a sovereign chain.
And I think that's actually one of the great product market fits for interchained securities that it can secure five chains,
but maybe eventually those chains kind of should recycle.
But in terms of roll-ups, like if you're building a roll-up, then you're probably want the super low latency and that kind of aspect of and flexibility.
of roll-up instead of an option.
Cool.
Well, what's the roadmap?
And when can I think you guys already,
I mean, I was in the hordeaux a while ago
and sort of fiddling around there.
So there is something that's live.
Can people already build on this?
And what are some of the early projects that are building using Dimension?
We're building the first test net, which is going to,
it's a staggered test net.
So in February, we released the first rollup
and the dimension chain.
The relap posts the data to Celestia
and the state routes to the dimension chain.
It's connected via IBC.
We're integrating next week or in two weeks,
the EVM roll up with collaboration
with the EMS team and the Celestia team.
So it's gonna reuse the IBC token for gas of EMS.
So EMS, people are gonna take their EMS faucet token,
IBC through the portal to the EBM chain
and then interact with what we're going to deploy is a uniswap fork.
So people could trade on this test net.
So it's going to be the first eBM roll up that's IBC connected.
And the cool thing is that it uses a different token and doesn't have its own native token.
That's going to be in collaboration with ETHMOS and Celestia.
And so after that, we're going to move to incentivize testes.
We may throw in a few one or two more surprises in between with other collaborations.
like a gaming doubt that we're very close with.
And then we're going to deploy an incentivized test net
where people could deploy their own relaps.
And this is going to be in the second quarter,
likely in the latter half,
towards the end of the second quarter.
And people will be incentivized to deploy their own chains.
People will be incentivized to participate in the ecosystem.
And then we'll move on to MayNet.
Maynet is going to go from permission to permission list over time.
Very cool.
And yeah, I think people can go to Dimension.xyZ and you've got everything there, the documentation, the light paper.
They can learn more about building a roll-up on Dimension, right?
Yeah, check out the Discord.
We're definitely active.
We have a very active community.
Sometimes it's hard to get into our community, but we do that on purpose.
We want to make sure that people really kind of have heart.
And we really, really, really, really value the people.
who are building the community because it's a decentralized chain.
It's their chain that we're building.
We're taking a centralized idea, an idea that was in someone's head to an actual product,
to a decentralized protocol that is going to be autonomous.
And we need people all around the world to operate these nodes,
and we need people to just spread the gospel.
Awesome.
Well, yeah, it's really fun chatting with you and learning more about dimension.
and yeah, looking forward to seeing more coming from this ecosystem
and certainly decentralized applications being developed as roll-ups.
Definitely, definitely.
I look forward to us as well.
Thank you for having you.
Thank you.
And to our listeners, thanks for tuning in.
I go live every week.
So if you want to hear more of this sort of content,
you can follow the interop on YouTube and also on Twitter.
And I do want to announce that we have announced the dates for Nebula Summit 2023.
So Nebula Summit is the Interchained Builders Conference.
It'll be the second edition.
It's happening in Paris right after ECC.
And this year, it'll be on July 24th and 25th.
Last year's event was a huge success.
It was, like, people loved it.
It was really cool vibes.
But this year, we're going even bigger.
We're going to do two days.
We're expecting up to 800 people.
And Nebula Summit is really about bringing the brightest minds and the interchained together for technical docs and developer workshops.
It is a technical conference, so you can expect to learn lots about how to build on the interchain.
We have an amazing new venue.
It's a place called the Albert School.
It's a historical site in central Paris in the 10th District.
and it is formerly a ceramic factory.
So it's got this very cool kind of art deco vibe
and the sort of modern elements.
So check out the Twitter.
Twitter is Nebula Builders.
And yeah, this is going to be happening in July.
Also check out the website, nebular.
Builders.
And you can see here the initial list of speakers.
There's about 15 so far,
but we're soon going to be expanding.
We'll have somewhere around 80 speakers for this conference
and many faces.
I'm sure you're already familiar with here.
And so tickets go on sale on Monday, April 3rd.
So if you want to get notified when tickets go live,
early bird tickets, you can enter your email on the website
or you can follow us on Twitter to get more information.
And yeah, certainly if you guys,
if anybody from the dimension team is going to be in Paris for ECC,
would love to have one of you or at least more or as many people from the team as possible
to participate or even give a talk.
Cool. Sounds good. We'll let you know.
All right. Thanks so much. Have a good one. And we'll talk to you next week.
Thank you for joining us on this week's episode. We release new episodes every week.
You can find and subscribe to the show on iTunes, Spotify, YouTube, SoundCloud, or wherever you listen to podcasts.
And if you have a Google home or Alexa device,
you can tell it to listen to the latest episode of the Epicenter podcast.
Go to epicenter.tv slash subscribe for a full list of places where you can watch and listen.
And while you're there, be sure to sign up for the newsletter,
so you get new episodes in your inbox as they're released.
If you want to interact with us, guests or other podcast listeners,
you can follow us on Twitter.
And please leave us a review on iTunes.
It helps people find the show, and we're always happy to read them.
So thanks so much, and we look forward to being back next week.
