Who's Blob? | Jeff Wentworth, Curvegrid Inc. | ETHTaipei 2025
ETHTaipei·Thu, Oct 9, 2025, 12:00 AM
Who's Blob? | Jeff Wentworth, Curvegrid Inc. | ETHTaipei 2025
Transcript
[Music] Excellent. Good afternoon everyone. Uh my name is Jeff Wworth. How's everyone doing? How's the conference been so far?
Good. Excellent. Going to get a big big round of applause and thank you for the organizing team, the ETH Taipei organizing team, all the volunteers, staff. Let's like tremendous tremendous tremendous couple days. Thank you.
Thank you. And thanks to all of you for sticking around of course for this this last session. Uh this is who's blob. First, a little bit about me for for just 30 seconds. My name is Jeff Wentworth.
Uh I grew up in Canada, but I've been living in Japan for the last 18 years where we co-founded uh Curve Grid. I have an engineering background. You may be wondering what is Curve Grid. Uh please do check us out on Twitter there. Uh we are a blockchain uh development platform company.
Our product is called Multibbass. It's a platform that allows you to build blockchain applications up to 10 times faster than doing everything from scratch. It combines all of these different components. Cloud wallets, transaction monitor, uh manager, web hooks, event indexing, plugins, SDKs, all behind a very easy to use web UI and REST API. We are co-sponsoring ETH Global Hackathon this weekend.
So if you are building at ETH Global, do please come build with us. We'd we'd love for you to come and win some of our prizes and win some of the overall prizes. Okay, so that's me and Curve Grid. Let's talk about blobs. So uh before we go into blobs, we need to do a really fast Ethereum 2.
0 recap. Um then we're going to talk about what blobs are. We'll talk about the blob fee market, blob components. We'll do a sample blob transaction uh and we'll talk a little bit about how L2s use blobs today and how they plan to use them uh in the future. So, how many people here are familiar with this diagram?
This diagram describes the Ethereum 1.0 to one to 2.0 upgrade or the merge. How many people seen this diagram or diagram like this before? Okay, like maybe 15 to 20%.
Okay, that's great. So, I'm going to go through this really quickly just to help set the stage because it's important uh to understand a little bit about this to understand a little bit about blogs. So, two parts. First of all, the Ethereum evolution itself. Uh originally, we had uh proof of work, right, which contained both proof of work itself as well as the Ethereum state.
And then in late 2020, Ethereum booted up the beacon chain. And the beacon chain uh was basically the proofofstake component that was being incubated and developed and worked on uh for a period of about two years until the merge happened in September 2022. Right? And at that point the beacon chain became the Ethereum chain and we moved from proof of work to proof of stake uh sorry proof of stake. So proof of stake along with the Ethereum stake uh and again these two different uh consensus mechanisms proof of work as you all are very familiar with I'm sure where miners solve a very complex uh mathematical puzzle and block time varies sometimes between 10 to 15 somewhere between 10 to 15 seconds depending on mining difficulty and proof of stake uh validators now deposit 32 ETH each of course that's soon to be increased uh validators are randomly selected and it's a fixed slot time of 12 seconds.
The beacon chain itself. So the beacon chain is the Ethereum chain today. A slot is exact is there's one slot exactly every 12 seconds. It may or may not contain a block. And an epoch contains 32 slots and is exactly 6.
4 minutes long. You can see here in the bottom diagram that as we move through the epochs, you go from finalized to justified to proposed uh slots and uh their the blocks that they may or may not contain. And then the diagram on the right there, we have premerge where basically we were only concerned with the execution layer existing inside of proof of work. And postmerge, we now have the execution layer sitting inside of this consensus layer. So what are these layers?
The consensus layer consists of the proof ofstake consensus algorithm which receives and propagates blocks and the execution layer is all about listening for new transactions that are broadcast across the network executing them inside of the EVM and it holds the latest state uh uh of all the the current Ethereum data. You can see you can see here in sort of this this sequence diagram, right? You have now this consensus layer and execution layer. And if we look at what this looks like from a client or API perspective, right, the actual software that's running on our Ethereum client or Ethereum node. If you are a blockchain application developer, you may only care about the execution client or the execution engine.
But there is also a separate piece of software that Ethereum validators are running called the beacon uh client or beacon node. uh the two of these pieces of software together and they're separate pieces of software uh are running inside of your validator client and make up a complete Ethereum client, right? So you may be interacting you would interact with the execution engine or the execution client through web3, your classic JSON RPC. Uh and then there's a REST API uh uh connection into the beacon node. And you'll note that both the beacon node and the execution uh engine are communicating peer-to-peer over the Ethereum blockchain network.
Again, the beacon node is primarily concerned with blocks and the execution engine is primarily concerned with transactions. This is going to become important uh in a minute. So, we're still sort of setting the stage here for blobs, right? And you know, again, listing some of the popular consensus and execution clients, which I'm I'm sure you've um I'm sure you all heard of. And obviously we just had Han from from Nethermind speaking right before me.
Okay. So who is blob? Uh blobs were introduced really uh with EIP4844 also called protodank sharding. And when I first heard about protodank sharding I thought the emphasis was on the word dank which means kind of musty or moldy but actually it's the name of an Ethereum researcher Dank Red Feist who came up with this. So uh I was quickly corrected there.
So protodank sharking equals EIP4844 equals blobs. These were included in the uh Cancun Denv upgrade which went live uh just uh just over a year ago. Uh and obviously it's available across Ethereum today. So it added a new transaction type right. So previously we had legacy transactions and then with EIP559 we had dynamic fee transactions.
Now we also have blob transactions. Um and as Ethereum uh sorry has has Ethereum as Vitalik mentioned yesterday uh there's currently uh uh um a m actually it's a target of three blocks but a max of six uh blobs per block and that's soon to be increased with uh Pectra. And we just finished talking about the beacon node. The execution engine blobs are persisted in the beacon node. They're also pruned or deleted after 4,96 epochs or roughly 18 days.
So blob data is thrown out uh every uh you know a little bit uh uh uh uh uh more than every 2 weeks. And crucially blob data is not included in blocks. So where is blob data included? Where does it sit? Well, we'll get to that.
I want to talk a little bit about the blob fee market and I'm going to introduce it here and then I'm going to show you a real world example of what this actually means and why we introduced blobs in the first place because a lot of it has to do with cost and efficiency in the Ethereum protocol. So along with the introduction of uh blobs and protodank sharding and EIP44844 there was the introduction of blob gas as this new type of gas. So it's independent of normal transaction gas. This this minimum amount still needs to be paid but it follows its own uh targeting rule very similar to um uh EIP559. Right?
So there's about 131k of gas per blob. Again, I mentioned this before, but target uh target blobs per block or three maximum of six. And it's a slightly different base fee formula. Um so you could think of this as kind of an a multi-dimensional fee market. And you can see here in the diagram, right?
This submitted transaction on the left is the entirety of the transaction, right? So we still have our we have our max fee with our max priority fee and then according to the uh uh the fee market the fee auction market if you will for the regular portion of the transaction uh we will have uh basically the base fee paid potentially a refund and then the priority fee and then it's the same thing for a blob fee except we don't have this kind of uh priority fee. So, what are blobs used for? Well, primarily for storing layer 2 rollup data, although we'll we'll show in a little bit that that doesn't necessarily have to be the case. Um, you know, basically like the blockchain transaction cost is uh related to the amount of data that you need to store on the blockchain, who needs to store it, how many copies are stored, and how long you're storing it for.
So, Ethereum has traditionally been expensive for transactions because you've had to store all of the transaction data across all of the blockchain nodes forever. So, one of the trade-offs that L2s make uh in order to be to offer much cheaper transaction fees is offloading some of the security around uh how long and where the data is stored uh and uh to their uh uh companion layer ones, right? They basically do this by being more centralized and posting guarantees back to the L1 on a regular basis. So again, here we have our layer 1 blockchain, let's say Ethereum. We have our validators.
We have our blocks, block 0, block one, block two, and our associated transactions per block. And then we have our layer 2 blockchain with its own transactions. And I've uh numbered the transactions on the layer 1 blockchain to make them distinct from the labeled transactions on the layer 2 blockchain A, B, C, etc. down to uh Zed. And on the left hand side in the layer 1 blockchain, we have our validators.
On the right hand side on the layer 2 blockchain, we have our centralized sequencer, right? Singular. the the transactions on the layer 2 blockchain are all rolled up or summarized and posted into transactions on the layer 1 blockchain. So let's take a look at just over a year ago right which is just before uh protodank sharding came into effect just before 4844 came into effect. This is uh an example of a uh a unis swap transaction on Ethereum where uh the transaction fee that was paid was $12.
50. Right? So obviously things are much cheaper today, but let's take a look at a transaction from a year ago. A similar transaction on optimism, a layer 2 blockchain at the same time, uh similar kind of uh trans uh uh DeFi transaction only cost 38, right? So $12.
50 50 cents and 38 cents. Obviously, layer 2 transactions being much cheaper, right? Because of uh a different trade-off in security guarantees, the amount of data that they have to uh store. Now, this is a blob transaction, but it's not a modern blob transaction. It's a legacy historical type of blob transaction uh from just over a year ago where the optimism batcher was posting uh its blob data.
It's 128 kilobytes of blob data uh into a standard Ethereum uh transaction. And at that time they paid about $180 for this uh summarized uh blob data uh as a standard Ethereum transaction. And in fact, if we go back, and I have this screenshot saved from just over a year ago, if we take a look at the top gas guzzlers or gas spenders on mainet Ethereum uh in early 2024, uh four of the top uh uh 10, let's say, were layer 2s that were spending a combined $798,000 per day just posting their proofs back to L1 Ethereum. um as standard transactions. That's $298 million per year.
Like that's that's a substantial amount of money that uh it was costing these layers to these layer 2 to post transactions uh back to the layer 1 as standard transactions. So, fast forward a year. This is a same uh now optimism batcher posting um summarized transactions as blobs. This is a blob transaction from I think yesterday. And instead of $180, it's only paying $40.
Now, of course, there's liberties taken with time and space and exchange rate and gas prices and things like that, but basically the whole thing here is expensive layer 1 transactions, cheap layer 2 transactions. If I post my uh rolled up or summarized transactions from my layer 2 onto my layer 1, it's expensive, but as blobs, it becomes much cheaper. So, that's that's really what was driving the innovation in blobs, money. and cost. Okay, so now let's get into blob components.
So, uh there's really four kind of things to think about here and these aren't all parts of a blob, but these are all concepts associated with blobs that are important to understand and we're going to describe where all of these sit in this next section. So, the first piece is the blob data, right? This is the opaque content of the uh layer 2 transaction batches that is the blob itself. Then we have what are called the KZG commitments or polomial commitment. This is also called the blob hash and this is available in the EVM.
You can actually retrieve these within solidity from the transaction uh um from the you know code that runs within the blob transaction itself. Uh and KZG stands for uh the initials of the three authors of the 2000 paper that figured out these polomial commitments. Related to that we have KZG proofs. uh and this these are used to prove data was in a blob. This can be done offchain or in smart contracts through some sort of solver prover that runs iteratively on the blockchain uh using a lot of math that is is way above uh my capability as a uh a computer engineer but I think all the computer scientists would would uh you know be be able to dive into this and then we have this concept called the sidecar and this is a let's say a technical term in this whole blob construct and the sidecar is offchain data structure of a blob and its metadata.
So, blob data, KZG commitments, KZG proofs, and the sidecar. So, this is a picture of a motorcycle and its sidecar for any of you who are wondering what a sidecar is and where they they got the terminology from. Now, obviously, this is uh you know, a picture from the movie RA uh sorry, Indiana Jones and the Last Crusade. Harrison Ford as Indiana Jones and Shan Connory as his father, Dr. Jones.
So, as I like to say, maybe we shouldn't call this sidec car, but we should do it in a Shan Connory accent and call it a shide car. Thank you. Um and so what you can think of here is uh in this analogy in this visual analogy uh visual analogy uh we have the the motorcycle is really the block with the blob hash and the blob is the sidecar and the sidecar again it's a technical term that's used inside of the Ethereum ecosystem inside of the the the uh the beacon the beacon clients This is really divided between the execution and the consensus clients, right? Or execution layer and the consensus layer again. So the block is on the execution side and the blob and the uh blob hash side whereas the uh the blob is uh sitting in the sidecar and the uh the consensus layer.
two weeks later or 18 days later, 4,096 epochs later, we throw away the sidecar and we're just left with the block and the blob hash. And so that's how we remain efficient with this. We have all of this blob data that we had, uh, kept around for 18 days, uh, propagated globally. anybody who needed to do something with it did something with it. Whether it was validating the fact that a layer 2 uh was doing the right thing or saving it for later, caching it for later, but there's only a guarantee that that uh sidecar data would be around for 18 days.
All right. Should we do a sample blob transaction? Who wants to do a sample blob transaction? Anyone? Yeah.
All right. Should we do this? All right. Let's do a sample blob transaction. All right.
Okay. So uh we're going to jump into some code here. Can everyone see this? Okay. Yes.
Excellent. Okay. So this is a very simple uh proto hacksharting uh program that I wrote to test proto dank sharding. Uh we're going to compose, sign and send a test EIP4844 transaction with some placeholder blob data. So I'm just going to describe what this code is doing.
Um, you know, obviously what layer 2s are doing, uh, what the sequencers are doing is a lot more complicated, but I thought this might be interesting to kind of dive in here a little bit. Okay, so the first thing we do is use, uh, everyone's favorite, uh, this is in Golang, by the way. Uh, uh, so the first thing we do is use everyone's favorite, um, uh, uh, Golang configuration parsing, um, library, GOI, and pull out all of the uh, related configuration values. We then create the blob in this message to blob function. And so basically what we do here is very quickly we're into this KZG4844 library that's inside of uh Go Ethereum.
That's basically turning our blob into a KZG commitment. It's then computing the proof from that commitment. And at this point we have basically everything that we need to go and compute the blob transaction. Okay. So we've done message to blob.
Now we start to construct the sidecar. And I wasn't joking when I said that sidecar is a real technical term. There it is there inside of Go Ethereum. So we construct the sidecar itself with the blobs. Here's just a single one.
Single commitment, single proof. And then we we start dialing up our Ethereum uh node. So we dial up uh the Ethereum node. We pull out the network ID which we need to compute the actual Ethereum transaction. we uh um we load in our private key and set up our ser uh and then we start to put together our blob transaction.
So, as I mentioned, there's uh uh legacy transactions, dynamic feed transactions, and now blob transactions. There's a couple of others as well, but um here's our blob transaction with many of the typical fields that you would find, but also now the blob fecap and the blob hashes in there along with the uh the sidecar. Few different uh housekeeping pieces around um uh you know setting up the transaction. We now go and sign it with our private key and uh we're just going to output it then and then we send the transaction to the blockchain. All right.
Shall we do this? Let's do this. All right. So, the first thing I'm going to need is an ENS address. Who here wants to share their ENS address with me?
And you are going to be the recipient of one brand new blob on Sapoleia today? Anyone? Anyone? Yes. What's your ENS address?
It'll work on Sapoleia. Martin. Hold on. Martin, what's that? O V O L.
Is this Is this you? All right. It's a great photo. Excellent. You've got everything linked here.
That's perfect. Okay. This looks like your address, right? Yeah. Okay.
So, ox1239, etc., etc. We're going to go to our command line. We're going to fire up our proto hacksharter here. Okay.
So, proto hacksharting dash uh to address. I mean, live demos are always so exciting, aren't they? Okay, here we go. Ready? All right, let's see if our Ethereum node, Protohack sharding, and Wi-Fi all work together.
Let's do this. We're composing, signing. Yes. Yes. Okay, here we go.
Excellent. All right, I see a transaction coming up on Sapoleia. It's mining. Come on, everyone. Let's get it up for Sapoleia.
Sapoleia. Sapia. Sapia. Sapoleia. Come on.
Let's give it a little test now. A little of encouragement here. Looks like it's been mined. It's in our secondary node. Okay.
We're going to give that a second. Excellent. Now, while this is coming up, give it a second. I'm going to not wait for this. I'm going to go back to one that I mined uh earlier today, and I'm going to show you on Etherscan, which we're all familiar with, right?
This is a blob transaction. You can see that it's missing all of the usual fields that you might see here in a typical transaction. But we do have transaction action commit 4844 blob. So if you manage to find a blob transaction in the wild on uh uh ether scan uh it will look like this. Let's come back here.
Okay, here we go. Two block confirmation. So here is our blob transaction. Where is our blob itself? Yes, congratulations, Martin.
Proud owner of a new blob. All right, we also though we also have a separate uh uh explorer here called Blob Scan. How many people here have heard of Blob Scan? Yes. Okay, handful.
Excellent. So, here is Martin's blob coming up on Blobcan. And you can see it's been finalized. We have our commitment, our proof, and uh transactions in blocks. And it's interesting here.
It's available in a few different blocks because um I basically submitted the same blob proof multiple times uh with the same the same message. Now that would not normally happen, but that is the case here. Okay, so here's your your blob data uh Martin and uh it's mostly zeros, but let's turn it to UTF8 and hello East Taipei 2025. Let's blob. There we go.
Excellent, Martin. Now, you can only keep this for 18 days, but for 18 days, this this blob is yours. All right, back to the presentation. So, that's our sample blob transaction. We're going to wrap up here in a second.
Okay, so let's talk just briefly about how L2s are using blobs today. So, uh, we talked about this a little bit earlier as well, but again, L2s are publishing block transactions to, uh, uh, batches to Ethereum. And then, smart contracts are able to access these commitments via the TX block hash, uh, built-in function or array or property inside of Solidity. So blobs, as we can see, have already started to uh reduce gas costs because instead of using uh call data, uh we're now using uh blobs, but they're not yet we're not quite yet all the way there. They're not yet used for withdrawals, forced transactions, fraud proofs.
All of that is still handled uh as it as it was before, but that's what we're looking to for the future. when if you if you spend time on L2 beat or looking at any of the the kind of the research that's being done whe in any of the L2 stacks optimism or arbitum or or ZKVM uh this is really the future right so the idea is eventually to uh um you know give us the ability to use blobs to decentralize sequencers to verify data inclusion with KZG proofs and the blob hash uh and uh you know really uh as I think fatal mentioned this morning uh give us this kind of walk away security where everything else can fall apart. uh a layer 2 could could uh cease to operate or cease to operate reliably along with all of its infrastructure and we could still use what we had onchain and what we had what we had uh stored from our transactions to be able to reliably post or uh post transactions to L2s exit from them um and uh um uh yeah uh basically make the make the blockchain world uh a much much better place. So, that's it. Um, that's it.
Thank you very much. Any questions? Do we have time for questions? Okay, we have a couple minutes for questions. Any questions?
Yes, for Martin. Sorry. Gonna run really, really fast all the way. There we go. Hello.
Thanks a lot for the blob. Um just wanted to ask after the activation of product sharing did we actually see the fees on the L2s uh get lower because the L1 uh data fee should be lower on those like optimism and such. Yeah, it's it's a it's a great question. Like I very much handwaved over a lot of that. uh and I think there's been cases because I I believe there have been cases in the past months where uh because there's been so much in you know every L2 has retoled to use blobs and so now there's there's been cases where blob space has become more expensive than L1 call data space I believe in some cases and there was actually a a good post the other day um you can share it later if you like around uh uh changing basically how the the relationship between the L1 fee market and the blob fee market to ensure that the the blob fee market is basically always cheaper than the L1 fee market so that like you don't have that kind of like strange inversion and misaligned incentives.
I don't know if that answered your question, but okay. And as a followup, um, if I wanted to access a blob after the 18 days, was it the only way would be an archive node? If I wanted to verify an L2, it it wouldn't even be on an archive node. You would have to go to some sort of third party service either that you're running yourself, right? If you're like a, you know, you you need the blobs for something and you're basically caching them as they're coming in.
uh or uh there there are third party services that are basically storing all of the blob data and keeping them keeping it forever and so you could go and pull the data from uh from one of them if you needed. Thank you. All right. Awesome. Any other questions?
No, I do have some questions sir. So um as as your current like research and all that uh how do you see like the fee market of blob would change? you mentioned already like one potential aspect already, right? Um, and I think the one of the factor is like there's so many L2s using that and then it's competitive. One aspect you mentioned was to make sure the L1 is always more expensive.
The sorry the the transaction fees are more expensive than the blob ones, right? Uh but also like I from my kind of like understanding there's also like talks about combining different L2s and posting or like you know like if you have any comments on that. Yeah it's it's a good question right. So, I mean, if we go back and we take a look at blob scan here, um, I mean, you can just see that basically like we're very very full-on blob space, right? So, here's optimism floor four blobs, right?
Four blob transactions inside of this block. Um, you know, you can sort of scroll through this and see all the usual suspects between optimism, uh, base, uh, arbitum, uh, you know, etc., etc., etc., and and some of them obviously aren't tagged here.
Um, but like the blob space is is quite full at this point. And so yeah, I think there's like without even getting into without getting into any of the politics, but just to touch on it, there's a like that let's say the the $298 million per year of notional value that would that uh um you know, Ethereum L1 has now saved blobs, right? like where what is the right you know if everything moves to L2s and L2s are paying cheaper and cheaper fees on Ethereum L1 like where does the economic security or incentivization from it you know to to secure Ethereum as an L1 or use Ethereum as an L1 come from and I think like I'm not a economist at all but I think that's the that's the other another part of this equation that's kind of driving all of the debate in the Ethereum ecosystem system now, right? Like we want to make we want to increase the blob size and make make it uh uh um you know go from uh uh 375 kilobytes to 768 beyond that up to 64 megabytes. Um but does that mean that Ethereum is an L1 just becomes irrelevant or maybe it turns into into something or you know into a different kind of relevancy?
But what does that mean? The other aspect to all of this is uh like nothing comes for free, right? We've seen this in some blockchains where uh they've forked Ethereum, let's say, and just, you know, uh greatly increased the the the gas limits, right? And you think, okay, great. Like cheap and cheerful, and I can run anything on here, and it's super fast.
You know, 1second transactions, 80 million gas per block. The problem is that from a very practical and real perspective, we run into uh time and space and uh cost considerations. So time in the sense of how long you can, you know, the ability to propagate more and more data around the internet reliably, right? this the the the the space being how much uh fast SSD storage you need to be able to store this data and the cost being around really CPU time to be able to process these transactions and blocks. So if we go up to 48 or 64 megaby blobs quickly, does that mean that I can no longer run an Ethereum node on my MacBook, right, or on my MacBook Mini?
Do I then need like serious, you know, server hardware? Do we do we give up on home stakers? uh you know home validators etc etc. So I think that's the other you know another dimension to that that equation as well. Awesome.
Uh thank you so much. And how about like the talks on combining O2's blobs together and then like submitting that? I recall there was some discussion around that but I don't really remember how it went. Yeah, it's a good it's a good question. I I don't have probably the latest uh context on that either.
I can definitely see something like that happening though. I think that uh you know with this uh proliferation of L2s that uh uh they you know and and limited block space L2 is growing faster than than the block space that some of them probably will bind together uh to to share figure out a way to share blob data. All right, awesome. Uh one last chance if there anyone has any more questions. If not then thank you Jeff.
Thank you everyone. [Music]
Automatic transcript — names and jargon may be misspelled.