Modular vs. Monolithic Blockchains with Ismail Khoffi of Celestia

17 Jun 2022 · 1:20:47

Sebastien Couture hosts Ismail Khoffi of Celestia on The Interop to discuss the modular blockchain design paradigm and how a dedicated data availability layer can make rollups more scalable. They cover Celestia's rebrand from LazyLedger, how the network works, why builders might choose it over building within Cosmos directly, and the Mamaki testnet launch.

Speakers

Topics

Transcript

welcome to the interop the show that's all about exploring the decentralized economic networks that make up the inner chain my name is Sebestian quo and I'm here today with Ismail Kofi of Celestia hey isil hey nice to be here thanks for thanks for joining me on uh on today's podcast we're going to dive deep into Celestia and uh you know I want to talk a lot about like this whole modular blockchain Paradigm because it's becoming more and more present A lot of people are talking about it like it's been around for a while but it feels like now it's really part of you know the cosmos narrative um but before we talk about that I do want to spend just a moment uh talking about nebular Summit so the interop and interop Ventures are

organizing nebular Summit in Paris it's happening on July 22nd it's the day right after ECC so this is a full day conference and we're gonna be celebrating the cosmos ecosystem and you'll be joining about 40 speakers forming really the creme the La Creme of the cosmos and interchain ecosystem in fact your colleague uh Evan Forbes will be speaking at the conference and we're going to be talking about all sorts of things related to Cosmos like modular blockchain design cross chain defi interoperability privacy upgrades to the cosmos Hub there's going to be people from you know the the ICF and also informal systems there as well and a number of French and International Teams um we're going to be having talks panels

and also technical workshops if you want to get a little bit more Technical and this is all happening at laaz which is uh French for fire station and it is paris's oldest fire station it's a super cool venue I'm so excited we're doing it here and uh at the end of the day we'll have a cocktail on the roof of the building so you can see the full list of speakers at on neb. Paris the agenda will be coming out very shortly probably next week and tickets are only €35 until the end of the month and then they'll go up to 50 so it's really affordable so if you're uh coming to Etc in July or if you're in Europe mid July or hey if you want to just like come over from the states or wherever uh to come to um to nebul Summit I'd love to have you there

um and yeah because it's gonna be the first Cosmos conference in France and hopefully not the last so neb. Paris is where you can get more info uh and hopefully you'll be there too we were talking earlier just before we went live that you were debating whether or not to make the trip from Berlin yeah you made me you made me formal now even more never Su it sounds sounds amazing yeah yeah there will be like a lot of a lot of good speakers and a lot of people that I would love to see and it sounds like an amazing event um so maybe I'll reschedule my travel and try to to come as well yeah I I'll make it worth your while if you if you come to Paris and like spend two days we'll we'll hook you up with some cool stuff to do for sure

awesome um yeah so I mean it's been a long time since we've chatted uh I think I don't remember when's the last time we saw each other but uh I was going back and you know looking at uh you know the interview that you did with epicenter about a year and a half ago I think and um you know I wasn't on that interview but I I remember doing the intro and like listening to it and thinking ah this is really cool and you know um back then the project was called lazy Ledger and it's been rebranded since then to Celestia so you know before we go into that maybe like tell us a bit about your background like your time at tendermint and how you transition to working on Celestia sure um so my my background uh is like I studied mathematics originally

and uh pretty soon as a student started uh uh to work almost full-time as a as a software engineer and uh financed my studies with that and uh yeah from from there it's been like a a back and forth between research institutes or like Academia and um Enterprises and and I I think you mentioned tenderman so let's let's jump in there directly um after brief detour to Academia I I I think I um it is it is essentially Zaki who brought me into tenament I mean I've been following the project for a while um like here and there looking into it I

think the first time I heard about tenament um I was still in Switzerland at a university doing I was working as a research engineer um that was actually in fact the first job I had where I worked remotely on like crypto um we worked on a research paper called uh uh um scaling like basically uh we tried to scale Bitcoin um so it's called bizcoin um but um yeah the first thing I saw about tournament in the the repository um was actually Buy's poem in the merulli uh uh repo back then it was called mercules I

think now it's ivl maybe um didn't know like had put a poem in the in the yeah yeah it's like a song The Tanuki one okay yeah that's the first thing I saw I was like ah these these these guys sound funny and don't take themselves too seriously and yeah I immediately sympathized with like the approach because they were doing obviously they were doing research and and and I remember scheming through Bucky's Master thesis but at the same time they were actually also implementing what they were doing and uh building a company around it right like and uh much later I I I looked more into what like Jay wrote up and was intrigued but it was Zaki who um mentioned to me

while I was in London I was doing an internship so I started briefly PhD in University of Bon as well and I did an internship at Google at the time and I met Zaki in person for the first time then in London we went to a pub had some beers and he's like yeah he'll he'll he is planning to join tenament soon he's already working with the team it's a great team and sorry and he was already hinting that like maybe you should join as well it will be it will be worth your time and very interesting and he was right so a few month I think like six months later I reached out to him again he made the connection tobaki uh headed

interview and then uh worked at tenement um first on the libraries part uh mostly serialization der serialization a bit on ivl as well um later on Ten and core and yeah I I think I left tenam in shortly after launch again like one and a half years later I think and um yeah yeah I remember seeing you at uh I remember seeing you at full Noe like at one of these full no in Berlin and and you were leaving or had just left or something like that yeah yeah yeah yeah yeah I tried to take like some form of

sabatical or some time off uh not not very successfully I started working on a on a paper with friends from TU in Berlin and um also briefly started a validator with friends um and yeah I met I met Mustafa again not not not long after I quit I think I left in July maybe and I met Mustafa again at the uh chaos communication camp near Berlin it's a it's like a hacker uh Festival you could say um with like tens and like we we we were talking I think with Mustafa and Jeff berus home we free we were talking about uh uh uh what like Po

