DAPPCON 2024: Build Whatever With Celestia Underneath - Ismail Khoffi
DappCon 2024 · May 2024 · 30:31
At DappCon 2024, Ismail Khoffi examines what teams can build once Celestia's modular data availability layer sits underneath their applications. The talk situates Celestia within the broader shift toward modular blockchain design, arguing that separating data availability from execution opens space for a wider range of rollups and dApps.
Speakers
Topics
From DappCon 2024, hosted by Dappcon Berlin.
Transcript
hello um first of all I want to give a shout out to the whole gnosis crew uh for this amazing event and uh thanks for having me I'm going to talk I'm going to talk about how to build whatever with uh Celestia underneath um first a few words about myself I'm is coffee co-founder and CTO of cel abbs I started my crypto Journey roughly 10 years ago um basically in Academia uh at epfl at the uh decentralized and distributed systems lab um I was also part of the team that launched the cosmos Hub um yeah uh enough about myself um this
is the things I want to cover today um introduce Celestia and modularity for those that are not familiar with these Concepts um or the project I want uh to show you how today like few ways how you can build whatever with Celestia underneath today and um highlight some like early community and uh a little bit go into support structures and at the end a Q&A so what is celesia what is modularity um when the first blockchains came about when they like Bitcoin was introduced um the Paradigm was that
every chain like every application um has its own chain essentially right uh and every chain does everything like it does consensus and the business Logic the state machine the execution of that business logic so in Bitcoin that application was payments obviously and there was like Bitcoin script as a very minimal execution environment and it used neam to consensus and then ethereum came about revolutionized um having this notion of like a world computer where you can execute any program essentially now uses different consensus Gasper consensus but they're monolithic in the sense that both these chains and all the chains in that era um basically did everything at
once the business logic and the consensus right the only way to launch a new dep back then was you basically forked ethereum then namecoin was introduced and so on and so forth um so before the notion of modularity or modular chains or modular blockchain networks were introduced um there was this seminal paper by V and my co-founder Mustafa and Alberto Sono um the motivation here was actually to scale ethereum and um to make uh light clients more secure and um Mustafa took this idea and span it even
further and said like what if uh we instead of trying to uh make charting possible and um um and so on and so forth what if we can in introduce a layer one that does only the most basic things which is uh consensus and data availability in the previous paper there was this like data availability uh problem formally explained there was uh uh a uh a new mechanism introduced called Data availability sampling uh which which makes light client um more secure in the sense that they can verify that data was published and this paper says like okay let's take this and make
it its own chain um uh so the core idea as I mentioned is uh instead of chains doing everything as as mentioned before uh you split it up into like different layers into different chains so you have like the data layer or the consensus layer um that only like focuses on that and the execution the business logic now is in a different chain like in a rollup chain or more generalized in an execution layer so basically these these things that liveed in one chain are now decoupled into multiple chains essentially and to like multiple specialized layers um yeah conceptually as like I
I'm I'm I'm repeating myself a bit here conceptually um monolithic chains like they have consensus and execution in one chain sometimes if there's like ethereum flavor or like Solana they come with a with a virtual machine such that you can run smart contracts on top um in modular blockchains though you have a data and consensus layer and a large zoo of like different execution environments that can also be evm but they can also be your own flavor something highly specialized they can be like a cosmos SDK app they can be layer twos layer 3es um using your favorite uh uh ethereum stack or whatever you can
imagine um so I keep saying these words modularity and and settlement execution layer um I briefly want to ex like go into detail what these are what are the things that every chain uh in like every monolithic chain does um they they are execution settlement consensus and data availability layer which in the modular stack get um decoupled in or decomposed into separate layers so what actually what is actually consensus like consensus in its very form uh is just ordering of messages arbitrary messages the consensus layer does not inherently need to know what
these messages are they're basically blobs right uh OPAC blobs that get ordered and reach consensus on that order um the data availability layer on the other hand ensures that the data that was published uh that was that was published you can verify that it actually exists in the network and was published so these these arbitrary messages that get ordered must be available to you such that you can like verify they were published and then the uh execution layer oh actually yeah uh brief detour to the the the Bitcoin wi paper like these ideas are not like entirely new it
just we didn't know how to do um a verifiable data availability U before data availability sampling but like even in the Bitcoin paper this notion of like ordering messages Tim stamping them and having them widely published uh was introduced so what is the um what is data availability sampling that I also mentioned before um data availability sampling is a technique that allows you to verify that the block was published without having to download the whole block in fact you download only a very small portion of that block right like you you can download like less than 1%
and have almost 100% guarantee that the whole block was published um and why why does this like why does this matter it matters because for the execution there you take this data these arbitrary messages that got ordered and they get executed right they they uh are the actual like the state transitions actually happen on the execution layer um like very simple example is account balances and transfers you do a transfer account balances get updated right like that happens on the execution layer so I also mentioned um oh yeah um you may wonder if it's like arbitrary
messages that get posted on the data layer and the data layer is not aware of what these are um you might wonder like how is it guaranteed that the transactions that are posted or the blocks that are posted on the data layer how is it guaranteed that they are valid um there's there's roughly like two approaches here um one is what is now called optimistic rollups um basically via fraud proofs so you post the data you assume that um um the the block producer or sequencer um of the rollup is non-malicious for most of the time but in case they post an invalid block every full note every note that like
downloads the whole block can easily generate a fraud proof that then even light clients or light nodes can then verify um there's a different approach which is like validity proofs where you also post um some cryptographic proof that these State transitions were valid and um this is often called ZK rollups because you U post like ZK proofs um for validity so you have this like you have different trade-offs obviously uh but you have the same guarantees that the transactions are valid but you post the data somewhere else um another layer that I mentioned is a settlement layer it's essentially um
it's essentially A specialized execution layer that does uh bridge between different other execution layers like very simple example ethereum is used as a settlement layer obviously for many rollups uh today um again using fraud or validity proofs so is a modular blockchain a modular blockchain is a chain or a network that um outsources at least one of these tasks right like it outsources at least execution settlement consensus or data availability it doesn't handle that component itself and if you think about it it's actually very similar to how the web EV
evolved early on when you in the '90s when you wanted to host a website the only way to do so was was via a physical server and similarly as I mentioned before in the crypto ecosystem the uh the only way to deploy your dep was to launch your own chain using your own consensus in the later in the developing web you could use um hosting providers shared hosting providers like geoc cities I don't know um like aot maybe people are old enough to remember these things but you were basically tied to like choices that these posting providers provided um for programming languages like PHP or Pearl even using
some CGI interface similarly in the crypto space the idea came uh to existence of this like um um shared smart contract uh environments where you could like deploy your application using uh um like a smart contract blockchain like ethereum near Solana and so on in the modern web today websites run on Virtual machines like they share they share physical machines but they they are um U they're run in Virtual machines and similarly today we basically see these this evolving in the in the in the in the crypto ecosystem as well like in ethereum and uh uh uh and
and in Celestia as well is daps run on application specific chains that share consensus layers right like ethereum rollups um Celestia application like every application is built on Celestia that's true and we see that this Paradigm is used more and more um in the modern crypto ecosystem so what is Celestia um Celestia is basically the first modular blockchain Network because it's stripped down to its core components it is a chain that only handles consensus and data availability and is specialized for that and execution like happens completely somewhere else there's even no settlement layer there's a very minimal State machine um that for
the chain to function so there's like transfers proof of stake nothing else you may Wonder like okay this sounds all uh fine and like from a theoretical point of view what are the benefits of that so in the last Cycles so to say the way people thought about scaling were either like super complex or many new chains came about and said like okay we going to we going to do we going to fix scalability here here's a solution we're going to do something better like a new virtual machine we do parallel execution or I don't know um they promised better scalability and what happened there is basically you had
to copy this whole ecosystem that existed in in the uh that already existed in like the established chains and then either either these new chains um fail to gain traction and like become less relevant or they are actually used a lot but then they hit scalability limits and um they get congested uh transactions either get expensive or you don't get them included in uh in in the blocks and have to retry a lot so and that continues like that that used to continue and we want to basically break this cycle um using modularity because we basically remove the main
bottleneck from the layer one right like you move that by moving execution out of the layer one and um having like um specialized dedicated compute in the rollup layer instead that makes it possible for actual scalability to happen in the sense that um yeah this is like specialized layer that execute for your dab specifically um in the way you want in the way you need it and um there's also a nice property that with this theoretically you can have like massive blocks because the more um rabs exist the more light
clients there are the more difficult you make it to make what is called a data with folding attack because light clients actively can actively contribute to the network by uh making block reconstruction possible as well as a fallback um so this is important if you really want like um like Mass adoption and everyone using like like if it actually spills to the real world as Martin said before then you want um a system that can actually scale um Beyond just one layer one on like one world
computer um you may Wonder right like that's also like everything is converging in that direction these days right like when we introduced this like data layer um and and the the the the the notion of modular blockchains was like first FR upon and like um not not fully understood but today is like everything's converging and then like even in ethereum you have obviously um uh uh blobs and the the last upgrade you may Wonder like why is it even necess say like if if if my favorite layer one does this already um I think having a specialized layer that only does data availability is still relevant because
um because of the specialization it's still cost more cost efficient you're not your application is not competing with other applications for settlement it's purely data availability so there is this um page from a team called numia datal lenses. Zone um where you can calculate for your application uh the cost savings even after the uh uh last ethereum upgrade so besides cost saving and scalability you get a lot more choices right like you can mix and match these different modules like Lego pieces together um of course that also brings like can bring more complexity but it
doesn't have to and can be abstracted away but like for example example you can use Celestia today as a building block to build your ethereum layer three or Layer Two by using ethereum for settlement and consensus and get like very high security guarantees there and use celester purely to post your data um and your chain does only do the like highly specialized uh um execution that you need and there's other right like your chain can also be a settlement layer for other chains um your chain could be a rollup that uses such a settlement layer or your chain could be what is called a sovereign rollup um that
is basically launching your own chain without um the burden without the overhead of launching your own proof of stake Network um it's more like launching a cosmos Zone but you don't have to launch a proof of stake Network so what are the options concretely today um you can like I I was told that um the uh audience here will be very ethereum focused so you don't have to if you don't want to you don't have to learn anything new you can use your favorite like um evm stack um write write your code and solidity um for instance use arbitrum orbit or optimism op stack uh
to build on Celestia today um you may Wonder wait if I use um if I use these uh ethereum Stacks do I still have to interact then with my Layer Two or layer three or uh uh directly with Celestia um yes or no you you you have to post data to Celestia but for the security and like to verify that this data was published uh you only interact with a smart contract on your favorite evm like eum or base or whatever um orgos chain could also be like you you there's a there's a um project from sucin called blob stream X that makes it
possible uh to basically have a um a light client of the celesia chain on the evm chain and uh you have like ZK proofs and you only interact with that smart contract so I think the most convenient way today to launch your own chain on Celestia or build whatever um with Celestia underneath is you use a rollup as a service provider um this literally you can think of it as like AWS but um decentralized in the sense you have the same convenience oneclick deployments you just choose a few options and this is perfect for like uh teams that early like are like early and want to like
iterate quickly launch a test net and um also what you get here is the full package you got like rpcs block explorers oracles indexes and and so on and so forth depending on the rollup as a service provider so again when when we thought about this early on it sounded like a pipe dream almost um but today there's like a whole zoo of these rollup as a service providers and um I picked one here just to show you how it looks like um this is the conduit landing page and if you look at their page you can choose your stack like arbitrum op stack you can choose
Your settlement layer mix and match ethereum L1 base layer 2 Zora mode you can even choose your data availability layer you're not forced to use Celestia obviously um and you can mix match as you want click continue few minutes later your chain is running and costs like on testnet cost like 50 bucks a month very very convenient another option that I mentioned before if you value more sovereignty you want your own chain that doesn't need to care about like uh a settlement layer for fork Choice rules or you you you you don't care too much about like um having set a high security settlement layer or for instance like a
gaming rollup or there could be many reasons um having the the freedom or you not you don't uh uh need that much security but one to save cost a sovereign rollup is a very good option today there's like two ways to build um there is Rock KET we're building this in house uh currently still uh it basically allows you it's a dropin replacement for tenament so it allows you to build any ABCI app including any Cosmos SDK app um but like with with ABCI not uh bound to do the cosmos SDK but it's the most convenient way um yeah this is a way to build a sovereign
rollup today and similarly Sovereign a different team um is building like more focused on Z rollups again but is building uh a sovereign rollup stack Sovereign SDK uh as well I if you if you uh want to be more experimental you can also uh there's there's also teams building what's called eclipse for instance which is Solana on on ethereum and Celestia celesia for data availability ethereum for settlement and there's other like there's there's many more if you want to be more experimental care more about privacy performance whatever there like you can innovate in these execution environments without
having to uh deal with the consensus and data availability part so support and early Community um I think the goto place is our homepage um for that this is I I think Celestia rg/ build um there you can like get any any like if you're a block Explorer or a team that wants to build something you'll find uh any information there that's a good entry point obviously there's docks um they are all open source uh Community maintained to some extent um if you find a typo or a bug or or or something is missing or you want to improve them you can also they are all on GitHub um they are also for different
categories um obviously this is more a developer like for developers this is the most relevant uh uh go to place and also there's like already we launched like um like the Celestia Network launched like around half a year ago there's already uh a growing community of actual chains that are deployed I think it's maybe too small to see but like this is this is um selenium uh a Celestia focused block Explorer um there's also a leaderboard for rollups and the leader boards you can sort by like how many how much data they post today um and there's not only rollups there's like a whole zoo of infrastructure that
makes um that tries to remove the complexity that is also introduced by all these choices and besides the the rollups there's the mentioned rollup as a service providers there's a bunch of rollup Frameworks that you can use to build um there's shared sequencer networks where you can like share a sequencer to like um with with with other rollups uh to post your data settlement layers obviously bridging cross chain like yeah obviously wallets block explorers and so on so forth this is like an early snapshot I don't think that's complete anymore but it's an early snapshot of our community and as I mentioned there's like new virtual machines and new execution environments coming as well
so I realized I I talked much faster than than I did in my dry run um but I can spend a little more more time on Q&A then so what is next um I think the focus for us as as as like the celestial Labs team and as a community is to enable massive BLS uh massive blocks we want abundant block space um because if you think about it if we actually um want to serve the the the the all the rollups and especially like all these AI um um projects that are coming to existence and or even just payments if the the payment networks are worldwide
and used by everyone you need abundant block space for this to be possible and um we're targeting like our crto is like to have one gigabyte blocks eventually um but this year we we want to we want to uh commit to getting at least like 32 or up to 100 megabyte blocks and obviously a big Focus as well is um to improve the developer experience right like the docs can always be improved the apis can always be improved and that's a huge Focus because when you build these things and this is completely new you don't have any feedback right you're building a product that you can like try internally you can try it with like a few projects
piloting but like now we have actual users now we're getting extra feedback and we're thinking more of our apis and and so on like as a proper product and um this like we getting very good feedback and we want to improve the uh developer experience as much as possible such that is like super easy to launch your chain like easier than like deploying a smart contract thank you that's it um thank you you go check out Celestia org bidd and um there's time for Q&A now so we invite any questions that you have for Ismael um does anyone have any questions about
Celestia we have one over there thank you hi my name is Yan uh from Oak security and uh I have a question like you you you talked about Gam but I I think this is so relevant and I think it's so exciting what you built for institutional um for for institutional Finance uh Builders um are you targeting those or like what's what's the um what's your uh take on those um I mean we're not specifically targeting anyone it's like uh the creators build whatever um so like everyone should feel comfortable building on Celestia uh but can you elaborate
why thises is so relevant for institutional like so my experience with them is that they need uh like uh they don't want to get into the technicalities of um consensus and data availability but still from a regulatory perspective they need a lot of control on the settlement side so they need to make that to make sure that they uh basically yeah have kind of admin controls around the set settlement ler yeah I mean that's certainly true it's also true for defi projects they um they
prefer to launch as their own chain but they want a decentralized sequencer Network um I guess we're not targeting them specifically because like I'm not aware of like big projects um that that or or projects in general approaching us with this regard but this obviously um a very good use case and um if you know someone please put put me in touch with them and um I'm happy to help thank you and do we have any more questions yeah one over there thank you hi um yeah thank you for your talk really insightful um so I understand that Celestia in general has a lot more
pieces with the modular architecture but from from your perspective for just the data availability part what's like maybe one or two things that you would say stands out in comparison to say I da I mean we have data availability sampling and like live docks and you can like like there's there's um change building um I think Agia is actually quite um different from the infrastructure um uh but um yeah I think what stands out is data availability sampling you can verify like I didn't put enough emphasize on this on the slides but everyone can verify that the data was published through data availability sampling and we like we favor or we are big champions of like
decentralization but decentralization also means that you can like everyone can verify the chain and um yeah and verify that the data was published is part of that that's the key thing of a data availability layer well thank you so much than it's been a pleasure bye [Applause]