All About That Gas with Abdou Ndiaye | a16z crypto research talks

26 Sept 2023 · 56:05

Abdou Ndiaye, an assistant professor of economics at NYU Stern, presents a follow-up talk on blockchain resource pricing for a16z crypto research. He examines the elasticities behind relative pricing of blockchain resources, proposes adjustments to Ethereum's EIP-1559 fee mechanism, and lays out new ideas on the economics of on-chain storage and execution mechanisms for limiting network congestion.

Speakers

Topics

Transcript

welcome everybody uh really excited to have uh Abdullah and Jai from NYU uh NYU Stern uh formerly my upstairs neighbor and now my down the street neighbor sadly but uh still close by uh but abdu's background is a actually as a macro Economist but he's uh shifted the last couple years uh into doing a lot of work on crypto and today is going to talk about uh gas pricing so take it away cool uh thanks for having me it's great always great to come here for the summer chat with everyone um so uh I I will say it because some people say they like the title all about gas so in this talk I'm gonna do two things I'm gonna talk about a paper

um working papers on my website called blockchain price versus quantity controls and um so this paper emerged from some of the ideas that I presented last year so as Joe said I started working on crypto my ideas are ahead of my writing speed and this schedule but in the second part I will talk about some new ideas as well thinking of uh different ways of looking at pricing on the blockchain whether we're thinking of consensus which will be just block space pricing or computation where you look at either sustained durable resources versus like storage

versus non-durable resources or when you think of execution like when we start thinking of at the moment of execution whether the local fee markets okay so to bring some ideas there so this would be the our talk depending on a question that we have we'll go in more detail in each piece overall let's look at what I call the economics of transaction fees to set the agenda in a sense of where we are going where this the paper I mentioned fits so there is work on transaction fee mechanisms so this is the approach there is more game theoretical more micro in nature where we know starting from let's say credibility thinking of credibility team

here has think of inside Miner myopic incentives and off-chain agreements uh and some other people have worked as well there and others on posted price mechanisms really what we take here is a complementary approach meaning that I'm not going to be focusing much on whether people are going to be beating their truthful valuation I'm going to take these Game Theory properties for giving and I'm going to start and talk about what it implies for transaction fee mechanisms from a more macro uh perspective which is what I call here the market for Block space there are the papers that fit in the paper more fits in this line is looking at the market so

I'm going to start from of course a micro model with users having valuations and from it I'm going to generate and think of the market for Block space so this vitalik has set an agenda around this some sort a lot of things I'm going to be doing some of the ideas he had it we're going to formalize them test them and look at implications for transaction fee mechanisms some papers working are looking at monopolistic pricing what if we think of the validator being monopolists the Enterprise block space in that sense and multiple resources as well and then finally there is also other papers that look at for example of ethereum 6 is widely used the Dynamics of ethereum specific transaction fee

mechanism EIP 1559 which we're going to talk about as well so here contribution you'll see is that this work kind of gives a lot of theoretical justification for some of the empiricals as they find and some uh con um some plain planned upgrades okay so let's start with this uh I think so today I'm going to be more volumizing because last time I kind of explained some of the economic intuition behind a lot of things so I'm going to start with a model of what I think of validators so validators we're not going to be concerned with what consensus protocol be used for our purpose it would just be simply they take resources that are priced at prices

that are given per unit right so this is the let's say the gas price this is the gas amount exercise or these are different resources you can interpret them as different resources compute bandwidth and so on and then this will create a total gas okay and it's there is a Max gas limit right because of technical considerations okay so that's what the validators do now to do this of course they incur costs so these are technological costs for the validator when producing a block okay this Encompass operation costs are the cost associated with assessing and modifying the blockchain state

I do yeah so you're immediately starting with a multi-dimensional case is that no so I'm going to take this for given right I'm going to talk about now just the I'm going to talk about this this first part is all purely the one-dimensional case I'm going to focus on quantity production okay what is X indexed by oh so this is different n one to n yeah but what is it what is X2 so it's different resources so this is so you have like multiple difference we're going to take the price for given what all this will do is just give me a marginal costs function to think of the marginal cost of creating block space so yeah so there is the multiple