does and MFA was like telling trying to between loud Tech no music trying to explain me lazy Ledger the paper I didn't fully you do in Berlin yeah just like you're always explaining blockchains to people like with some loud tech music yeah yeah and um yeah and then uh um I think he hinted at that Jay reached out to him at the time and uh I was like half joking he's like ah when when are you joining tenament Cosmos and he's like nah I want to do my own thing then he explained lazy ler and then in the end asked me like maybe uh if that's interesting to you uh maybe you want to be a co-founder and then yeah I I I obviously didn't understand much uh at

during that loud conversation like surrounded by by techn music conversation but I looked into the paper and I was the first time that I thought this might actually work in terms of scalability um I was always I was always like intrigued by blockchains or like the idea of of uh um decent ized coordination or or computation or decentralized applications of sorts but I was also very skeptical that I will ever really scale to like a like a global scale and when I read the paper I was like actually this is simple enough from like conceptually and um um yeah it was the first time I was convinced that this might actually work and take off

and uh scale to to a global scale yeah and and and so the the Rebrand to Celestia is it like purely a Rebrand or are there any other changes um I mean it's basically just like you rebranded lazy letterer to Celestia you didn't like change the project or the vision or anything like that That Remains the Same um yes and no I feel I feel so the vision Remains the Same uh but I feel because if if you look into mustafa's academic paper uh the lazy Ledger Paper um there are a few open questions and I think the the the the only like the most missing piece to the puzzle was like how do you do like

clients and um that wasn't like resolved in the in the original academic paper so I would say um with the emergence or like the idea to use rollups for the applications instead of so let me go like the original paper um mentions you do client side execution or like client side smart contracts I think it's called and then these these applications that run these like client side execution they post the transactions directly to Celestia and um and then it's like very unclear how to do rollups I think back then when I read the paper the first time I thought like H do the clients have to do consensus like a small set of

consensus themselves so how does that work and then yeah then uh short not not much after um um basically we like John also came on board and we agreed to to to be like founders of this project not not not not long after um there was um Devon and I went actually to a Meditation Retreat for 10 days and I came back and then everyone was talking about rollups rollups rollups here rollups rollups there and must and John is like yeah easy actually likely solve we just do roll outs and um yeah so that part even if it sounds trivial like a rollup is essentially you you you you have another

chain and it posts its data uh uh onto a data availability layer and then you have headers you have block headers and uh you can do either uh fraud proofs or validity proofs and then you can have light cles right and uh that that sounds like a simple change or like a simple addition to the original paper but it's actually I would say it's like a a a bigger change um and we made some modifications um to the I would say we made some decisions some design decisions to the original design to simplify things to be able to launch earlier and um uh also to like we prioritize what is like the key most key

thing that we were comfortable like launching with and so in some sort Celestia is like uh a subset I would say um well like 99% of of the lazy Ledger Paper but at the same time it is it adds a lot of building blocks on top so it becomes much clearer how to deploy chains how to run applications on top of Celestia so it actually deserves its own name I'd say um okay but it's yeah feels it's been yeah but I mean it does feel like it's it's sort of been productized to some extent like as a developer product more than just like this data availability layer and

rollups um you know do like do add this uh fundamental piece to the puzzle which is like how do you what is a viable way to execute uh the transactions uh that you post to it so like all these things sort of coming together form um you know the the the developer product which is Celestia uh and yeah well we'll talk about that as well and like you know I know you guys recently launched your main your test net um and so um yeah but like I want to talk about these philosophies like I was watching um I briefly attended the modular Summit uh in in Amsterdam and I didn't see all the talks but I was

watching uh the talk that Mustafa did uh with Anatoli of salana and where they're sort of debating the modular and monolithic uh design paradigms and it's like it's really interesting to see them come down to basically like what trust is like what assumptions they have and and like the breaking apart the philosophies to arrive at like what are the what's the Crux of the difference between these uh these two visions and I want to ask you like what do you see really as the fundamental difference in um like the core philosophies that these two that these two visions hold like this modular Vision versus this monolithic Vision maybe we can just kind of Define what that means

first um yeah yeah I mean uh a monolithic chain is what um basically every like traditional layer one does it does um um it does ordering of transactions and ordering like of of creates a block of chain of blocks right like ordering of blocks and ordering of transactions uh as well and reaching consensus on those and then um also these this the data the transactions behind is also like published to the network for everyone to like replay these transactions recompute the state for full nodes and um yeah and then um it also executes these transactions right like all the

transactions that are posted on chain are executed and the state is updated um I'd say originally it was even more monolithic like um um um for look at Bitcoin it does like um every like it is one application so to say right like it's one specific application and it does all these three things and then ethereum came along and changed the Paradigm to um be able to deploy basically arbitrary programs on top of your chain and then you had even more transactions to execute because you had like all these different applications and then all these different applications now are competing not only for Block space but also for like execution time on execution slots so to

say right and um it's also this is this is also mon in the sense that yeah it's still like it still acts as this consensus and ex general purpose now execution layer and um and um the I think what what we've seen in in like the history of like I mean it feels like forever but it's not that long that blockchains exist and it's like Inception with like kind of Bitcoin um I'd say um we see more and more of this modularization first in software right like where where this you had this like piece of software was I mean the

original like Bitcoin uh um deployment so to say is is is a very prototyp is monolith right like and then people came and and uh this month like put like disassembled it into different pieces and and ethereum as well and then more and more more and more so um in in software and what we're seeing now is the realization that I'd say the realization that like one layer one to serve the whole word doesn't really work and um there's like this this like World computer uh thing that ethereum kind of was for a while and like I mean they're shifting their

Vision as well but like um this world computer vision doesn't doesn't really scale doesn't really work because it's impossible to have like all these applications running in a in a in a in this if if you conceptually look at eum it's still like one monolithic big machine even if it's decentralized right and um so what a monolithic uh what sorry I'm mixing it up like what a modular blockchain network is like or what a modular blockchain is is when you um take like these core components that a blockchains uh or these core tasks that a blockchain fulfills and then you um disassemble it further not in software

only um but rather into different layers into different uh chains and networks essentially um so um how we Define a modular chain is that like um it out like the chain outsources um um at least one of its core components to to another chain and doesn't do it itself uh so it doesn't do all things like all three like data availability consensus and execution basically and um yeah maybe so one one of the arguments that I've heard against this um this design

