# The Path to Gigabyte Blocks | John Adler -  Celestia Labs

- Channel: [Ethereum Denver](https://streameth.org/ethereum-denver)
- Date: 2024-10-09
- Duration: 21:02
- Topics: blockchain, web3, ethereum, Entertainment
- Watch: https://streameth.org/watch/yt-uv5TG25sKZ4
- YouTube: https://www.youtube.com/watch?v=uv5TG25sKZ4

## Description

Celestia's vision is for the industry to achieve 1 gigabyte blocks. Through Blobstream, we believe this is possible. Blobstream streams modular data availability layer to Ethereum. Specifically, Blobstream relays commitments of Celestia’s data root using an onchain light client, enabling Ethereum developers to create high-throughput L2s as easily as they develop smart contracts.

APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN


APPLY NOW
https://ethdenver.com/apply

## Transcript

Adler the co-founder and chief research officer of Celestia to talk about the path to gigabyte blocks take it away John hi everyone uh good afternoon uh I'm here to talk about uh the first not the end not the end step of gigabyte blocks but rather the first few steps of the Journey of scaling ethereum specifically with data availability okay so a bit about me my name is John I'm one of the co-founders of Celestia uh I do protocol research uh protocol research and design at Celestia labs and do my best to lead the engineering efforts of the protocol team uh occasionally I also should post on Twitter okay so when it comes to scaling a theorem with data availability uh the talk of the past many years has been rollups right uh how does our rollup work to make sure we're on the same page uh it's a mechanism by which you can separate execution from data availability and ordering uh so you could have one of several or several simultaneously different execution layers for instance here we have arbitrum optimism bass Stark net and of course there are many others uh you know ZK sync uh Manta I can't even name them all but you can go on L2 beat there's like almost 5050 at this point Point ler twos rollups uh and then there's you know another in the in the upcoming tab they have like another 30 35 or something of that and this is only the beginning uh so why are rollups useful well if we start with the premise that execution is the bottleneck uh which we is generally agreed upon premise uh then of course if you make the base trust layer uh which in this case this example is the ethereum protocol if you make the base trust layer not do that execution then it can do other stuff with those resources uh so in the model that's kind of evolved uh for classical rollups uh which have basically been what people have seen for the past couple years module over the past few months uh has been one where ethereum the layer 1 ethereum chain serves as a consensus layer that responsible both for data availability and also settlement but also most more importantly it also has its own execution so this is the unfortunate side effect that if a rollup wants to leverage ethereum for data availability it has to compete with other applications that are not rollups but rather their applic applications proper uh for some single some single shared resource the gas uh and this is not great because is not great because defi Primitives and stuff like that can be very they can be not very expensive but rather they can have a lot of financial value and like the the ability to take a global lock on the entire shared state of ethereum to process your fin financial transaction uh in any kind of in any world where there's a large amount of Finance going on on the space layer that is going to be expensive so how do we get this issue and make data availability separate thing now we're going towards a modular blockchain stack and this is what people have been kind of building towards for the last few years uh you know rollups have been deployed to separate out execution and now we have data layer data layers and other da mechanisms being deployed to further modularize the stack and allow a theorem to be used more of resettlement and off for data availability so you have protocols like Celestia um and you also have mechanisms rather than entire protocols like EAP 4844 that essentially only do data avilability and do not also do execution and what this means is if your protocol wants to if your execution layer wants to leverage one of these data availability layers it doesn't have to compete with say some defi applications it only has to compete with other rollups and it only has to compete for data availability not execution uh moreover uh these data availability mechanisms have the nice benefit that they can be substantially more scalable than a layer one blockchain like a base trust layer that also has other responsibilities which means that the data availability throughput of these data layers can be substantially larger as we'll see in a few slides spoiler spoilers okay so what else have we seen uh come out from these modular blockchains uh this is an example of a screenshot from a rollup as a service a Ras provider called conduit literally just from I think two we less than 2 weeks ago uh on February 21st uh they released the their product here uh it essentially allows you to spin up or roll up as easily as you deploy an application a smart contract or you can basically choose and you can see the three layers here you can choose your execution layer uh you execution stack which in this case they're both evm uh Stacks the op stack and arbit orbit you can choose Your settlement layer exactly like in the previous picture where you can settle on ethereum L1 or you can also settle on some l2s and you can choose your data availability layer uh so this actually allows you to deploy not just l2s L2 rollups but also L3 rollups so for example an execution layer built on op stack on top of the base L2 and these are the kinds of things that we're seeing emerging now that we have scalable data layers and that da is no longer the bottleneck for a rollups cost which of course I'm not going to talk about the issue of if da is not the cost then execution might become the bottleneck yet again for these rollups that's for other people to solve uh here we're going to talk just about the data availability part the data availability part of this okay so if you were to build something like this that settles on let's say ethereum and that uses last year for data availability uh how would you go about actually doing that in practice so this is where this uh this is where this uh this application called blob stream comes in uh it was formerly known as quantum gravity Bridge uh which is a terrible name which is why it's now now called blob stream uh and it's not a bridge in the traditional sense of a token bridge that is bidirectional that allows you to move assets and or messages between two chains or two domains as James press would say uh rather it's a unidirectional relay of information from Celestia to an evm chain it could be ethereum it could be base it could be arbitrum for example any evm equivalent or evm mostly compatible chain would be able to basically use blob stream out of the box that being said there is also the nice property that any execution layer for example Solana uh which has a completely different execution model on the evm could also use blob stream without any changes to the Celestia protocol and we'll get into why in a bit as I explain how it works in detail uh but the initial implementation is just for evm chains okay uh so how does it work I'm going to try and go into a bit of detail to satisfy some people because uh in Pre some previous talks I've given about quantum gravity bridge and bloodstream I kind of gave a high level overview now I'm going to go into a bit more details and this is a hacker conference after all uh so you can see kind of some details of how how it works and some of the nuances around the security assumptions so how does this work the SLA chain is a comet bft chain like a tender chain uh that has a validator set the validator set signs over every block to give it finality uh in some regards this is similar to the ethereum consensus protocol where blocks are final after they Reed votes from a cumulative at least 2/3 of the stakers or voting power of the chain at a particular height okay so if you want to know that some data is available on Celestia on your evm chain which we'll use ethereum in this example how would you do it well like many bridges you need to run a light client off the Celestia chain in the evm and how do you run a light client you have a smart contract that verifies signature uh and keeps track of voting power so that whenever is whenever it is relayed a new header it checks to see does the header actually have enough consensus on it okay uh I mean this is like fairly standard lik line stuff at this point nothing special is happening but what guarantees does this provide uh the nice thing about this mechanism versus for instance a data availability committee is that if a majority of Celestia validators are dishonest then sure they can check the bridge or the relay but they are dishonest in a way that is accountable because they have they have they have to make signatures they have to make digital signatures which can't be forged since it's accountable it means that they can be slashed the data availability committees don't have this property right and the data availability committee is purely up to the reputation okay uh now some security nuances uh one thing that was very important to us when we were kind of implementing and designing bloodstream as a whole stack is to make sure that is it's secure and that it has the slashing property which a lot of other data availability solutions for ethereum do not have right uh and if you want to know you know if something is secure uh the first thing you should ask is how do you do slashing because basically every every da solution that claims a scale ethereum uh un last it's part of the E theum protocol itself it's going to have some sort of economic stake some sort of slashing Etc if it's not part of the ethereum protocol itself such as EIP 484 okay so how how do we do slashing or rather what Nuance do we have here with slashing uh there is kind of uh there's this issue that what happens if someone or the in this case the celestial validators rather don't sign if they don't sign then you can't slash them uh because slashing only works if you have a digital if you have digital signatures from at least a large number of validators to show that you know they voted for let's say an invalid block or a block that is different than the one on the canonical Celestia chain so what happens if they just stop voting and they just freeze the bridge then you can't slash them because you don't know that they've stopped voting and the reason you don't know they stop voting is because uh like many tenderman chains Celestia uses uh EDS a instead of EC DSA and the on ethereum you can't really validate 30 40 100 Ed DSA signatures in a single transaction that would cost like I don't know a billion gas so that's not going to happen uh so what's the solution to this uh the solution is that uh this is how it it used to work I'll go into improvements in the next slide uh so how how would it work uh the celestial validators would post their signatures into Celestial blocks to to make them available after all is a data Avail data availability layer right so kind of self self- referentially they would post their signatures their ecdsa signatures because they have a key they have two keys one EDSA and one ecdsa key pair they post there ecdsa signs to to Celestia itself and this allowed them to be slashed if they stopped signing so then you get slashing both for equivocation or invalidity and also slashing for liveness failure uh and both of those conditions are very important to have again if any protocol claims to scale ethereum the first thing and last is part of the ethereum protocol the first thing you should ask is how do you do slashing for both aliveness and safety failures okay so now the issue about what I just described or you have to post signatures into Celestia or you have two different types of keys one Ed DSA and one ecdsa is kind of a cumbersome it's kind of a so how do we solve it oh I'll go back to I'll go back to the previous slide and a sec how do we solve it this is where blob stream X comes in so this is an improvement to blob stream that uses none other than zero knowledge proofs the thing that you know abet has been hyped about for years and you actually verify eddsa signatures inside the zkp so that they don't have be verified in the evbm directly essentially you're running a ZK light client of Celestia in this case what benefits does it have now Celestia validators don't need two key pairs one e DSA and one EAS DSA they only need their single EDSA key pair and more importantly you don't have to do this whole thing where they make their ecdsa signatures available because they don't need them in the first place they only have a single key pair that key pair is used to vote on Celestia blocks proper if they stop voting on Celestia blocks they'll get kicked out of the validator set or they'll get slashed by Celestia soci social consensus regardless so uh this kind of solves all the issue and makes everything substantially easier here okay now let's say you're a developer and you want to use blob stream I've talked a lot about kind of How It's implemented and stuff but how would you actually use it if you're a developer be it a rollup developer maybe you're some infrastructure developer maybe you're an application developer and you just want to skip over all the infrastructure stuff and just go straight to having an application that uses some off train data availability solution it's actually quite simple literally the entire interface for using blob stream and blob stream X because they have identical external interfaces is this one function this one function allows you to verify has some data is some data in a Celestial block and has the celestial block been previously relayed by the blam contract and this the implementation of this function on both versions of bloodstream s checks all the checks all the necessary preconditions and then returns you true if in fact that data is available so this it's very simple that there's only a single function that needs to be uh used to to verify this okay so what do we get out of all this in Practical terms right I've talked to you about you know blob existing sure what do you get out of it uh so on the left here we see the average throughput of the ethereum chain and the average availability of call data on the ethereum Chain uh which is in the order of like 10 to 15 kilobytes per second which is also on the order of dialup internet right which I think was like 56 kilobits uh you know it's it's on that order which is not great uh Celestia which currently on mainnet supports 8 megabyte blocks every 12 seconds has a throughput on that's closer to 700 kilobytes per second uh and the difference in orders of magnitude as you can see here and this is also the difference in order of magnitude between dialup internet and Broadband broadband internet so this is really crypto's Broadband moment where you finally have access to an abundance of trust trust the data availability and you can build applications that straight up would not have been possible to build without this abundance right like internet streaming YouTube and stuff probably wouldn't work very well if everyone only had dial up internet and now we finally are getting into the Broadband stage and we're not and that's not where things end right this is only the beginning it's only the beginning of the path towards the end when we're going to Koby blocks this is how what you know years in the future when we have through puts on the order of 100 megabytes per second uh not just on Celestia but I'm sure on all their data availability Solutions as well all scaling ethereum you know the throughput that was available to us in years past that you're available well not today but let's say 4 months ago prior to the launch of Celestia it's going to look those it's going to look like those tiny little blips on the left and we'll be wondering how did we ever do something with you know basically dial up internet okay what does through give among other things it will give a reduction in fees so this one here is taken from L2 fees today and where you can see that even on layer twos uh because of a very high cost of call data and data availability things like swapping a token can easily take a dollar and you know ethereum hasn't even hit mainstream adoption yet right uh I mean maybe some will argue that you know it's mainstream already but I I think a lot of people say you know we are still early uh and that's my opinion as well and we're still looking at we're looking at fees that are already a dollar imagine how expensive they will be in the future but if you use scalable data availability Solutions then 99 plus% of this fee ASI goes away uh and here's a concrete example from Manta network uh which uh integrated Celestia underneath back in December so this was literally just like two months ago uh and in those two months they've saved almost $2 million in fees that they would have had to pay for data availability had they not used Celestia okay so kind of closing closing closing remarks here we're kindly we're finally entering an an age where you can access abundance and with that abundance you can build whatever with Celestia underneath uh and to that end uh we're also going to be hosting a modular hackathon uh later this month called The Infinite Space Bazaar so keep your eyes peeled for that if you want to participate it's an online hackathon uh and if you want to find out more uh here's our website and our GitHub we build basically everything in the open uh no close no closed repos everything's in the open everything's completely free and open source uh and here's also Twitter if you want to follow us for socials and with a few minutes left I'm opening the floor for questions okay I see you one one hand for questions over there do we have a mic for questions okay I don't see I don't see a mic but if you yell out I'll repeat the question okay so the question is around has there been any thinking or Research into using kcg commitments or other polinomial commitment schemes as a replacement of fraud proofs uh So currently Celestia is built around uh I don't say built around fraud proofs but rather it currently supports bad encoding fraud proofs uh which means that uh if the its block is incorrectly encoded and and constructed uh there is a fraud proof for that that can be distributed to the network to show that it's in corre but like any fraud proof scheme you can always have some sort of validity proof or even better you can have a polom some polinomial commitment that is like less expensive than a ZK proof but that seres the same purpose for this specific task we haven't done any much research ourselves on the topic but I know that the ethereum community and also the Avil team have been researching that and my understanding is that it is totally possible to do I think ail implemented kgd commitments and also data availability sampling on top of that so that is something that we would expect the Celestia protocol to support in the future uh and we would also expect to support it in a way that doesn't necessarily break backwards compatibility with the current commitment scheme so you get the benefits you're you're going to be able to get the benefits of not not needing fraud proofs uh but you you you shouldn't have to worry about any backwards compatibility breakage okay thumbs up cool with that amount of time so oh short quick question you guys support Bitcoin L2 will we support Bitcoin l2s well I can't say will or won't but I will say that there have been discussions and I think some concrete efforts towards this blob stream technique being usable on bitcoin through techniques like Bitcoin bit techniques like bit VM so maybe in the future yes