Dimension here but I'm going to take the prices as given so in the when I look at the multi-dimension I'm going to optimize with this choice of the prices so so here I'm just going to take them as given these are the uh storage is 20 000 Etc I'm just going to take them for you yes those cue like the cost per block or how should we think about you now Q is the block size right so this is the total Q is the block size but you're multiplying a price by a bundle to get a side yeah so that's exactly so it's like you pay this is um think about it this is like the this is the unit the unit that people are paying yeah

um you have the you have X i's are the different op codes in the example of ethereum the unit prices of course there is a price there is a different price on there which is the unit price but that's the multiplier of this queue okay but we're going to think of this queue has a maximum size that we'll take it so sorry so I can actually think the eyes as being app codes yeah P being the pr code cost yes r-coded in ethereum protocol yes and X the number of times that our code is used yes yes exactly and uh so but from the blockchain designer perspective this costs can be different from the

validator because you know it might you know you have delay in Block propagation and let's say cost of uh centralization Etc so let's say they have there is some uncertainty on this cost right because uh and I'm going to show you how this entity what will make us we'll we'll think of it as uncertainty in Supply in a sense uh from some distribution error so now let's talk about users and this is where I think we kind of bridge bridge the gap so I'm going to consider importance of atomistic users so my goal is from users to kind of lead to a micro foundation on what would be a demand for Block space okay so I'm gonna have J user denoted by J they arrive at random between uh two

blocks uh from uh personal process with parameter so Lambda times Q Max so think of Lambda as the intensity of demand if Lambda is greater than one that means not all transactions can be included in the block right so demand is high and is Lambda is less than one it means in principle all transactions can be included um users leave the pool if transactions are including a nox block only to return so I'm not I abstract from the main pool uh piling up with pending transactions I'm going to talk about that when we go into quantitative so um Nissan has written a paper thinking

of this and found that the Dynamics of this transaction fees are pretty similar to uh some of the papers I'm going to cite in the quantitative part so I'm going to abstract from that I'm just going to assume every period I just have these new users coming in from the same user evaluation and again also I'm going to assume that the bibs are just the true valuations like I said from there just from the distribution of user evaluations I can I will know how many people will be willing to pay a certain amount P okay it will be just the survival property distribute the survival rate so the CDF is the cumulative distribution above p is the survival so 1 minus f okay so this so this is just to this is

to give us a micro Foundation now when I'm going to think of demand uncertainty I can think of this Lambda being higher lower and so on okay which is the motivation for thinking of price versus quantity controls okay so the first Lemma to kind of lead to a demand curve is the following and it's just a simple this will be handy to think of is from this user model you can create a demand curve there is a demand curve for Block space which is that the great great demand for workspace is just the price have this relationship decreasing with uh quantity the price for amount of block space so price will be that cutoff limit of the

lowest percent of bid who's entering and then the price elasticity of demand so this notion that economists talk about so what is the price analysis of demand it is just if I increase prices by one percent by how much does demand decrease okay so that is the price ls50 Maya so this is just this tail ratio the statistic of the distribution okay of user valuations now this statistic will be interesting because for example if I assume f2b power to distribution okay that's I'll use this and in fact it's not a bad assumption you find that um you have this simple form okay this is Handy why because the

simple model where you have prices how they decrease with quantities and this price elasticity of demand will be just this the Pareto coefficient of this parietal distribution okay and then we're going to have this here what I'll call the demand shifter which is proportional Lambda times Q Max okay so remember Lambda was high we are in high demand low we are in low demand case okay so now we're going to think of this scenario right where you're going to have uncertainty in let's say Supply the cost to validators and uncertainty in demand people can have you can have high intensity where Lambda is very high

Orlando very low which leads to uncertainty in the this demand shifter so now in this situation imagine you are a blockchain designer and you think of what do I want to do do I want to set a strict block size limit limit it's just going to be fixed you know there will be a block size of 15 million or do I want to do the opposite let relax that and let's say just fix the price okay so that the block size can adjust whether we are in high demand or low in demand situations so that's what we're going to look at now to go that we need to Define an objective okay and this is kind of where the main some of the main challenges is

with blockchains is a very specific example in a very specific scenario when you look at people have thought of this idea of price versus quantity controls in environmental regulation and so on but you need to be specific for when it comes to blockchain so what is objective so now look at let's say the protocol if you define a plot called profit okay so you're going to have the block reward the expectation of the all the fees collected minus the cost of course these can be diverted for many different purposes we know for incentive compatibility reasons so this is not what is going to be optimized in a sense okay because the some of these fees they can be diverted for by the protocol and