Paradigm is that it introduces latency at every layer of the stack and so if we keep breaking things up and modularizing every aspect of a chain every one of those pieces has to has to be uh able to send uh data and package to to other parts of the stack which introduces latency and potentially like also um opportunities for uh ex exploits to like for exploitation um of like security bugs or or things like that or like other sorts of um like Game Theory um like design vulnerabilities what what do you think of that argument as one that goes against the modular

uh stack approach um I mean of course it it by detangling these these uh components You could argue that it adds a bit of complexity but I I don't um I don't think that in the in the average case you really introduce that much latency so because like from the I from the point of view of a user you submit a transaction um let it be like through roll up even through like different layers uh let's say you don't just use Celestia as the base layer and uh um have a roll up on top but you additionally add in between yet another layer which is a which is like a

settlement layer right like which which Bridges between rollups and and the users interact with that like uh uh third layer so to say and um from the point of view of user I'd argue that it doesn't really matter because like in the happy path usually you submit a transaction the moment um the the the the the node you interact with a tests that are well included in a blog that's where you usually in the happy path are like you the the the the the user story basically ends right like only if things go wrong um in one of the layers is where you have to like recalibrate but it doesn't int so so in the in the usual case it doesn't introduce any latency I

would say from the point of view of a user at least um and like of course the Machinery in between so to say has has there is there is things happening in between but I think these first of all it doesn't impact the user in the usual case and the trade-offs that you add are worth the the the the the benefits that you gain which is like more scalability and um um basically freedom of like uh uh an application specific chain yeah are there so I I wonder if there are any uh if there's an argument to be made that the

[Music] um the the the reasons that users would choose to or that developers would build applications on monolithic chains or on modular blockchains like that the choice comes down to uh the use case and the type of application are there uh are there Arguments for building certain types of applications on a more monolithic type system like like salana for instance and other applications would be better suited to uh mod a modular design um in general so in general I think you can build anything that you could build on a montic chain on a on on

a more modular stack without major tradeoffs so there's no like um um there's no like I mean the only reason I could think you prefer to build for instance on on let's let's say salana because you brought it up like the the only reason you would prefer to build on Solana is if you um want direct like directly interact with the Solana token right like you you and you want to tap directly without any bridging or anything directly with that Solana ecosystem right like that's the only reason I could think of um where you choose that in favor of of uh uh building on some sort of like modular

stack right um and yeah there isn't there isn't like one type of application that is necessarily Better or Worse to be built on uh uh on a on a on a modular stack I mean the main reason why you prefer to build on a modular stack is probably um like the ease of use and and cost right and that's probably that's probably very good reasons um I would argue there are a few applications that you not rather not uh you you would rather not deploy on an existing uh general purpose execution environment

like like Solana ethereum and um I think these are like applications where um where let's call them the tail end of of of like chains where you you want uh uh you want a sovereign blockchain um but you don't want to um um you don't want to create your own like Cosmos chain for instance because you don't want to um you don't want to assemble a validator set I mean you're not assembling yourself but you have to convince the validators to to validate your chain right and let's say it's like a small it starts very small there's no Community around it you start

and then slowly you want to build that community and build that momentum and then become bigger and bigger or maybe it's intentionally a small project could also be these projects I think um like if you wanted to deploy them on ethereum it's too expensive for instance if you wanted your own Cosmos chain um yeah you you'd have to convince validates or run like a bunch of validates in the beginning yourself or something like that so it's not very like for these chain like for these kind of applications You' you'd very well uh uh um yeah I think the only choice you basically have will be that um currently they're not really that feasible and you could argue that an alternative layer

ones they're also inexpensive to deploy maybe that's true in the beginning but the moment these layer ones gain adoption and they become much more interesting to deploy at because there's more liquidity there's more like a larger Community um it will become more expensive to deploy your application so it's like then again it's not that interesting to do it there so i' I'd say like for for smaller projects particularly it will be um the definitely like the go-to solution for um um yeah and and and as I said like there's no there's no major um downside on deploying on a modular stack there's no at least I don't yeah I can't think

of like a major downside um to deploying on on on monolithic SE besides what I said initially is like you want exactly that ecosystem right like you want exactly that that uh established ecosystem and want to interact with it uh without any bridging or anything else right yeah okay yeah one one of the other analogies I've seen here and you know I guess here I'm trying to form a mental model around like what this translates to in like existing software and hardware systems and one of the things I've heard it compared to is the Linux kernel uh versus the the micr kernel um Paradigm so in in for for our

listeners I'm going to try to explain this as as I understand it um in Linux systems there are there's the monolithic kernel where um you have essentially a file system operating system memory management and everything is happening inside the Linux kernel and then applications are simply written on top and then you have this new paradigm or it's like other Paradigm which is the micr kernel where the kernel actually is doing very little and then all of the system functions are managed at the application layer um in that so in this in this realm I'd say the monolithic kernel um uh Paradigm has proven to be like the one that has been most adoped Ed most

like Linux systems like the ones in your phone and your Mac or like most operating system use this monolithic um uh monolithic kernel Paradigm but like in software development it's totally different like in software development or like web development um you know things are very much modularized so like if you look at web development like every part of the stack from the server all the way up to like you know like the browser render engine is totally modular and I guess I'm I'm unsure like I'm still it's still unclear to me whether blockchains fall more in this sort of like Hardware analogy because it is very much like a a base layer um for deploying applications so

you know like when people talk about the world computer it is it is akin to like a piece of Hardware almost for the internet and so it's um yeah I I I I'm trying I'm still like forming my my opinion about whether you know it should be um it should be viewed more as something that's into Hardware or if it's purely like um software stack or maybe somewhere that's a very interesting yeah that's a very interesting way to think about it I mean if we look at blockchains what are they I think they are mostly um of course they are machines right like the state machines and they are like in that ends you're right they're they are like Hardware um but I think they're very much more than that

