The Dencun Upgrade Explained
ETHChicago Talks · March 2024 · 45:13
James He gives a comprehensive interview overview of the Dencun upgrade for Ethereum and highlights its significance for the network. The ETHChicago conversation explains what the network upgrade changes and why it matters for the Ethereum network, including its effect on rollups and the users and developers who build on them.
Speakers
Topics
From ETHChicago Talks, hosted by ETHChicago.
Transcript
[Music] so um yeah let's start with like the generic stuff so can you just like give like a quick overview of the Denon upgrade and what it means for ethereum yeah um Denon uh is the combination of two different names denb and Cancun and uh denb is for um the proof of stake ethereum side of things you have to run something
called a consensus client and Cancun is for the execution side which is everything smart contract related and it's the combination of these two uh uh names together to to make Den denune so what for the consensus side I I believe it's always a star name and it's just alphabetical then for the execution side uh it's based off of the uh Dev connect and Dev Con locations interesting so that's uh
that's a little bit of background on the name of denune uhh and ethereum has had all these like hard Forks in the past uh the last one that we had was um uh the capella Shanghai hard Fork which I I don't think they combined the names for that one but um that's what enabled ethereum uh withdraws for proof of stake uh so each of these upgrades we tried to have one major feature for the ethereum chain and then a bunch of smaller ones
so got it so for this one so like what are yeah I was gonna ask like what are the main what are the main technical improvements in this one like you know the big one and then what are some of the smaller ones yeah so the the big one that's coming is uh something called EIP 4844 or Proto dang sharting or blobs as a lot of people refer to it as essentially what it's doing is it's giving a little bit of extra space with within a certain period of the blockchain so that l2's uh layer 2 blockchains like
optimism or arbitrum um or or Stark nut can can access a little bit of extra room which will then increase scalability in uh the ethereum ecosystem and so there's there's really two ways to increase scalability in in ethereum which just means we want to be able to process more people's transactions without vastly increasing the fees Associated um because everyone is just
bidding for the space that's inside of each block uh and so with this hopefully if you're using one of these L2 products uh it will uh greatly reduce some of those fees because now uh you've increased a bit of size and and so you can either make the blockchain's blocks go faster which means the network needs to create more blocks for ethereum it it's uh 12 seconds per block and so one way to think about it is like M if we reduce that
to 10 seconds then that would mean that we're processing more data because we are processing more blocks uh the other way to think about it is we can increase the size of the block um so I believe we we'll need to double check on this 128 kilobytes for uh transaction call data um uh for for your regular block but now you basically have an additional um 128 for each blob up to
six blobs with a target of three blobs and these blobs that's the extra data on top of the block um that we can we can use for for l2s but increasing the size of these blocks or or adding this this extra blob data M it increases the requirements for being a node Runner uh because you have to process more data over the network now you have to save more data on your
computer um you're talking about running like a a main net Lo a node right like an L1 node right so if you increase the block size in any way or you added like metadata like this then it inrees like Hardware requirements because you have to do all of these things within a certain time span right and um that sort of compromises on ethereum core thesis of being decentralized and not needing supercomputers to run the network so this middle ground that we
fell into is let's increase the amount of data that these blocks can process by adding on these blobs but only have node Runners retain it for 18 days so there's a there's a limited retention period so the um so the at least in sort of in in terms of the storage and um networking cost it's capped it's capped at the data within
those um those dates in the retention period and hopefully that means that uh there isn't really much of a new requirement for people that are already staking or running running nodes running values got it okay um so does this to to clarify does this allow like layer twos to process like more transactions per second to like have like basically more data stuffed into like a fraud proof or something like that um or does it just make it cheaper to submit what they're already doing it'll allow for more data to be submitted at one time from these L2
so uh that's where it gets like it's potentially with quotes reducing gas uh because it's sort of like economies of scale if you can if you have more uh transactions to process and then you get this space and the space sort of has its own pricing model then potentially you can get in a lot more data for a cheaper cost got it
that being said um it'll be interesting to see what happens with l2s that might not have as much transaction um as many transactions at certain periods so it's only if you go over certain limits do you is it economical to bid for blob space and it can vary again from from no blobs to up to six blobs and the target is three so when it goes over three blobs then the price of the blobs get a
lot more expensive so you want to have as many transactions as you can to take advantage of that but also for um for these L2 products if they don't have an enough transactions maybe they want to wait to group up more transactions before they post it which is also has a bad user experience from posting less often to the L1 does that impact like the ux of like transacting on the L2 or is it just like you have less security guarantees in
terms of like this being like a you know uh a valid transaction I think it affects both because there's a potential for reorg on your L2 depending on how it's architected so if if you wait and you group it up and you post it later then uh maybe there isn't like certain security guarantees and depending on how the L2 product works
then you might get reorgs and that kind of thing which is which is never great right right um so then like how like how is arbitrum like taking advantage of these upgrades like how are you guys going to like you know improve or you know are you going to scale up throughput um yeah I guess like what else is is being done there yeah so um taking advantage of that is uh what arbitrum Atlas does and that's being voted on that's going to be the new upgrade to the arbitrum side side of things
um and just to be clear like like every L2 has to sort of have their own own upgrade to take advantage of this new like blob space right that's right yeah so because these blobs don't exist uh right now everyone just uses call data which is your typical transaction data for right for their batch posting and so in order to take advantage of the uh they need to upgrade their their systems to use these blob transactions
which is it's going to be a new type of transaction uh on ethereum um and then all the if it's an optimistic rollup then you have to have uh fraud proofs updated to somehow use blobs got it um does this affect like other types of like smart contracts like non you know optimistic rollup type smart contracts like is there any work that has to be done there or are those just going to be like supported um so this data what's interesting about this data is it can't be
used from a smart contract so it's not something that the evm has access too okay um but uh whoever is using it can can use some of the meta information that's inside to then get that information outside so it's it's specifically designed for rollups essentially it's specifically designed for rollups makes sense yeah um cool gets uh executed in the evm either got it okay it's an important
distinction um so I think I like kind of cut you off before on like your arbitrum stuff so like what is the I guess road map for like arbitrum taking advantage of um you know 4844 yeah um it's currently being voted on um so as soon as it goes through votes then uh the arbitrum nodes get upgraded and they just wait for the activation on Main net and for ethereum mainnet it's activating um I believe it's March 13th
um UTC like 1 p.m is cool yeah nice and this will um affect all like of arbit different like uh rollup uh types like Nova one orbit like all all those things will be able to take advantage of this yeah that's a good question um one is arbitrum one is the one that will primarily take advantage of this and Nova actually doesn't use ethereum for its data availability it's going to use this okay yeah that was a good question that
makes sense okay um let's see so uh what are some of the other like enhancements included in in denin like some of the smaller stuff that stuff yeah so let's see there's um a lot of user experience improvements um such as transient storage so uh right now if you write a smart contract um and you don't want to like store that data forever um there's no like good there there's no other like data structure to use for that uh but now you sort of have
like a cash for your while you're transaction is running um to use some extra space to do some kind of of processing um so that that's one uh let's see uh some other user experience ones we have a Max Epoch turn limit which uh I think for most viewers it might or most people looking at the interview it might not make a lot of sense but ethereum all the ethereum nodes have redundant data right now for the
ethereum blockchain and this uh is referred to as like the state of the chain and the amount of data that's stored in it is growing uh is in increasing by by quite a bit and a lot of the um I a lot of the data on the consensus side of things is because of validator State uh which is like if you want to stake in ethereum it needs the the chain
needs to store the information about your validator whether it's doing a good job or not doing a good job um how much money it has uh all of those uh all all of that data and um the effectiveness of the stake is currently capped at 32 eth so if you're this big staking provider then you have to create all of these validators um for each set of 32 eth that you
get and that increases the state of the chain and because of how many uh because of how many people want to stake um stake their eth to earn some yield it increases the state continuously but mhm the state never reduces when you exit so even if your validator is exited and you want to take your money out of this the stake the information about that stake remains on the chain
and and there's no and there's no reason for it to exist like there's no use for it at that point there is a use well there is is a use for it to reach consensus right right now there isn't like a good mechanism to reuse the the validators um the the space after they uh exited and you can't just like delete data from the from the blockchain so our like Band-Aid solution right now until another upgrade is to just cap that limit of how
many validators get activated within a certain period or um sort of leave so that uh so adding that cap uh will sort of slow down this problem got it yeah cool um yeah any any other mentionable improvements or those are kind of the main things yeah there's a couple other small ones um one around uh signed validator exits so before you could only sign for the current
upgrade um and I think the previous one but you can't sign for a future upgrade and now it doesn't really matter uh um which upgrade you're on to exit your validator because otherwise you have to wait for the upgrade to happen Okay um and then submit it or if you submitted it like right before the upgrade and the network doesn't process your exit then it just makes it invalid and you got to do it again so so like kicks you out of the line and then makes you do it again which is like not a great
user experience so there's that one and then there's one more around uh beacon block rout in the evm so now there's going to be this smart contract that will keep track of the um Beacon chains block route and that helps a lot of more like infrastructure people but they they can then access it from the smart contract to get certain information about how much they can trust the the network State without it being like reorg and that kind of
thing okay um in terms of like what kind of things this would unlock for you know this this upgrade as a whole like what are some of the most immediate unlocks is it just about like creating experiences like that you know require lower transaction fees that are going to mainly benefit from this so more like high throughput applications or are there any other things that like you've seen that are going to be able to be done now that were previously sort of like either not possible or were just not good experiences yeah that's something that we'll we'll sort of have to wait to see what what happens um but it's Paving the way for
a lot of things in the game industry and entertainment industry maybe there's certain types of games that uh it would be too expensive um to to run uh previous so uh but still be able to leverage the ecosystem of ethereum because it's it's a vast vast ecosystem so so definitely in that space and then this app chain thesis I'm interested in seeing where where this goes and yeah um there's research being done
around blob sharing so this this issue that I mentioned before where if your chain doesn't have enough transactions maybe you can't take advantage of this extra space the blobs um and you you might have to have this weird tradeoff where you don't know if you should post more often or if you should wait and collect more transactions before you post but if you shared that space with other l2s or um or l3s can you uh benefit from both worlds I I guess we'll we'll see what happens in in
terms of this like app chain thesis but I think app chains is where the the next cycle will we'll sort of look at yeah that's awesome uh and I I have like somewhat related questions to that thesis one the the one thing just on transaction fees is like one thing that like Brian Armstrong from coinbase has said is like the goal is to get like to sub Penny transaction fees like is this the upgrade that enables that or is like it's we're still not quite there like you think in for the next like couple years it's hard to say um where we are in in this in this phase
I mean there's there's a lot of other data availability Solutions coming out um right Celestia and uh enan laay um but but it's it's really around this like uh trust like how much do you want to trust that for your data availability versus trusting um ethereum main net uh but definitely like it it's Paving the road towards much cheaper transactions down the road um yeah we might get to that uh that number already with this uh but we'll have see what happens with the
economics of blobs and bidding for blobs and what yeah this we'll we'll we'll have to see how how people use it and uh people might use it in very creative ways so uh yeah yeah that makes total sense um now on the on along the lines of the app chain thesis so if that plays out we have like you know dozens hundreds of new l2s app chains um you know I know there's a couple Frameworks for retaining like composability and interoperability between all these chains I think like arbit trim think is like orbit right um op has like the op stack and op super
chain framework um where are we in those road maps to like actually these things becoming realities and like off the top your head like what are some of the challenges to you know making that work yeah uh um so or Orbit's already out it can there's orbit l2s and l3s so it doesn't have to be um just uh one or the other uh and not only that it um it enables things like using your custom uh gas token so you're not like set to
use uh which which is interesting which might create new types of problems but it it also enables a lot of interest interesting things um if if if you if you end up doing that um but with these Stacks I guess one of the challenges is what kind of consens do you have to have the same consensus mechanism for for all of these products right right now they at least for arbitrum it's it's using
optimistic um they're they're all optimistic rollups but I guess they don't they don't have to be so um that'll be interesting if uh if you end up using other kinds of uh consensus models and I I've also heard things like does it have does it have to be um just just evm can it can it be more or less than than evm and uh like for arbitrum there's arbitrum
stylus uh which isn't out on Main net yet but uh it lets you write smart contracts in other languages besides solidity and Viper for arbitrum chains and so that that yeah that that'll that'll be interesting how how that aspect evolves and I don't know may maybe another interesting I don't know why we would do it this way or like why someone would choose to do it but you can have like arbitrum orbit chains on other evm compatible chains so you Canna have
like Orbit on base or arbitrum Orbit on optimism um I'm not totally sure per personally I'm not totally sure like why you would want need to do that or or maybe like you want to take it uh you you want to connect with that ecosystem but you like the arbitrum tech stack right I think there will be interesting opportunities and problems with with that definitely um uh I guess like you
know like the more you mix and match these things I think probably the more inev you got to rely on like bridging and you know just sort of being stuck on in certain ecosystems like what needs to be shared across like multiple like rollup Frameworks to enable like kind of like true cross chain compatibility where you can do like an atomic you know transaction that like has Logic on one side and you know the output is on like a different chain do do you have like a sense of that is that something like arbitrum is like discussed or thought about um that's a little bit out of my understanding uh since I only work on the L1 side of things
but maybe there will be more more possibilities to do that kind of thing if you have access to strong stronger languages than um solidity and Viper like if you maybe there's certain types of other kinds of C cryptography maybe that will help enable some of this um that you can access through other languages um this is just like throwing like guesses um I it's definitely it's definitely an issue but
it's it's an even bigger issue for you to have to rely on something like solidity and and Viper to to do those things totally totally that makes sense um cool uh I think like just like final thoughts is okay so we have Den cominging up in like literally like a couple weeks here yeah what is like what is the has the next big upgrade already been talked about like do you have any sort of insight into what's what are going to be the priorities in one yeah yeah so the next big upgrade is uh electric uh Electra Prague um we haven't um decided on the
the exact combination name yet um but uh it there's a couple things that that are coming with that we we have a Blog post on a medium about what the prism team aligns with um but there's a lot of different directions that we can go but there's tradeoffs with each of those because the next upgrade we're sort of wanting it to be later this year which hasn't happened in ethereum yet where have
two hard Forks in in one year so some of the smaller ones are like uh you can kick off validator exits from uh the uh from an ethereum address uh that's not possible right now and um there's some risks to uh igen layer um and and similar products uh like reaking from from this issue that you can't um that you can't kick off uh validator exits until that happens so so
there's there's things like that there's some other small ones but beyond that uh it gets into like what are the priorities for ethereum is it more scalability do we need to have more transactions at cheaper costs on ethereum um and uh get us another step closer to proposer Builder separation which is essentially like you can still run your own home computer to be a validator or Staker but the block production is sort of outsourced uh in a
trustful in a trustless way uh to some supercomputer that will do the processing of figuring out what transactions go in and sort of bid to allow you you as the validator to add that block um so is scalability the important feature here or is censorship the uh the next thing that we need to solve where um you would like to force the Builder to include certain transactions without the tradeoff of um losing
me um rewards uh so so so that's that's another thing that is being looked at through epbs and includ fusionless um or is it the worrying State increase I talked a little bit about this temporary solution that we added for the churn limit but um one one of the uh better Solutions is to increase the max effective balance and be able to
reuse validator indices so that the state doesn't grow uh doesn't grow as much as um sort of what what we're afraid it grows right now um so so there's different paths for all this but it's very ambitious to go for any of them in the same year and the big problem with going with any of these and try to do it in the same year or or try to do it early next year is we don't want to get in the way of uh veral veral trees and and
eof so veral trees um is getting into like statelessness for ethereum and so right now now everybody has to store all of the data for ethereum essentially if you want to right access certain things um in the future um can you just store a portion of ethereum and then you know if you need to access something archival then you can pay a fee to to somebody that actually archives it and can provide
that to to you and and so you don't need it's not as expensive to be a node Runner got it so there would be a bit of a centralizing force on maybe archiving then because you would have like these beefy archive nodes that would be kind of a like a side thing of of the chain yeah yeah so how how can we allow for some centralization there um but have ADD like cryptographic security for it got it yeah and that's something that I think uh everyone wants for
2025 so some of these other big efforts while they're important we also don't want it to get in the way of that makes sense um and since we're on the road map talk my final thought is where is like full dank sharding in terms of priority and development and you know just like um yeah I guess like when potentially would that be coming along yeah I I guess the first question is like do we need it yet right um right are the are there applications waiting for the scalability need or um
scalability features that it provides so in order to to get to that um we have to have more scalability for um for ethereum see see how it handles it we have to take advantage of um it's related to the blobs but the underlying sort of uh cryp cryptography that it uses is called kcg commitments and what's nice about that is it allows you to do um something called eraser
coding and uh if you ever had like a hard drive like a RAID hard drive before um and you wanted to replicate your data so like if you if one hard drive breaks like your system still has all the data that's what we want to do with ethereum to essentially like make the network itself this giant CD where like if part of it gets scratched um and loses the data you still have access to the whole thing and you can confident
access everything um so uh we we need to um get to uh data sampling instead of um this replication that where everybody where everybody has uh the data be able to increase the amount of storage like right now it's six blobs but like maybe in the future like each blob is a megabyte and like there's 64 blobs yeah so there's a future
that uh where we can increase all of those things but when we do that we also want to increase the security side of things to make make sure that uh everything's not you know centralized continues the decentralized ethos um by uh trying to prevent censorship so there needs to be more sensorship resistant features and so there it's like multifaceted you like you got to like increase this thing which then creates problems over there right
yeah so so we're still a while away from like full dank charting which is what this uh proposer Builder separation um concept is but maybe through this process of releasing each of these features um there will be better ideas to to approaching this because ethereum wasn't always on this um rollup Centric road map so so maybe there's some better ideas to handling this
stuff so one thing I was um one thing I I I was thinking of the past couple days I think he came up as a subject maybe like a month ago on like crypto Twitter was uh increasing the gas limit on Main net to relieve some you know stress as well like do you have any opinions on that like can that be used concurrently with like EIP 4844 to you know drive down TX fees even lower um or those who trade-offs too heavy in terms of like you know node requirements yeah um so it's not coming in denune but I think it's on the table for discussion um because that one doesn't require
um it wouldn't require like a hard Fork right it would just be like validators just need to concurrently agree to increase the gas limit right and it would take some time to get there so there's like a limit how much the gas limit can increase over a certain period of time um yeah so it's more like social consensus but um I am not totally sure where we're at in terms of that debate that makes sense makes sense maybe it's a topic that'll keep coming up for discussion you know
as this year goes on yeah yeah um cool all right well we definitely covered the upgrade in detail and then we went off and I could go off in a hundred different directions but I think this is probably good enough for today yeah um so yeah thanks for your time man cool thank thanks [Music] V