so on but I argue that one objective we can consider is one in which the blockchain designer will trade off will trade off what so we're going to take this block reward R for given we'll trade off what would a monopolistic validator do okay what they will be optimizing which would be here these excess profits and some objective here and I'll give you some example this can be technological consideration this can be for welfare and so on so beta here you can think about it as the Monopoly as the uh bargaining power of of uh validators for example if you were

in a where you're trying to do a monopolistic validator uh transaction choose choice of price versus quantity controls this would be a beta is equal to one you have no considerations here if you wanted to just have let's say a uh this consideration s that I'm going to give you some examples you're going to have beta0 and you're going to consider this okay so beta captures the bargaining power validators okay let me give you something sorry what is Ada sorry so ETA is uh uncertainty on the marginal costs of the validators so this can be because it can be let's say think of proof of work or proof of proof of work there is uncertainty on the price of the Asics

uh for them to to to to to to to do some operations so the expectation is over Ada and over also and over PSI the demand uncertainty okay because which was Lambda so that was your Lambda uh yeah uh Lambda yes Lambda is yeah exactly okay so Lao let's look at those uncertainties and what let me give these examples why to convince why it is reasonable and it's not just uh it is so for example you can think of a blockchain designer that has a concern for welfare so they maximize

here so they care about the utility of Representative user so the U of Q here we can consider a technological block size Target so that is typically if you think of the case of ethereum that's maybe what motivates them they tend to say there is this target of 50 million you want to hit so let's say you can have a loss function around that Target it can even be a Dirac that we only want to hit this target or it can be somewhere in between where you have normal distribution and you narrow it down to be closer to the start okay or it can just be validated profits where if you wanted to think of a monopolistic uh uh maximizing the monopolistic

validators okay so now what is the problem so so Tim was asking this which is the following so we can consider two things right because we need to there is uncertainty and the designer wanna uh have some way to control things let's do look at the two things the general problem would be just designing a design supply curve but that's complicated let's just look at these two extremes price versus quantity controls because we see that it practices what happens the first one will be if you were to set prices so the quantities you said yes so it's just the the marginal cost so

here like I had before so this is just when you set the price you fix the price what happens now is that the quantities adjust the difference with price control uh quantities adjusted they can be higher in high demand low in low demand through matching the demand curve here so this is so I'm going to consider a situation where I think I have it here I consider the situation yeah so as in general so this is the S of the quantity that adjusts okay and what was the cost so I have prices times the quantities so this Sigma here is a marginal cost so think about a situation where I have a constant return to scale cost function

so this is just the marginal cost but I'm going to think of now uncertainty as uncertainty in this marginal cost that's the that's the main idea so this is the problem of setting the price change price which is let me let me Pro let's have prices adjust so let's say do let's something like the ip559 let's adjust the prices now if on the other hand the validator said okay I'm going to set there is a maximum block size I'm not gonna hit okay now if I fix a quantity right the price would be on the demand curve and choosing that quantity will just be maximizing this object here so I'm going to have the price from the quantity this

is the demand the uncertainty in demand how it affects it and the marginal cost yes what's what role is the uncertainty playing here like if there was Lambda and Ada were fixed we're fixed they are they are equivalent price versus quantity control they are equivalent so the the really idea is so if you have a lot of uncertainty in demand so the idea is if you have a lot of uncertainty in demand more instant in demand and less uncertainty in Supply having prices adjusts is very useful because then quantity can adjust a lot and match demand and uncertainty verse versus if you had more uncertainty in the supply curve let's say imagine it

gets very costly if the block size becomes too large then you want to keep the quantity fixed okay so that's what we're going to find So when you say would be equivalent without uncertainty without uncertainty choosing prices or quantities would be the same you mean you saw for optimality you get the same solution yeah the same solution they are indifferent and this is kind of another rationality behind that's why I'm saying very complementary to thinking of these price adjustments iteration okay so now let me look at when you look optimize this which one what is more important the

value from adjusting prices or just keeping a fixed block size okay so this object here and so the proposition of the paper is the following is so I'm going to consider one case here where there's a consideration for social welfare again it can capture many different situations you put new to zero beta to one but the general idea remains you see that the difference between price controls price adjustment versus fixed block size limit is proportional to these risk factors and what do we get is that when you have demand volatility is higher the