are representing a social consensus of of of like us right like we give These Chains basically the the the um um The credibility and and form a community around it and uh the reason why they exist and they have value is because uh a community of people um gives them like there's social consensus amongst uh people that they have value and they have have uh uh that they follow certain rules as well right so I I I doubt that um so first of all I doubt that there will be like one chain that like captures all communities

online and second I think that's obvious I think yeah that's very obvious you know anyone who thinks that anyone who thinks that you know all of these block like all the blockchains will disappear and there only be one left at some point in time in the future like that thesis I I don't know how you can still believe in that thesis um there are many maximalists that believe in that right like there we agree because we not like and I don't know Bitcoin maximalists we aren't like eth Maxis we aren't like any anything Maxis right like Cosmos made us uh uh already see like there's there's room for like Innovation there's like many chains there will always be many chains and it's it's it's it is the present and uh it will be the future as well um yeah but it's it's it's like I I

don't know you it's it's like it's like thinking like in in it's like having this mindset that you in the end there will only be one religion or in the end there will only be one of anything like when is there ever just one of anything um it's um it's weird for me to wrap my head around how you could think that this would be the case um yeah and even even if if if we as a human race would like agree on we cannot agree on many things right like even if there was way that we like agree on on like most things there will still be like communities that have their purpose and their their reason to exist that are

like subcultures or or or yeah like parts of a larger community and they will have their own means of coordination and uh um I very much believe that because of that there will be like many chains as well um but coming back to your analogy before if it's like more like Hardware or the Linux kernel or software I very much believe it's like much more comparable to um like web development as you said right like in the in the beginning um people who deployed web applications ran their own server is like their own chain so to say um but then there was like uh uh um these these uh service providers

there where you can um deploy your code and and run it there like through CGI interface or whatever um but then you were tied by like you were limited by the decisions that the server provider made for you right like you had to use a certain programming language or something and then we saw with like um also with Cosmos right where you uh it's kind of Cosmos is basically going back to the run your own chain but at the same time gives you more freedom of like deploying your own code as you want right and um and Celestia is exactly that sweet spot between uh um like being able to deploy how you want to like in the programming language you want to

there's much more like choices you can do um um you can the state machine can can operate as you want uh as your community wants and uh but at the same time you have like a common uh uh a common source of uh um um security so to say which is yeah it's interesting when you talk about this it makes me think a little bit of what the what the cosmos well what the tendermint vision was what the tender Vision as I remember it was like you had this this General consensus layer and then you had like ABCI and ABCI allowed you to run any sort of um execution layer um of course what has uh captured you know most of the

chains that use tenament is like the cosmos SDK but there was always this Vision that you could use any execution layer on top of tendermint um so it's interesting that that you guys are also like going in this direction like doesn't it's not surprising that this is also uh part of the vision of Celestia so maybe let's yeah let's let's put aside this philosophical stuff which is really interesting but um let's let's talk about like what Celestia does like the different layers of the sack and like um you know I really want to understand the data sampling um thing that I'm trying to wrap my head around like I've heard it I've heard that it's also used in other systems and um this encoding scheme let's let's get

into the technical stuff yeah okay um the um where where should I start um I think still I was still thinking about ABCI to be honest but it's okay because it leads us exactly um um um there because for me me celesa is like the like The Logical continuation or like evolution of what like ABCI also enabled you you mentioned that um with ABCI you can like basically put on top of tenament which is like a consensus engine that doesn't also tenement doesn't know what the transactions are right like it's just blobs from the from the software point of view the transactions that go into tenm are just blobs and the trans the

the application on top of tenement is what decides if these are valid or not um so Celestia is exactly that but like instead of in software it detangles that in different like chains literally um so what tendin does is also just ordering and consensus and in some way or the other is like also doing data availability um if you think about uh you could very much build build an application on top of tmin where any transaction that is posted you just accept you just include them in the block and then in the next block you the the application commits to the state route of the transactions of the

previous block so that's that's a that's a implementation specific to to tendent where the transactions of one block um materialize in the state route only in the next block right and and and if you think about it Celestia uh you could think about Celestia doing that but instead of like one block apart it does it into different chains right like into different uh uh uh layers essentially um so what celesia does uh is it orders Blobs of data uh like tenament but uh it takes these like you you have to submit the data from from basically an application and um the only thing that does you pay for the transaction for the inclusion of the data and what you gain

from that is ordering of these transactions right like that's usually what you call consensus you have like data you agree According to some rules we use so it's like that are the rules um it's like bft consensus uh you agree on the order of these of these blobs essentially and um what is like data availability is is uh one core component um for for building decentralized applications it means that the data that um if you if if if a block producer produces a block right um to be able to recompute a state um you need the data and so it's like

dat data availability uh problem so to say is how do you guarantee that uh a block that was produced let's say I I you're a light client I give you a header like how do you make sure that the data um belonging to that header was also published to the network and why that's important is like first of all you needed to recompute the state but also if you're a light client um how do you know without downloading all the transactions um how do you know that the state route in there is actually valid U like how do you know the transactions that were included in a block were actually all valid um and one way to solve this is is via so-called State

fraud proofs and we will we will use those for um rollups for instance um they are basically an like a alerting mechanism where a full note can tell a light not uh can tell a light client um here's a small proof that this this header that you saw is actually invalid um that like the block producer the block producer could be like a two-thirds majority on tenament over like in Bitcoin the the next minor or something right the block producer produced the header and the the um the uh headers actually or the data behind it includes invalid transactions and for that you need the data actually to be

available right like you need to be um published to the network and how do you guarantee that um if we go back to tenament uh how we guarantee the tenament is you publish the block and then um it's it is is like the the for for light clients there's no such mechanism you you're trusting you're operating on an under an honest majority assumption but for full nodes they just download the whole block right like then you are sure that it's been published because because you download all the transactions you replay them you match it with the with the proposals so to say with the header and you can be sure that the um that the um uh uh uh that the data is available because you downloaded

