# 'EIP 1559 Overview' - Tim Beiko

- Speakers: [Tim Beiko](https://streameth.org/speakers/tim-beiko)
- Channel: [ETHGlobal](https://streameth.org/ethglobal)
- Date: 2021-10-09
- Duration: 24:00
- Topics: EIP 1559, Tim Beiko, Ethereum, Consensys, ETHOnline
- Watch: https://streameth.org/watch/yt-IEQPSJbZsq0
- YouTube: https://www.youtube.com/watch?v=IEQPSJbZsq0

## Description

An overview of EIP-1559, a proposed change to Ethereum's fee market with implications for UX and monetary policy.

## Transcript

this opportunity to introduce our next speaker um our next speaker is tim biko he's the product owner of consensus's baesu client um he is doing a lot of the coordination around r with eip 1559 let's see so eip1559 is a proposed change to ethereum's fee model with implications for ux and monetary policy so today tim it's just going to give us an overview um so welcome tim everybody thanks for having me and uh thanks for the intro uh so yeah like emily was saying i'm gonna give an overview of eip1559 um i work with consensus and our team has been uh championing the speed for the past couple months uh so we've had a good view into kind of what it is where it's at and what's needed uh for it to to uh get deployed um so first in this talk uh i'll just give a super quick background on what eips actually are and how they work uh then i'll give a very high level overview of 1559 and we'll spend most of the talk kind of digging deeper into the various parts of the eeps to try to understand how they work uh and we'll have plenty of time for questions at the end so uh what are eeps so eeps uh as probably a lot of attendees know stands for ethereum improvement proposals and in short they're the mechanism by which we can make changes or propose changes to ethereum um and this was basically copied from the bitcoin improvement proposals uh process which some modifications and the bitcoin improvement proposals were modified off the python improvement proposals and it's really just a set of guidelines that anybody can use to submit a proposal for how we would make a change on ethereum uh the high-level guidelines about how to go about it are all listed in the first eip which is eip1 and then how you go from having a proposal for a change to ethereum to getting yet adopted depends on which type of eep it is and for our purposes there's really just one distinction that matters uh whether it's a core eip or not uh so a core eip means that we're changing the consensus of the network and that requires every client on the network to upgrade their node and to process the upgrade at the same time which is what we call a network upgrade or a hard fork um and and therefore these eips need to be kind of adopted exactly at the same time across the whole network and there's no opting in or out except from forking away um but for everything else so every other type of eep there's no real requirement for people to adopt them at a fixed point in time which gives us much more flexibility and one good example of that is for example erc20 which is the popular token standard it's just an eep that exists to specify the standard and people are free to use it or to stop using it but there's really no timeline associated with when projects or if projects have to comply to that so looking at just the different categories of eeps like we mentioned uh we have core eaps which are part of this first big kind of group uh which we call standards um so there there's four subcategories the core ones which we mentioned 1559 is a quarry ip so it will require a network upgrade um but along with those we have other types so networking eips affect things like devp2p swarm the litecline protocol so basically all the ways in which clients on the network talk with each other there's interface eips which as the name states uh deal with the various apis on ethereum so things like the json rpc api the contract avis and whatnot and finally there's this last category called erc which stands for ethereum request for comments uh which is about application level standards so these things are not part of the protocol itself itself but they're things that uh that applications on ethereum can use and the two better known one are erc 20 and erc 721 which create fungible and non-fungible tokens and then outside of the big category of standard eeps there's two other kind of smaller categories the first is meta-eaps we typically use those for network upgrades so for example if there's a new upgrade we'll list all of the individual each that are going into the upgrade in a single meta as well with the upgrade block and whatnot um and finally there's informational eeps which weren't used uh much until recently danny ryan and vitalik used this to publish an eep for the e2 phase zero spec and so this gives us some background on what eeps are in general now let's look at 1559 more specifically um so the eep was put forward by vitalik in 2019 um and really has kind of three high-level goals so first is to make the transaction fees on the network more predictable uh so right now uh transaction fees on the network are set using a first price auction so that means you have to look at what everybody else is paying make a bet as to what you think the right price is is going to be and then you'll pay whatever that that bet you made is um and that leads to overpayment because if you know the maximum in a block was a hundred way uh and you thought it was going to be 120 you could have just spent 101 and you still would have been higher than everybody else and we see that a lot on the network today the other thing that 1559 wants to help with is to reduce the inclusion delays for transactions so today when you send a transaction blocks are mostly full on the network so you get put in the transaction pool you wait for a while and then you get included so 1559 hopes that in most cases you're just able to get your transaction right into the next block and not wait in the transaction pool as long and then the third uh kind of goal of 1559 is to create a positive feedback loop between the network usage on ethereum and the eat supply so today there's really no kind of uh way for more usage to translate into a higher lower heat supply and to have any impact there so the eep is gonna try and address kind of those three things um and at a very high level the way it does it is this uh and this is what we'll spend most of the talk getting into um but we make the transaction fee more predictable by basically just saying what's the minimum fee a transaction has to pay to be included in a block and putting that right into the block header so we call this minimum fee the base fee um and this way you can look at any block on the chain and know this is the minimum that a transaction would have had to pay to be executed in that block and it makes it very easy to see if you can be in or out um and then the way we reduce the inclusion delays for transactions is we double the block size on the network so when there's going to be the network upgrade the block size will effectively double from say it falls on a half million where it is today to 25 million and then we just aim to keep it half empty most of the time so even though the risk capacity for 25 million uh we try to keep our blocks around 12 and a half but that means that for the marginal transaction that you want to include there's always kind of half the block of space that you can put it in and the way we do those two things is basically how we also create this feedback loop between the network usage and the heat supply so we set the minimum fee again this base fee as a function of how much gas was used in the previous block so if there's more than 50 percent of the block that's used we'll keep raising the base fee kind of like surge pricing just to make it clear that more people want to use the network and uh the the minimum you need to pay to use it goes up um but then because miners could could potentially gain that we decide to burn the base fee and this results in uh where when we have more demand on the network the base fee goes up uh and then we burn more and more of ether as a function of that uh for a same number of transactions so sorry that was not super clear but basically every transaction's base fee is burnt uh and so if the base fee keeps going up then for uh transactions which pay a higher base fee there's just a bigger and bigger total amount of ether that's burnt over time and so okay let's dig into this in a bit more detail um so there's kind of three big components that we we touched on to the variable size blocks uh there's the base here there's two new parameters under 1559 called the fee cap in a tip and finally there's this fee burning which we just touched on but we'll dig into more detail um so the variable size blocks like we said uh under 1559 we want the blocks to be roughly half full uh if they're more than half full we start raising the base g and if they're less we start lowering it um and the reason we can do this is because we raise the base fee and lower it very quickly so that means that even in a worst-case scenario where there's a ton of demand will only have blocks be be completely full or twice the size of current maintenance blocks for a short period of time um so the base heat can increase by 12 and a half percent maximum between each blocks so that means that in roughly 20 blocks or five minutes gas prices are up 10x in 10 minutes they're up 100x and in 15 minutes they're up 1000 x and to give you an idea gas prices and the entire history of ethereum have like ranged mostly between like a thousand x so i think the highest we've ever seen was recently with that a thousand way the minimum we have is is one way um so that means that like in you know 15 minutes we we get as much kind of variability on the base fee um as we've seen in all of ethereum's history um and then once the base fee rises high enough uh people will stop billing being willing to pay that price so the blocks will stop being full and the base view will drop again until we've reached this equilibrium where blocks are 50 or more full and so um the way users deal with this in their transactions is by specifying how much they're willing to pay at a maximum for the transaction to be executed and this parameter is called the fee cap um so the fee cap basically says you know this is the absolute maximum i'm willing to pay and this way if the base fee goes up or down you have some wiggle room there um and because the base fee gets burnt like we've mentioned uh and we still want miners to have to process transactions to hold the state and whatnot users can also specify an optional miner tip and this is the part of the transaction fee that would go directly to the miner so when you process a transaction uh basically you want to check that its fee cap is larger than both the base fee and the tip um if that's the case uh you simply uh process the transaction and whatever is left over after the base fee and the tip have been deducted from the fee cap you refund directly to the user so there's not really any harm in selling a high fee gap uh if if you don't care about paid a very specific basis um yeah and again uh the tip goes directly to the miner and uh there's actually a couple uses for that so the first is to make sure the miners process the transactions versus mining empty blocks um but it's also a way for users who absolutely need their transactions to be included asap to signal that uh so either when you have transactions say like defy arbitrage trades where there's a very high opportunity cost of your transaction not going in you might want to specify a very high tip for that or if there's a ton of conjunction on the network and we're in one of these rare periods where blocks are actually full uh up to 200 percent because there's high demand then you you might want to specify a very high tip to the signal that you want your transaction to be included as soon as possible and so if we take a step back uh what we're really doing with 1559 is we're adding this basic field to the block header uh on the transaction side we just remove the gas price and replace that with the fee cap which is our maximum amount that we're willing to pay and the tip which is what we want to set for the miner and again uh the fee cap uh from the fee cap you deduct the base for the tip uh you pay that basically has burned typicals at the minor and the whatever's left over goes right back to the user and what's very nice about this is we can actually keep supporting legacy transactions under 1559 without any changes if we set the fee cap to be equal to the gas price and the tip to be equal to the difference between the fee cap and the base fee and this means that if for whatever reason you're using a service that can't upgrade the 1559 transactions uh you don't want to or you know for some reason you don't have access to it you can still get your transaction included on the network we don't have to have like a transition period or eventually deprecate those transactions um but the only downside is you don't get that fee cap refund that native 1559 transactions would get but this is still a pretty big win because it means we can very we can really simplify how we end up deploying this on the network and we can have offer long-term support of legacy transactions so the last big chunk of 1559 is the fee burning um and it's worth thinking about why we actually burned the fee so like we mentioned earlier this basi we really want to be a function of the usage on the network right like we want it to be kind of ultra surge pricing when there's a ton of people that want to use it because it makes it clear that you can't get your transaction included for less than that but then you want it to be lowered as soon as that demand goes away um and if miners uh received that base fee they would want it to be as high as possible so one way you can make them indifferent to whether the base fee is high or low is simply by burning it and removing it from the equation um and to be clear this means that the miners still get the tip and the block reward which historically has been the bulk of the revenue so recently with defy we've seen fees grow a ton sometimes being much higher than block rewards but this has been kind of an anomaly and like we mentioned a lot of these transactions with very high fees might still want to put a large portion of that into their tip because of the opportunity cost of not being included so the the the kind of income reduction to miners might be less significant than it appears at a first glance and again here when we burn the base fee we're basically creating a positive feedback loop between how many people are using ethereum and the ether supply because as the demand to use ethereum block space increases um the base fee will will go up like we've seen kind of gas prices go up over uh ethereum's history and that means that every single transaction burns more and more ether and it's a sort of redistribution of to all of the ether holders by decreasing the supply and as one kind of final point i wanted to address some misconceptions that uh we hear a lot around 1559 and take the opportunity to kind of uh uh yeah address those a bit more broadly uh the first big one is the idea that 1559 will like bring gas prices much lower um and this is only very partially true um so like we mentioned at the very beginning it makes gas price estimation much easier so it leads to less overpayment because you can know exactly what's the base fee of a previous block and based on the gas utilization what the basically of the next block will be um so prices will be kind of slightly lower at the margin but the the kind of average gas price of ethereum is always a function of supply and demand and 1559 doesn't do much to address the supply side of block space uh so if we want to you know radically decrease uh gas prices what we need is a massive increase in block space on ethereum and this is where things like layer two like roll ups or just like e2 uh can help a lot but 1559 really won't make a major difference here um and the second kind of misconception is that 1559 will will make ethereum or eth the asset deflationary um and this is only true in the case where the base fee is consistently burning more ether than the block rewards provide and until recently this really wasn't the case block rewards were by far the biggest source of of revenue for miners than transaction fees um and again it's worth mentioning that the tip doesn't contribute to supply reduction so if you know the types of transactions we see on the network are high tip with low base fees so you know there's not that much average demand but there is some very kind of um high paying demand a small amount of that then that won't lead to as much burn than if we just see a ton of kind of demand on average uh with very low tips uh so it's a bit more complex than just saying because we burn the basi i will make deflationary and there's one more thing i wanted to share in this talk uh so we learned this uh over the past 24 hours and it's great um but we've been doing a lot of work on 1559 and now the ethereum foundation has awarded both consensus and our 1559 multi-sig which we've used to pay all of the different teams uh working on this a grant to get all of the client implementations done to have proper project management around the eip uh and to do extensive testing and bug bounties um so this is good uh in the past a couple months i know a lot of people in the community were concerned about whether there were appropriate resources behind this and and uh and uh whether it was appropriate funding uh so now with both the uh the funding that we got off bitcoin a couple months ago and uh the ef we should be good uh to get this through the finish line again happy emoji and this is all i have i'm happy to take some questions now and if you want the slides with the links you can get them from this qr code awesome thank you so much tim a lot of great content there um congratulations on the grant uh that's really exciting news yeah um so i have a couple questions from the chat um the first one is so what needs to be done for 1559 to make it on maynet um we can research forever and just like continue iterating forever but like where is the line where we say like let's drip this next hard fork like what still needs to be done to reach that okay that's a great question uh if i can share my screen again um so uh a lot of people have asked me this question and i've put together uh what i call a main net readiness checklist i was just tracking all the things we need to do to get 1559 live on mainnet or 1559 to a point where it can be considered for maintenance um and uh and there's a couple there's a couple things so obviously we need client implementations uh this is all a work in progress we have three teams right now guest base you nethermine working on it they all have work in progress implementations open ethereum and turboget said they're kind of happy to implement once we're closer to having a final spec so i think we're mostly covered there um there's a couple issues uh that we needed to address in the spec uh we've already solved a couple of them uh with when i've mentioned about supporting legacy transactions in the talk and now the biggest ones we see are first of all just denial of service risks on mainnet are kind of one of the biggest uh i guess blockers for a lot of eeps so account abstractions has uh which was a previous talk has some uh concerns with that as well um and and uh i won't go into too much detail on this but this is when people complain that like the state size is growing too quickly on main net and we can't like manage the state uh 1559's twice as big blocks makes that twice as worse uh so we need to wait for solutions to that to just be available uh most of the client teams are working on it turbo geth this whole kind of premise is dealing with that more efficiently get has a snapshot thing that they're working on and we also have eips in the work to try and reprice some of the op codes to address that um then we have several other small issues with the eep but i don't suspect any of them is too big of a deal so i think once um once we have our implementation kind of done which we expect to get roughly by the end of the year um we should be ready for the next uh the next hard fork so it probably won't be uh berlin but possibly the one after and especially if we can get these issues around the denial of service risk and state management issues solved on on mainnet um but if yeah if you want to see the full list uh you can just go on the ethereum pm repo under fee market there's the checklist there awesome thank you so much tim um so i have another question it's kind of a minor question kind of digging in semantics a little bit but it appears that your goal is to make a more stable fee and you discussed um positive feedback and the question here is wouldn't you want to be using negative feedback so yes as as more people use the platform there is like a negative pressure applied to the supply right like so there's less and less ether and circulation um yeah okay cool got it um i also have another question someone just threw up here have you talked with tim rogarten yes so tim roughgarden is a researcher uh a computer science game theory researcher he's being paid but i believe they're called the decentralization foundation uh to do a economic analysis of 1559 uh so it's not done yet it's in progress uh we've been in touch with him and i suspect in the next months or so we'll see the outcome of that but the goal is to just have a kind of formal analysis on the economic side of what actually 1559 does how does it compare to the current fee market on ethereum cool um another question just if people want to keep up with 1559 or any of the work you're doing what's the best way for them to follow i love that it was my last slide so i will share again please do yeah so i i listed four of them up here again you can get them from the qr code which is in the live stream now but uh the eve itself is probably the first place you should have a look uh you know it keeps the spec at the date uh then we have implementers calls every month or so they're kind of like cordev's calls but just focused on 1559 um we have recordings and transcripts which are linked there i write kind of blog length updates every couple weeks so if you don't want to read the whole hour called transcripts uh that kind of aggregates the different things that have happened on 1559 over the past uh the past few weeks and finally uh each magician's has a threat also with 1559 works a lot of like the spec and whatnot gets gets discussed and debated if you're more interested in nitty gritty of how it's going got it cool that all sounds really good tim um again thanks for joining us today giving us that overview um really appreciate you making time thank you thanks um just a reminder to everybody watching if you want to get involved you have questions head over to our chat live.ethonline.org i'm going to go ahead and take a quick break a five minute break and then we'll be back with the rest of our speakers