advantage of price controls is large okay so like I just said now when the you have a lot of demand uncertainty you want to do more uh you want you don't want to just fix a block size limit okay and when covaries between demand and marginal cost is low you want also to have price adjustments because then it would be the um prior prices would increase in those situations where quantities will increase into situations where marginal cost is low okay so this is the general idea and now um the this is kind of the formalization not just it's not just the uncertainty

of marginal cost but the correlation of um some of these ideas behind the AP 1559 if you look at let's say uh there is a cons there's a thought that demand considerations there is more incentive in demand than on the uh let us say Supply site okay so this is the I now one thing that I add and I think which is very relevant is how is this robust so in the model I can account for fluctuations in cryptocurrency prices okay so we are getting more on off-chain stuff now but think of now people they are bidding in cryptocurrency but they their value are in either in dollars or in real terms

okay so once you account now for uncertainty like inserting in prices from coming from the currency actually that lowers the advantage of price controls okay because then price controls there is a lot of uncertainty coming from uh variation in prices and people are valuing their uh things in and and validators both validates and people in uh either real terms or nominal dollar terms okay so maybe that's also uh say that you need to quantify these things if you account for them all right cool so now let's do something more applied and look at now what does it tell us for transaction fee

mechanisms so I'm going to consider what I call here so this is feel free to give me feedback on the name ADT tfms TFM that are adaptive transaction fee mechanics that are adaptive to a deterministic Target so I'm gonna ignore the tip or team have shown that you can have two plus mechanisms that are that have good properties so I'm gonna ignore the tip and I'm gonna just consider the following you're going to adjust the prices say you fix a Target okay that is deterministic that is fixed I'm going to just look at the the growth rate the Gap from the Target and I'm going to adjust the prices from some function okay I call these ADT tfms example is ethereum ethereum one is one

that is linear okay and that is they decided such that the block size doubles at most in a minute that was just chosen out of the heart of someone in the atrium Foundation there is no uh reasoning why okay so we're gonna try to think of this and see what how would be a sense an optimal uh TFM in this family optimal here what I'm gonna mean is the following it's gonna be in the sense of the way ethereum is thinking of which is like oh we want to hit a Target so I want to hit a Target quantity how should it look like so in the paper I show that it should be exponential

and the that adjustment parameter is tied to a very deep economic parameter which is the inverse price elasticity of demand and it's all going to be about like how to measure it or how to approximate it on chain so why so let's intuitively the idea is the following so if I come back to this so this here is the growth in prices this is let's say the change in quantities so if I'm got if I'm off the Target and I want to get closer to the Target it's going to be anywhere I'm around the target this is let's say sum change X and here this change is going to be just x divided the elasticity because the

elasticity is the growth rate of quantities to the growth rate of prices okay so when I take the logs here so the solar log is the actual growth rate sorry the log price change is the growth rate so then I'm going to have just some quantity X is equal to f X log of x is equal to f of x over that elasticity okay so what I show is that in general for any distribution okay the optimal uh ease of this form the elasticity at the Target okay for any Target that is fixed it's exponential locally okay in the neighborhood

so that's the what they consider is a linear form but the linear has a loss in the second order that matters when you go far away a little bit away from the quantity Target now to go further when you if you specialize the valuation of the user distribution the valuation of the user distribution if you consider one that is the Pareto you find that this parameter D is going to be just you'll have this constant elasticity of demand curve that I created earlier and it's going to be just one over the part of tail one over the this price the last video was whenever the pirate Hotel okay and it takes the exponential form

everywhere remind me what optimal means here so optimal means um this is the objective is at a Target it means if I'm off the target let's say QT is equal to Q star minus Epsilon what adjustment function gets me closer to where I'm gonna be at the Target quantity in The Next Period okay because so like I showed the objective is to hit a Target block size so why wouldn't it be the adjustment that just always takes you immediately to the Target exactly to the Target yeah but it's the one function it cannot change depending

on the the target it's it has this specific form so are you taking like a worst case over targets or no I'm just taking the locally at the Target it's going to be yeah it depends on the target certainly that's that's what you are saying right it's through this this elasticity is captured at the Target the thing is this is around the neighborhood of the target this is what matters so the objective function is I Next Period I want to hit the closest to the Target and what prevents you from getting it exactly