it and you said uh you mentioned eraser coding or and uh data availability sampling these are techniques um to make it such that instead of forcing everyone to have um if you want like security the same as a full node and um with and you don't have the bandwidth or you just don't want to download the whole block to verify that like how do you go about it um um and and and one technique to do so is like these data availability proofs which is or sometimes called Data availability samping it's like a verifiable way you can Loc verify that

the block has been published that the block that the header you seen the block data behind it has been published without downloading the whole block and um you only need to download a tiny portion of the block and that sounds kind of impossible but the technique that you use um to to make it feasible and possible is uh uh data availability sampling and the Eraser coding um how that works is I mean we all know CD ROMs or CDs um um and so or yeah basically you remember I mean most of our listeners probably still know what a CD

is but um I hope so uh so in on on CDs or CD ROMs like even if you scratch them a bit you can still recover the whole data right like um they use a technique which called eraser coding so that you can lose a certain percentage of the data you can like adjust the parameters you can use like up to half of the data for instance and be still able to to recover the original data um and this is exactly what we do the parameters that we use are exactly that like you can lose up to 50% you add parity bytes to to the original like uh data and um and then you sample um uh arbitrary chunks so by by doubling this

size you only have to like uh uh so so by sampling the block you have very quickly you gain a high probability of um of um of the like you gain assurance that the block producer is not withholding the data to you um and how it how it works in in in in more detail is instead of just um eraser coding the data uh um uh as I mentioned you just add 50% you basically double the data and you add uh uh um um the same amount of parity bytes you actually um we actually eraser coded multiple times um we like

uh put it in a square and then we eraser coded uh once to the right and then the column wise as well and then again um a mix of those and uh um the reason for that is that you also won't guarantee that um the Eraser coding is done correctly and you want to be able to not trust the valid data set to do the Eraser coding correctly because that is also an attack Vector right like you want um you want um light clients to be able to get like a small proof that proves that if in in in in case the the valid said gon rug

like also like not acting in your best interest so to say you want assurance that the um um that light CS can be notified and um I don't know if it's like it's like easy to explain this without like drawing something or or uh um um um yeah without like visualizing it some way but like the the the simple way to to think about it you add these parity bytes and with that you increase the probability uh with every sample request that you make and only down like a tiny portion of of the data with every time you do this you gain more and more

confidence that the data is not buold it to you and this two-dimensional scheme that I described is more is only there such that um um uh even as a light client you don't have to download the whole data if someone like if block producers produce a block with an invalid eraser coding okay I don't know confusing yeah no I'd like to maybe try to like break things down a little bit into separate parts so yeah um I'm I've got a project like I I want to launch my own blockchain um what I would what I would do today is I'd probably uh like you know clone uh the cosmos SDK I

would build my application using the cosmos SDK I would go out and find a bunch of validators or sometime use cosmos's uh interchange security secure my chain and um I'm I'm posting transactions to blog producers are are the validators and and they're posting transactions to the chain um and that that happens like they're posting transactions to 10min consensus so I have a separation between my application which is a cosmos uh SDK app um the the validators that are executing consensus and posting that to the to the tender's uh database like data layer uh in in this uh

Paradigm if if I want to deploy a a chain like I want to use Celestia instead um what I what is what is this execution layer that I would use do you have your own execution layer or can I use an evm can I use Cosmos SDK and then the you can use all of them okay great I mean um sorry yeah continue yeah yeah but I guess the the the the thing that's unclear is when you're talking about block producers so the the block producers are producing blocks um in the I guess in the layer that's on top of Celestia so like you have this data

availability there is Celestia that just accepts Blobs of data um for participants to be able to check um so those participants would be say like users of that chain so people who have like a wallet uh instead of having to run a full node they can run a light client on their phone and they can simply sample that like client would just sample data from Celestia dat availability data availability there I suppose there's probably like some sort of SDK that allows the the the wallets to do that but um what is the interaction then between the you know these like client wallets that um operate and interact only with the

Celestia chain and then the execution layer where there there must be some some validators or block producers at that at that layer right like there's someone's taking those transactions and ordering them and putting them into blocks that then get sent to Celestia yeah so the the there isn't just like one single answer to this because you're free to do like your um execution environment like it heavily depends on how you implement your sequencer and your execution environment so um but we have one project which is called optimate um which is like a drop in replacement of tenament so aderes

exactly to the ABCI interface that you mentioned and you can build your Cosmos SDK application as before and then you I mean make it sound simpler than it is but you can do it with scaffolding or like with an IDE or some sorts um it basically replaces the Imports removes tenament replaces it with uh uh optimate and then this this software is what users directly interact with so if they if they just run like a a very simple wallet they they use an API they submit their transactions and that's it like from the user point of view nothing changes like they submit their trans transactions get the confirmation for will be included um the block will be produced they they can check against the

route and um they're done essentially but like um I think the more interesting part that the the thing that you were you asked many questions right like but I think um so one approach to build an application is exactly as I mentioned before um you you you uh use the cosmos SDK you um build your application logic using the cosmos SDK and then deploy it as a sovereign rollup um um that uses optimate as a sequencer which is basically like a block producer right um which takes the so so optimate here replaces tender exactly yeah right so

you could use like Cosmos SDK with optimate exactly okay and optimate takes like produces a block takes that block submits to Celestia and then light lines can go check first of all the the the like inclusion of a transaction or something into against the header of the of the rollup block but they can also check that the block was included um uh uh uh in in the in the in the Celestia block as well right and that gives him the the assurance that if something malicious was going on um in that rollup block now like the RO they see the rollup header and um but because it is

guaranteed that the data is available someone could produce a fraud proof for them but that's only in the in the uh rare case that a fraud actually happens right like if some some some malicious Brock producer um tries to steal funds or something right like then then in that case you can like re we like you can generate a fraud proof and um depending on how you how your rollup operates like if it has a single centralized sequencer it might actually be very easy right like to compromise that sequencer someone tries to see funds for something and it might be easier to compromise like one Central sequencer than than uh a large validated set of like wellestablished companies

that know how to operate uh in a in a in a Byzantine environment right so it's actually very necessary to have these these fraud proofs um um but you could also and we also working on this internally to make optimate not only a single sequencer software but um like a for for centralized sequencing uh and fraud proofs but instead we are also um um trying to make it that you can have similar true tenament where you Bond stake I mean on the application layer you Bond stake but uh it boils down to some kind of voting power that ten sees similar to that mechanism that tenan

uses for like round ronish weighted round renish weighted by voting power um leader selection you could do something similar on the rollup right like you can have a decentralized sequencers you can have like maybe a few hundred even or maybe even an unlimited number where you like uh depending on how you implement it you could have like much more uh sequencers and um they can produce blocks and because of the state fraud that I mentioned you could like remove them uh you could ignore an invalid block and remove them and slash them because they bond at stake right um so so the the the the only Advantage here of having multiple sequencers is um is for sensorship resistant exactly

senstive resistance right so like you you can trust you can always trust um one sequencer because you're able to do these prod proofs but the TR can on the security of the whole system to that's right yeah so having multiple sequencer is essentially a um provides censorship resistance because then at that point you're not only trusting one sequencer so yeah yeah not only censorship resistance but also guarantees you liveness right like in in tenament if like a block proposer is not available like it's not it's not online uh you you go to the next round and next round like you you eventually will try another block proposal right like another leader and and um that

would be the same in the in the rollup case if you have multiple leaders so it's like it guarantees you liveness of the rollup and maybe some sort of sensorship resistance yeah yeah I to me like sensorship resistance and liveness is like if you turn off the system you basically sensor okay yeah I see I see what you mean like yeah that's that's the way I see it so okay so so Celestia optimizes for for integrity of data and not so much for liess but you you arrive at livess by in by indidual application increasing the number of um of sequencers um but then you you know as an application then at that point you have to create the right incentive

structures to uh make sure that if you have multiple sequencers that they don't all go offline so you could you have a slashing mechanism there that U makes it such that if you're offline or if like all the sequencers collude to go offline they lose their bond I mean if they all go offline um I think then you have to um so so first of all like how if if everyone can be a sequencer right like if everyone just needs to bond tokens and they can propose a block um this won't really happen unless like no one cares about the chain right but so so then then the barrier to enter to be a sequencer is say lower than than being a

validator on Cosmos like or on a cosmos chain I'm try what is the what is the real benefit of using a system like Celestia when you could launch a cosm chain like you know benefit that you just don't need to have this robust infrastructure of validators um because the sequencer is essentially like a very simple um it's it's quite easy to be a sequencer like you could do it from say a laptop or uh yeah what are the browser essentially I mean but like I think I think what we will see is infrastructure that um people can focus on building their applications and there will be

multiple service providers that provide these like sequencers or um different execution environments so I only touched on the optimate and SDK case but like I can go and explain the other other two options that we talk that we that we are working on internally as well but um I think eventually there will be you can imagine the future that we want to see is someone writes an application deploys that code on a service provider clicks a button and then the chain is is is live and and running and they can advertise for their chains like maybe it's a game or something you can like go and say like your friends hey there's this game or there's this like whatever coordination tool I built and and people can start um um um using it without any

any further any further hustle and like from the point of view of an application developer they don't need to care about like all these nuances and details at all you just like click a button and the thing is deployed similar to uh uh today you do like on on on AWS or something right um you write code you deploy done and then people can start using your stuff I think that's the main benefit but that's that's still a long way to go right like the the core infrastructure will be there but then you have to make it such that is like actually a a very nice developer experience and but it will be um I think that part is actually the easier part to build because like once you have the infrastructure in

place you can start building these these uh um making it like super frictionless for developers and then for users as as mentioned before for them it's just like using any other decentralized application um okay going back to the other execution environments um you mentioned the evm for instance so we also working on uh basically what we what we're working on is like ether on top of optim um but as a settlement layer um so what that means is it will enable you for instance to deploy ethereum rollups on top of that settlement layer and these

ethereum rollups they can use these this this evm based settlement layer that's based on ethin um and optimate they can use that to like bridge between each other right like you can have Celestia at a base layer and then on top of that you have a settlement layer and um that's an evm chain an evm rollup and on top of that you have more uh evm based rollups that like today like on ethereum rollups today uh settle on that settlement rollup instead of on ethereum so that's another like that's another uh uh um deployment strategy that we're working on internally as well so for solidity

devs I think um this will be very appealing once the infrastructure is there they can just go and deploy their smart contracts on either a roll up yeah basically they can deploy on a roll up on top and they that that can build its own its own ecosystem basically that is that is like an evm ecosystem like evm based ecosystem on top of that settlement uh evm rollup right M okay that's that's interesting so how does the um so how does one pay to use Celestia um and so at the like the application L these rollups when they post transactions do the rollups need to have like a treasury of tokens that they

use to pay to use the network and yeah generally like how does celestia scale and like fight against spam and and things like this um so first of all yeah the applications need to pay like every transaction that you submit like any transaction data carrying transaction that you submit to cesa you'll need to pay for it and of course then the applications need to yeah for the inclusion of their data they need to uh pay for that as well so but like how you do it exactly again is up to the particular execution environment it could it could be in some way that like you you give it to the users basically the users have to like uh fund their

wallets additionally with that token or so users would have to have Celestia tokens in addition to that's one option the token of the roll up that they're using for instance that's one option that's probably the more like unlikely scenario but that's one option the more likely scenarios that like it will happen in a layer below that like the user is not involved they pay in their like native uh token for whatever like the chain does like right like as as you do on a on a on a cosmos chain uh for instance you only care about like the native token um but on the lower layer there's like a sequencer that is like needs to be funded in some way with like Celestia tokens for the inclusion and batches it

how it gets funded exactly again is up to the maybe there's like a community pool maybe there's a treasury as you said like there's there's so many options um it's not something I thought much about to be honest but um I think that's the that's a very simple problem and how do you fight spam is like on any other blockchain right like you there's like a fee market and um the more the more users use the more the fees increase as well um um yeah basically that's it like you fight spam by increasing the fees if there's like high usage if you see high usage yeah and and how how to to how many like transactions can celest a