what prevents you from hitting it exactly because say I have this imagine I'm Q star is equal to Epsilon right Q star is imagine I'm far away from Epsilon of the target okay what price do I get imagine the price was on the demand curve what price do I get next is defined by this price and then what is going to tell you the quantity is the demand curve and it's not guaranteed that you're going to hit it exactly because for any price there will be a demand for that price so here I'm assuming that this is Iran in like stable Network situations right so because that's what it should capture right so if you have the quality that is far off and I'm

adjusting prices this price initially is at a demand curve and I'm adjusting prices now from this function and this price leads to me maps me to demand it's not guaranteed that it's going to be the Third does it make sense possibly sort of but I still like there's there's like I mean so if you're not at the Target you'll be some Gap from the target yeah and depending on the target you might be have bigger or smaller gaps from the Target so I still don't understand how you're you need to have some kind of operator over possible targets to get a objective function right to get a number right no I say fix a Target that's the Target that is fixed right and I'm going to look at locally let's say I'm on a neighborhood of a

Target what should be the function that gives me closest to the Target and so now when I said luckily what happens is imagine you are at the Target minus Epsilon it's not guaranteed if you're adjusting prices like this the way you would the way you would get close you would make sure to be at the Target is let me just look at for that Target what would be the price that would be on the demand curve okay that that's that's what it is but I want it to be over the whole um but it's going to be here the this is the price adjustment that we are following this constraint function that is that is a fixed function that doesn't that only

depends on the gap okay I'm happy to talk about it later uh person but I think um this now this result and I think this is Nuance to interpret is the following now I'm gonna have some considerations that where we are like the minor what this is a form of mmic that um team has written in the paper where the miner can create transactions and add them and take some of the block space so I ask if what choice of the quantities the block the target would

lead to the one that the validator wants okay and I show that so here I make specific choices on the demand curve so I have this is elastic demand curve or from the priority valuation if I consider in a situation where the block size maximum block size limit is there to match average demand not yet that but in general the county Target to maximum block size is satisfy this equation so this is just through solving for the optimal monopolist validators choice of a block size of course I mean this is a consideration of Monopoly power can argue oh maybe that's not the main

concern but we know that validators always try to find ways to get extra to extract extra Surplus so if they can introduce some um transactions in there they will do it and that will increase to increase the price overall and I find that this bound is actually goes to one over Epsilon if I assume that the quantity Max is taken uh the maximum quantity limit the blocks are limit is taken to much average demand which is around 37 percent and the interpretation of this I think is that you know you know that ethereum was not the goal was there more to match a Target than to match the monopolies but if the target to Max block size and

the max block size much demand in the average scenario than the ratio should be less than 37 percent otherwise The Miner will have incentives to uh introduce some transactions and uh reduce the effective Supply and get revenue from there let me now quantify this numerically and I think it's useful so I'm going to take ethereum data so I take a random sample of 100 000 blocks a lot of transactions from the the London hard Fork to recently and

um what you know economists would do when you're trying to match a demand curve is you have something else it's hard to tell whether you are moving just on the demand curve or whether there is a shift meaning the conditions have changed so often what you do is you have some random variation on the supply so this is hard to come by in the blockchain example because things are set programmatically even if you look at the Block size often it just changes a period of time there's nothing random in it you know a dream of doing an experiment wouldn't be also that scale so the strategy that I'm going to take and I know this has limitation or I'm going to argue it's actually it's in

some informative I'm gonna uh fit a priority distribution if you look at valuations often you will have some people just going to pay very high fees so you have I'm going to feed a pair Distribution on the empirical distribution of effective uh gas prices okay in each block now this has limitations the first one is that there is a censoring because of the minimum minimum price you don't you won't have those valuations at the bottom okay but and also the other thing is I'm not going to capture the mempool okay you have pending transactions in the mempool are not captured but I argue and I'll argue that if you want to think of the mempool really you

need a different form of transaction fee mechanisms then this one because you need to find ways to have signals from a mempool and I don't think it will be pretty robust so this estimate what it does is by centering the lower transactions in fact what you find is when you fit a partial distribution and you Center the lower tail you're gonna have a reflect a higher the low the low uh transaction you're gonna the low valuation you're gonna have a higher tail and actual valuation of distribution what it means is that the Pareto question I'm going to estimating is an underestimate that means that the adjustment that I'm gonna get is going to be an overestimate meaning that this is going to be an

upper bound to what it should be okay and this upper bound is in will be informative I'll show you that it's less than the ethereum one in a sense the lithium one is overshooting okay and I perform robustness checks to censor the data in different ways so what I will find is a lower bound because it's a sorry it's a upper bound of the how you this adjustment parameter should be okay so and I look at do at the result so because I told you that this is when you look at it locally you wanna hit this quantity Target okay so you want to hit this quantity Target so locally so let's look at so my favorite result is this and I'm going to

show you uh other from results I'm going to look at the quantity Target and I'm going to look at blocks that match it plus or minus 50 percent okay that are at the quantity Target and then from there I'm gonna put this prior to Tails and I'm going to see on average what they lead to and I find an adjustment rate of around eight percent okay and I'm going to show some robustness okay and this adjustment rate of course eight percent is not a magical number it shows up somewhere else but uh it encapsulates here this concept of inverse price elasticity of who I'm happy to discuss it down the line as well um I find also that before the merge um

this adjustment rate uh should have been lower meaning that the current 12.5 percent was overshooting more before the merge and after the merge we have 8.67 I don't account for those who are in the mempool like I said uh but we for that we need other things yes so can you remind me to the centering mean that you estimate the optimal is too high or too low I so I estimate an upper bound I estimate too high yes that's why I'm saying it's informative yeah and estimate an upper bound okay so now like concretely there's like a 1 8 at the beginning of the 1559 formula and you're saying it should be

more like 112th or something like that yeah yeah so that 1 8 is 12.5 percent it should be around eight percent so yes okay so now let's see some of the empirical work and explain why so first of all the exponential shape is already um a planned feature that they're going to change so this is give some explanations for that but here you see some work that Leonardo's bernab and others have done where they look at the dynamic properties of the TFM and they find that if you see it's so here I don't have number but it's around eight percent and it's really afterwards I saw it I'm like okay it's interesting it explains that you have chaotic Behavior afterwards

which is like it overshoots or undershoots and you either have full blocks or empty blocks at the Block size on on average is stable up to that around eight percent number okay so this signals that uh four normal demand situations it is too hot okay the current route I do the same so here this is just to show you the target block size result so again this is a uh but I showed that for example even when you have this Epsilon around 12 you already are at that limit of around 37 percent now of course how robust is this let's look at different ways of course

because some of the some transactions some blocks are empty so I need to get rid of them you cannot fit anything on it some blocks have two transactions you can only fit a line in there right so some some situations you have gas around 500 where you're not in normal situations so let's do different ways so here is instead of considering just blocks that are around the target let's consider that five percent 33 or further away so blocks that can be pretty full or pretty empty Max gas from 30 is going to be not High gauze up to 200 means it can there is less censoring so you could have all 200. now uh what happens is

when you have more uh a larger window of transactions the the adjustment rate is low get is lower okay so uh that means even away from it it's lower uh the the target and when you are compressing I think and this is just I think a feature of uh censoring too much that have a uh base fee of 30 you have because you have Let's uh compressed it so much censoring so you're going to have an overestimate of the parallel to tell sorry underestimate

of the tail and an overestimate of the of the adjustment rate but all in all here when I do all these robustness they get me Atmos 10. I can do the same post merge and pre-merge so so I look at blocks before my aftermath so these are all random blocks if I did it in a sample also that is of same size 100 000 hundred thousand I have similar results uh for post merge the numbers are larger and also this is something that they find consistent also with some of the study they find that it was more overshooting before the merge and after the merge now and pre-merge it can build as low as six percent so six to ten ninety three

I mean so I think the main takeaway of this is also uh I do some experiments looking at weather not having a fixed Target but deterministic non-deterministed Target can tell you more and I'm happy to talk about it I think maybe one thing that this can bring into the conversation is seeing this uh d d as a deep economic parameter that we need to think of uh how to adjust and um I think they had a sense also that maybe it was too high for normal situation we know that when gas spikes it's too slow but certainly afterwards you stay up there okay now for the next 15 minutes I'm gonna be front running uh some of my