scale maybe transactions isn't the right right um term because like your yeah or measurement because your roll up you know could be producing so many transactions then you have like you know thousands of rollups maybe building on top Celestia is it like how many proofs can Celestia handle per second is that the better measurement no I think I think like at the base layer you would rather look at like how many bytes per second right like the transactions or the transactions of the rollups they are like put together into blocks or or like like some form of blocks and they submitt it to Celestia so maybe your rollup can do like a few thousand transactions and then uh this is like a few a few kilobyte or megabyte

uh data that you submit onto onto uh Celestia and then it boils down to how many bytes can currently tend handle um um per second essentially like csia is a tenament chain like it is it's a ten exactly how many bites can it handle that's a good question we didn't measure it yet but like I we have plans to so the the nice thing about that modular stack is like once you have that once you have like specialized layers you can like optimize the base layer for throughput for like data throughput essentially and we have some ideas like very concrete ideas how to increase that throughput um

to a very high level it's like there's a there's a paper that introduces like internal sharding it's a very simple form of sharding you could think of it as like pure data sharding um basically as you would Shard a a centralized uh a database in Cloud right like you um the that's that's something post launch not not immediately I think we won't I don't think we'll see any bottleneck uh immediately um after launch like it would mean I'm pretty sure tenan can easily handle uh um I don't know let's say um at least like 4 to8 megabytes per minute that's like uh uh like four

megabytes blocks uh if you if you do a block every 30 seconds um that's like roughly how we think about it right now right like uh I think that's that's already feasible and I think that gives us enough time I mean look at the at like block sizes right now they're not too huge right like blocks are like what a few kilobytes most most of the time so it's like it gives us um enough time to uh optimize for throughput until we actually hit scalability bottleneck on on that layer and it's very as I said because it's very specialized is like um you can focus on that one problem it's very like it's it's easier to solve than solving

it all right like you have to when you increase fruit put on other chains you'll have basically the same the the you you also increase the execution usually and you have that problem that you have to scale both and then in this case you only need to scale throughput and I'm very very optimistic or actually I'm I'm 100% sure that we can like uh increase the throughput there to levels that are yeah that that easily can handle Global State uh like global scale sorry okay I don't know transaction wise it doesn't make much sense like transactions per second I don't know a few hundred thousand I'd say if you measure all the transactions of like the

rollups on top yeah no I mean I think it's it's a better measurement to think about it in payload per per second like um but yeah it's hard to it's hard to say quantify I think like what will be the maximum amount if you you consider that every um execution layer is using their own um sort of like execution layer and might have parameters that make it such that some execution layers are handling more transactions than others but um yeah let's maybe talk about the this test net that um you guys recently launched uh whatever you how long has it been since you've launched it and what

have you learned since running this live Network so it's not the first test net that we've launched we launched previously in back in November December last year we launched a test net we called devet it was like an internal test net launch and it already had like the like the basic components but like what this test net adds is um first of all the there are less bugs in the in the in the in the in the data availability layer but like on the data availability software itself um so it's like more hardened and like the usual um like software improvements so to say but like what it adds is a single API that Developers can use to to uh

build applications right like for instance we have this this settlement layer that I mentioned that like is basically eement on top of U like using optimate and on top of Celestia we have that actually running on on that test net um so producing blocks uh like metamask integration and and uh yeah that that that like I think that's the main difference is that API that exists now um what did we learn um so we we we we switched to using the latest tendent version and uh usually I think like I take it for granted that the tenament just works but this time because the tenament team has like Rewritten the peer-to-peer layer there

were like many issues I think that the the the the main issues we've seen on the test net were bugs on the like on the new peer-to-peer layer or at least they Bubble Up in our Network because we have like these longer block times but I've heard that like other chains like I think penumbra is also using this this tenament release and there was another project Oasis I think like they all had similar issues so I guess we learned uh we can't take this for granted and we've been we've been uh working with the tenement team to like resolve some issues and debugging there um yeah I think that was um um um like one one one big learning point there but uh other

than that I think the the chains like stabilized after some like initial initial hiccups but it's mostly stabilized because our validators were like very creative and like they've seen spikes in in peer lists and what they've done like it wasn't it wasn't obvious where it's come from and it must have been something on the peer to-peer ler it might be like a memory leak or something what they do is they restart their they restart their validators every hour or something which is is obviously a hack right but like that's why the test net stabilized um but like without going into much detail on like the the tend side um I think for the main thing as I said is like you can like play around with the test net and

start deploying like experimenting and deploying applications but it's still a very uh this API is very basic like it allows you to submit these data carrying transactions and um listen for new headress essentially um um and and do this like data availability sampling and that's that's that's basically it oh and of course you can you you can download your application specific data so you can submit it and you can read it right um every every every application in Celestia has like a nam space so you you you submit your data um associated with the namespace and then you can read it like you can say like give me all data that was included in that block with

that particular namespace right um um so that's that's that's that's so um basic maybe that like for application developers it's not it won't be enough application developers will need something like here's a tutorial how to how to use optimate and deploy your own chain here's a tutorial how you can like deploy your solidity smart contract as an evm chain on top of Celestia and like things like these they they are still evolving but uh if you would want to write a sequencer if you would want to I don't know deploy um let's say substrate on on on Celestia right like an substrate based execution

environment you can do that today it's like the learning curve is like a bit steep it's not as frictional it's not the one click thing that I mentioned before but you can start experimenting with it like that's that's what the test net gives you cool um and you I want to come back maybe a little bit as as we come TOS the end here to to Cosmos and like um Celestia is like very much tied I feel like to the cosmos ecosystem you know from you know your uh contributions to to to Cosmos and tender and and also you were funded by the interchain foundation or partly funded by the interchain foundation um H how does celestia align with the uh

the interchain vision um and I is there is there a road map here for because like it feels like you know in in a world where uh you want to have ease of deployment of chains um interoperability I mean we didn't talk about this but I I guess any rollup can interoperate with any other rollup using IBC [Music] um is there is there a road map to like replace your your Cosmos chains uh validor set and uh and um um and consensus with Celestia

consensus um H how do these two approaches compete and are they meant to be complimentary or more competing I think it's more complimentary um in the sense that um it's an alternative approach you could think of it as an alternative approach Ro to Interchange staking right if you if you use interchange staking you have like direct interoperability it's very like it's it's very clear how you like interoperate with like IBC and and and all these chains it's actually more nuanced you can't even if you do use optimate and the cosmos SDK um modules to build an application on top of Celestia is not you can't take actually IBC for granted because you would need

to to like to talk to other rollups you would need either a settlement layer like something that I mentioned before like it needs to exist where you can like set like you can basically use that to Bridge and resolve disputes or your IBC client that doesn't exist yet like there's no implementation of this but like there needs to be some form of optimistic uh IBC client that allows for state for proofs which also means this it's a bit tricky because it means that your IBC client suddenly needs to be a able to execute transactions from the chain you're talking to right that that's um that's a bit tricky um yeah so that's that's definitely a challenge

that we but we're working on that as well um it's definitely easier with like a settlement layer uh so if you use you could think of like kmm chains and you have like a km wasm uh settlement layer then you could use that right um um um yeah so so so that's about IBC and interoperability I just wanted to mention that and um there there there won't be it's not like an upgrade path from a cosmos chain to a Celestia chain first of all like um uh I think what would be what would be the reasons for like a cosmos chain to to switch to Celestia and replace your valid dator

set um the reasons could be that is like it goes against your core business model right you're not focused because like you you you currently have to like maintain a valid dat set maintain the delegation program and and so on and so forth if that is something you don't want then yes you can replace it um and and become a rollup on on Celestia sure um but um yeah uh asking so so asking how it's aligned with the cosmos Vision um there was also a question you asked right like I think it's it's it's more or less the same vision like it's it's a very aligned in the sense that we also see a future of like application specific

chains um but you can think of you could think of um um I think Mustafa has a very good blog post on this about like clusters where you have like clusters of chains or clusters of of uh uh uh uh communities or ecosystems basically where in these ecosystems you have like an honest majority uh assumption like uh for instance like IBC chains connect to each other uh are are clusters are one cluster and then you have like a a cluster of of uh uh um um um I don't know uh evm rollups on top of Celestia for instance and um

so I think it's like an extension to the original Vision where you have an alternative deployment uh mechanism that potentially is much simpler uh for uh uh application developers than running your own chain I think that's that's the the tldr here yeah no I think I I also see it in this well I'm starting to see it in this way where it's it's an alternative to Interchange security and it's going to be up to individual chains to decide where they want to deploy and where they're where they're like in what cluster they want to be like if they

want to be closer to these applications here on like the Celestia cluster or on the cosmos cluster or like you know in the um in the if you extended like the polka dot cluster or or like the fos uh cluster and um yeah and then it's just about like where do you have um where where do you have the the the bridges to like bridge between like Bridge liquidity between those clusters um yes and it might also be a cost question right like uh communities might decide to redeploy somewhere else because it became too expensive or it became

too um too crowded or I don't know like there could be reasons to migrate to or politically contentious exactly exactly yeah maybe maybe not aligned with the Hub or something right that that could all there could be various reasons yeah this is actually a very good point you could like misalignment of incentives where you would say like okay I don't agree with with this this uh this community anymore essentially and I want I want to be more more Sovereign more more have more freedom of my own because like the celestial validators will never like will never interact with your transactions they don't know what they are you know yeah yeah no this is um

this is really interesting and um I mean I guess there's also like other other projects are are are moving in this direction so you ethereum 2.0 is is moving into this like data avability data availability Direction and um I'm curious if you're familiar with I interviewed a couple weeks ago Redstone and they're using um basically like R weave to as the data availability and they've built like this smart contract language for rwe and they're um they're doing like they're they're they're building infrastructure that achieve similar goals to Celestia but they're building in using like R we as an underlying uh data so my understanding my

understanding is a weave is more like a a data storage layer than like a data availability layer in the sense so of course you could build an execution environment of on top of a storage layer but you won't have the same like you won't have uh data availability proofs of of sorts right like you won't have the possibility to have assurance that a validator set uh included your data ordered it and published it in the same way without downloading like for light clients without downloading all that data uh if if you assume everyone is running a full node like this approach is is totally fine right like you can you could uh uh just say okay I dump my data on our weave everyone donates it from our weave and then also it's great for historical

data right like on our weave you have like a guarantee of of the data to be be kept uh uh downloadable so to say retrievable um that's also it's also a nice property but it's it's it's very orthogonal to like in there's of obviously an overlap but like it's very autogen to what we're trying to build which is more exactly this like um you are uh able to run like light clients um and also light clients can actively like serve this data as well and and and and basically um secure the network in that sense right yeah so where where should people learn to go where should people go to learn more

about Celestia and yeah what would you what would you like people to uh what's your call to action here so definitely visit our like if you want to learn more um visit our homepage Celestia do org and um org and there there's uh there's like a resource page and an FAQ like if I confused you on this on this podcast I very much recommend you to to visit that uh uh like the resource page or the FAQ it's very uh uh um yeah very very very uh comprehensive and um call to action I mean if you're

intrigued by like the modular stack and um if you have like a favorite execution environment that you want to see on top of Celestia I very much like encourage you to have a look onto our apis and our like documentation is still very early it might you'll might have a hard time and like digging through everything but like we have also a page called docs Celestia org and um but I would like I would ask developers particularly protocol developers um to have a look and build out infrastructure on top of Celestia I think like now is the right time to start building even though it might be not as fiction as as I

described but this could be your business model to make it as friction as as possible where like developers can literally just write code and whatever favorite programming language or whatever favorite execution environment they want deploy it and um um and yeah and done cool well uh yeah I'll link to uh the website and documentation and some of the blog posts you mentioned uh in the show notes uh thanks so much for coming on been a pleasure of chatting and hopefully I'll see you in uh in Paris for for NAA Summit once again if um if our listeners are interested in attending nebul Summit you definitely

should uh the tickets are available at neb. Paris so thanks so much and we'll see you next time thank you very much see you soon cheers