like ideas I think all of these I have models and the economic Concepts I'm going to be developing and I think it can be useful uh also for people who are thinking of this uh and let's talk about all about gasp this quote from Bill Maher is we speak about capitalism and the beauty of unfettered Market forces determining price but not when it comes to gas when it comes to gas we need it cheap and the president has better get it for us or else we don't care how and I think that's often sometimes what happens in crypto too people say okay let's have low gas you know let's this is often how it is okay the network just started there's not much yeah let's have low guards but not too low for people to get used to it

but let's keep transactions low fees low let's subsidize them and I want to take this as a principle of how we want to think of gas so I'm going to kind of lay out here some applied economic principles as in principle so really apply to think of few things so you can think of pricing of block space which is just this is just I want to just you know get to consensus so think of either price pricing of plus space or the resources that will get to into block space often these you think about it as just like the these op codes or these what you call burst resources this is like non-durable resources that's one time paid

okay and you can think of also computation which will involve you're going to think of storage uh or some what I'll call durable or sustained resources these are resources that if they incur a cost to the network will stay and remain there okay how do you think of pricing of those uh resources relative to others and finally execution imagine you have a big nft drop Market or you can condition your pricing on objects okay how would you do to avoid Network congestion for example so these are all questions that people are interested okay so I'm going to summarize these as sort of principles and happy to discuss this offline so I think the main the

first principle into is the following which is that a contrary to that code that we just have the primary objective of protocol pricing with blockchains is to rectify externalities rather than supplanting the competitive markets so externalities could be either that could be you know a lot of uncertainty that could lead us in a very bad situation that would be a very high marginal let's say social cost of having Big Blocks or that validators don't account for how do I set the pricing okay so this I think is the first principle is

um yeah certainly the tools are in control of blockchain designers are sometimes you know there is this thing in the virtual machine I need to set a price on it but I think this to me is uh the first okay so now this is related this is summary of ideas of what I presented on multi-dimensional pricing and multi-dimensional pricing I think the main economic insights are the following you can think of in a multi-dimensional context okay there you can show examples where the efficiency can be enhanced by increasing the price returns that are complementary to saturated resources

complementary because uh they they come together to form a certain uh product so that's a something that you you can take advantage of when you look at the level of granularity now so I argue that the level of granularity is not really the level of these intermediate inputs like the open level it's too granular and the reason is the following it is the notion of productive efficiency when you do that you create all these ways of people trying to go and find out ways to adjust their code avoid these things and that that leads to loss in productive efficiency and the idea is really to do the pricing what I call other and user product categories

so you will have some typical smart contract that use same operations the economic notion here or the mathematical notion is things that go in a constant return to scale where say let's say you have type of template contracts that always do the same thing you should be pricing those the same way okay so that's that's if you write down and think about the writer the uh the user think of what contractor they choose the contract Rider choosing to optimize that would lead you to not wanting to distort this intermediate uh uh op codes and finally now when you think of now if you were to do this I mean of course um we know that the pricing always tries

to be very agnostic but some blockchains do this they price at the contract level if you can do some sort of tagging you want common transactions if you know what is a common like a token transfer they should be subject to the protocol-based mattering because these are kind of very common initial transactions and the more complex ones to be more let by the market to determine them okay so this is uh these are I'll say the print the high level uh principles okay now let's talk about um storage and thinking of this object that is more of a long-term durable object

okay so so the this the idea behind so I think so there is a room for separating the pricing of storage and other more um uh non-beurable resources and having implementing a storage rebate okay so when you write down the model you find that you can Implement a storage debate and you can price that this rebate is going to be in a sense the economic notion here will be proportional to the discounted marginal value of computation that it allows and uh finally and I think the key thing is that because these uh this storage is

durable in a sense over the life cycle of a blockchain where you start having more of these durables compounding the share of the pricing that should be this durable resources should be larger relative to the share of the non-durable resources because they put a larger load on their Network yes that seems counterintuitive to me in a way because I mean if you imagine a blockchain has a fixed lifestyle cycle like 10 years the people who store something in year one it seems like should pay more because they're paying for 10 years of storage and the people at the end are not getting as much storage but this but what you are storing that contract has also a

marginal value that is huge at the beginning okay and I think uh that's the that's the I think that's the thing right the storage is not just the cost it's also it has a value that big it has a value because you are composing from these storage to create new tools I mean how do you know that how do you know it's not just like somebody's storing something that's never going to be read again right yeah I mean but that's uh if you can Target it more uh more then you can make those uh those those different characterizations but I think uh you know you you uh the

the pool of contracts that are there combined with new contracts to to generate the the thing is at the you know later down the line you are getting closer to a story that would make the network start getting very slow at the beginning it's not that slow so I think that's the that's the idea as a proportion of again as a proportion of the total thing it could be not it could be that fees are lower at the beginning but I'm saying at the proportion of all right so now let's talk about local free markets which is more like I think at the execution stage different blockchains have different architectures

at some point you get to execute okay you need to find a way and this is so the idea is the following so for execution how can you do an execution that is better than for example what is happening by just saying okay all that matters is just one auction second price an approximation of second price over gas on everything then board ADR Club comes and everything is gas is a 1000. so and this is kind of what I find is that when you look at a sub Market that faces inelastic or relatively inelastic demand compared to others let's say everyone is going for this in nft they don't care how much it pays so you should incorporate local fees right that is not just going to be one auction over all of them

and this approach become increasing robust as a market size if you if let's off that Cube meaning the people who are going towards that is small for example let's say if you are an nft drop if it's an nft drop okay the optimal mechanism in this situation okay so with assumptions of course it operates as a global auction but this is the idea so there is many lanes in New York and there is different uh uh there is different tall ways but some of the lanes are more congested than others but now you can have a proxy of how big a market is by what is the total gas price that people are paying in that

market okay so you are going to Discount a market by that because otherwise we'll just let the nft drop going and nothing else executing so that way you can have some others pay lower gas okay because their Market is less saturated and yet still be filled in so it's a way think about you have different cues so there is a lot of work on queuing Theory and how do you manage different queues but here this is like a proxy of how do you alternate between queues okay and I find and I'm happy to discuss that too that it's the market size through the demand size that makes this stress and also finally so what I find also is that the a uniform gas

auction uh without local fees just one where you just do a large gas auction it's only optimal when the sub markets have high uh price elasticity when you go to a long term also where the long-term system to be larger than short-term ones okay so sorry so only low elasticity I apologize here there is a typo so when you have go in the long term where long-term elasticities matter a lot higher what does it mean because in the long term people will care more they have more time to respond if they will not be willing to always pay a higher price if they are going to paid for a repeated period of time blockchain

should transition towards local fees more in the long run okay so this is what I have so I thank you so comments and questions are welcome yes okay so for all those principles you know they're you think you have models for which those are like theorems or that's more speculation at this point or so I have mod so I started writing a paper about what I did and I had different models for different things it was going to be long economic type of paper so I decided to break them down in papers and so that I dig more into the quantitatives of each piece so I have theorems for each of those statements actually uh but it would be another presentation one of the ones that one of the ones I

was sort of confused by was when you say you were advocating more coarse grain pricing instead of the at the level of user categories rather than yeah so you're saying so with a low level you mean like the op code op code yeah I said no no I said the op code is not the right uh level yes what I'm not confused about is like if you could you could imagine having two smart contracts with the same functionality where one is implemented well and one is implemented poorly right and like the social cost of the latter is definitely like higher right so it seems like you wouldn't want those prices the same even though the functionality is identical so okay so what so functionality oh yeah what they do right yeah okay it's true

I'm assuming that people are optimizing the code writers are optimizing for their code but I think the that's the assumption but it's exactly the op codes that incentivized them to do that right no no well the op codes the thing is if you surprise it that is not reflecting market price then you let people use people start you're creating distortions because people will start looking at or they will optimize around you're creating a distortion in a sense because if you price it that doesn't reflect market price you create that that these distortions now what I say is let's say imagine there is an open zipline smart contract that is a standard

if you price at that smart contract what is happening now is that price that is reflected at the at the market equilibrium will account for each of these lower level ones and since they are all combined in general to get you this type of contract you are not reducing the productive efficiency you're not introducing productive efficiency inefficiency that's the idea behind behind this um so the mathematical statement is if you have let's say a constant return to scale function of these uh these different resources that leads you to a contract the price the uh the you should you know

you should the the the the pricing the relative pricing of those should be the same all right so great thank you for having me foreign