Does it Make Sense to Aggregate and Average feeReceipent Rewards Using a Smoothing Pool by Ken Smith
Devcon·Sat, Oct 7, 2023, 12:00 AM
Speaker
Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on Swarm, IPFS and more. https://archive.devcon.org/archive/watch/6/does-it-make-sense-to-aggregate-and-average-feereceipent-rewards-using-a-smoothing-pool/ This talk presents a statistical model and python code that can be used to model feeRecipient tips using a set of binomial, Gaussian, and Bayesian modeling techniques. We will explore if the ideal of pooling these fees, similar to how POW miners have been pooling their hash power, makes sense for Ethereum validators. We will present the results of modeling one such feeReceipent pooling contract to determine if such a model adds value to other validating Ethereum Node operators. Speaker(s): Ken Smith Skill level: Intermediate Track: Staking & Validator Experience Keywords: Staking,feeReceipent,tips Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 6 was held in Bogotá, Colombia on Oct 11 - 14, 2022. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/
Transcript
foreign [Music] Smith I'll be talking about does it make sense to aggregate an average fee recipient rewards uh uh commonly referred to as Mev using a smoothing pool and uh very glad to talk about a number of things I'm with uh uh a firm of my own called nextblock Solutions but I'm also a rocket scientist with the rocket pull protocol and most importantly a member of the node operators Association so uh one of the things you can do is you could download a copy of this report that was published early summer there's a QR code here in the corner that you can grab but this this presentation will cover the highlights of that report or at least give you a good orientation to read it but I do encourage you to go there for more additional uh information that I can't cover in in 24 minutes and nine seconds here so to begin with let's let's bring just a a short second talking about the taxonomy taxonomy of Mev right uh you've heard a lot of talks about it one of the first things you might be asking uh is why would it make sense to aggregate rewards in a smoothing pool this is something that kind of comes from the mining industry right where the chances of you actually solving a cryptographic hash and being rewarded is so rare that it makes sense to go in collectively with other individuals to have a constant income stream this here is a graph that shows the uh the probability over five years of receiving a block proposal right so if you have a single validator and sometimes I might refer to those as mini polls in rocketful terminology but validators over five years given four thousand two hundred four thousand uh 25 validators or a little bit more than that now on the on the blockchain uh you will receive on average about 30 proposals over that five-year period now again that's just an average right you can see in the the probability histogram you might be unlucky and might only receive 12 proposals over that five years you might also receive 50 or so right and it scales linearly if you have two validators you can see here that the average is going to be 60. you would think that there's no advantage to having more validators uh in there if each each proposal was rewarded uniformly with the same amount of Beacon Rewards but obviously in addition to getting Beacon rewards you'll also get a chance at at Mev right so let's just take a little bit at looking at Mev right you know the definition right I think one of the things we lose a little bit though is that it's viewed somewhat as a theoretical limit it's the maximum extractable value and I would argue and I think a lot of the data supports that we're not actually extracting that full amount right so the flashbots team has used this term I don't think it's quite as catchy called rev which is the actual amount that we're able to extract From the Block right and there's some amount of of earnings right that is not captured right it's just left on the blockchain for the the next block I'm just going to call that eulage until somebody comes up with a better name right there's some really great metrics coming coming uh out now uh post merge about if we look at this rev how much of it is actually going to the Searcher right how much of it is going to the block Builder right um what part of it may go to the relayer right now the relay players seem to be providing that as a as a no fee service right but there's a potential they might capture some revenue from there and most of it from the metrics we're seeing right now is going to the block proposer right that's the validator and so I've been I've been calling this term in my report here the proposer payment value it's the amount paid to the the validator to put those transactions into the block okay one of the things that we did is performed a Monte Carlo simulation looking at it pre-emerge we looked over a period of 60 days we looked at the amount of Bev that was extracted by miners now this was done in the kind of May June time period but Bev seems to be about uh pretty much stable in that time period it's not maybe declining slightly but pretty much in there and it is this long tail distribution okay uh most of the math this this line right here this is the median value right so 50 of the blocks received a value that's less than uh less than .05 eth in their block right 50 of the blocks had uh eth payments and Mev payments or proposer payment values that are greater than that the average is actually quite a bit higher than the median and the reason for that is of this long tail distribution in fact it's it's so much that you know in looking at some of these metrics if we just look at the top point one percent right uh let me get it here thirty percent of all the each values is in that top point one percent of the blocks there right and it's because it's just so long tailed here I mean that ends right here at one East but it actually continues on right we heard earlier that you know some of the blocks would be you know near three digits e right okay adstrument tremendous value to it right so because of that long tail right even the top one percent have 45 of the proposer payment value in there right it it creates these these very rich um eth blocks right that we've been calling Lottery blocks right and if you win a lottery block it can be it could be very rewarding in terms of an income stream right so this is why it makes sense to start aggregating them into a smoothing pool so one of the things we did pre-merge is we started to looking at okay I think this was originally proposed by flashbots there was a Dev on the rocketful team that actually uh came up with an ideal and a mechanism to implement it uh Joe Joe pamplis um and so what we did is we we I created a um a Python program and you can get it from the GitHub that went ahead and it for and it went through a morning Carlo simulation and so just briefly what it did is it said okay let's figure out some time period and that's important right uh because uh the way that this works is that if you validate for an indefinite period of time right you all approach the average okay but we're not going to validate for an indefinite period of time there's some investment right maybe you start staking you earn income but maybe it's a five year maybe it's a ten year or twenty year there's some limitation of time perhaps it's even much shorter with proposer Builder separation right maybe that will come in three years or four years right or as we heard in the other talk maybe there are other technologies that could prevent uh prevent a lot of this from occurring so there's some finite determination the software goes ahead and it performs a try it grabs a validator it makes a guesstimate about the number of proposals that it will get over that five-year period for most most of my graphs um it then for each of those proposals randomly assigns a um an amount of Med based upon that 60-day historical period okay because math seems to be somewhat random we don't know when the nfts are going to drop when the Arbitrage is going to happen Okay it then goes ahead and does that for a validator or a set of validators that you have it then also Compares another set like type you know set a set B set B is where that validator instead of running by itself something I call a solitarius mode is now running as part of a smoothing pool okay and the size that I chose for this meaningful initially was about 3 000 validators that are working collectively sharing sharing their proposer payment values um and then it it it did that for the entire uh validating period And it simply compared it said okay would you in this case in this try did the solitarius mini pool earn more income and and proposer payment value than if it was in a smoothing pool right and so we've we've got some results that we could share about this it records it and then it repeats it a whole bunch of times and you can set that number for anything but you get enough power at about a thousand tries running through this thing here and then finally it produces a lot of a lot of knee graphs so let's go ahead let's take a look at those graphs okay so let me walk through it with you a couple of times let's just start with one we have one validator who over the course of five years produces on average about 60 blocks right and you can see here that it runs for a period of time it gets it gets a a block and it receives a small amount of MAV here it got it proposed again and received a larger amount and you can see as it steps up here it's not receiving any blocks it was never selected to be a block proposer here it's a block proposer and it went up and so it just goes up every period right and I had the periods kind of slice and in 28 day periods and at the end of it you can see over that five-year period this run of this single validator earned about 2.5 Ethan math okay um we could run it again and we could say given that same performance what about if it was in a group of 299 other validators and it so therefore the mini pool had 3 000 validators and we could see here that if I can if I put both of those slides together that it outperformed right it was much better to get a small constant share of a larger pool over time now this was just one run right okay maybe it just so happened I picked one that had outperformed it we need to repeat that a little bit more right so let's let's look at that a little bit more here right so again I said we'll try it 10 times right and you can see here back to the solitarius validator that maybe it only earned two eth maybe over here in this trial it earned about 60 right okay there's greater variance because of just the the long tail randomness of of the Mev but if it's part of a smoothing pool you could see here even at 10 tries of a smoothing pool the variance is much less because now we're averaging a share over 3 000 validators right and when you put them together on the same chart and the same axis is here you can see that at least in this this trial of 10 runs at nine nine times out of ten being in a smoothing pool you earned more income over that five-year period than if you had just ran independently only at one time you had a very lucky solitarius mini pool that had actually outperformed the smoothing pool right so um we this is just another chart that's looking at it where I normalized if you were by yourself and you could see that most of the runs you earned you know in this case about three E's more over that five-year period uh than if you had ran solitariously that's the red line okay well again 10 times is not a lot you need to start increasing that very large to get your orders of power in in terms of your ability to see resolution so here I ran it again all these lines start to overlap and it looks like from here again the blue lines here are the smoothing pool and you might say wow look at all these here that are up here earning hundreds of Eve over the smoothing pool right but it's a it's a little bit of a of an optical illusion right because the majority of the lines are here in this very dark purple at the bottom right in fact how many of those are there we could sit we can start looking at it right and I'll just I'll just point to this one spot here if you had one mini pool of your own and you were in it enjoined a smoothing pool of only a hundred other mini pools 78 percent of the time in in this run of a thousand tries 78 of the time the smoothing pool outperformed a solitarius mini pool right uh we could show the same same chart here just shown on a line here and you can see that it will underperform in kind of a unique case when when you are the smoothing pool if you join a smoothing pool before you reach the 50 mode right so don't join a smoothing pool if you have one validator don't join until there's at least two or three validators in the pool right okay but as soon as you become the small fish in the pool right if you join a pool of let's say 3 000 mini pools and you only have 10 or 15 15 validators right you can join you could expect about 80 percent of the time that that that's that smoothing pool will outperform your solitarious mini pull so it does it does provide that um you know the kind of takeaway here is that a fractional share is going to outperform most of the time okay now uh another rocket scientist in rocket pole uh valderram I think looked at the report when it was when it was in the early phases and he said Ken that was that was pretty interesting stuff I love the code but he says I think I could show it in one graph okay and so he put together this graph I got to give him the full credit and what it shows here is it shows the probability of you earning an amount of eth given whether or not and we'll just look here at the blue line which is one validator versus joining the purple line of 3 000 validators and so in this blue line you can see that there's some probability right that you might even get up to 10 East over the five years right but most of your probability is that you are going to get less than 5e okay versus if you're in a smoothing pool you're in the purple line right you're almost assured not to get these low values most of your probability is getting some value close to five or six eth over that period of time and then again it becomes very unlikely that you're going to win the lottery right because the pool won the lottery and you're just getting a share it's also shown down here lower below here which is that if you're in the pool right um You are you are nearly guaranteed to get at least one eighth two e three fourth five five E six E's and then it starts dropping down to almost a negative probability right versus the Blue Line you can see that yes you know the chances are I'm going to get much less than five but I give up some chance of winning the lottery right so it it does provide um you know the takeaway here is that if you participate in a smoothing pool right you are more likely to receive large larger monthly eth rewards okay especially if it pays out on a on a monthly process then running your own mini Pools by yourself okay now why is this important kind of post-emerge well let me let me share a couple of things postmortem I mentioned that rocket pull already has a smoothing pool for its node operators they can opt in to it right uh you're not required to and there's a great uh a great tool again you can scan the QR code a great tool called Rocket scan by another rocket scientist um Peter is that actually shows um the rocketful validators and I did this last night when I was putting these slides together and you can see what proposers or what blocks they proposed and if they have a little uh looks like a smoothie right they're in the smoothing pool okay and uh you can see here this person got pretty close to Lottery block right but they're in the smoothing pool so we all benefited from it but you can see most of them here are these just you know smaller Mev amounts and you can see what MAV relay um you know won that block auction in there right um there's also another great dashboard here by by Gen X another rocketful member um who put together a dune dashboard that was showing since the smoothing pool launch which was a few days I think after the merge happened so about 30 days ago or so um that you know it is trending very close to our model predictions right uh we have um you know a median of about 0.6 e so if you were a solitary is that would that is what you would expect um in terms of of your rewards and then uh if you're in the smoothing pool you can see the performance enhancement from it right in the smoothing pool you get the average if you run by yourself you get the media it's basically kind of how it works and they're at they're adding about 1.
5 percent if you're in the smoothing pool in terms of your APR uh to have a validator in in the smoothing pool because of that they're tracking it very much like our model predictions that we can see most of the Mev are these very small amounts that occur but you may not see it here but I'll just kind of Point there's one around four or one around five and the biggest Med block we've got so far in the last 30 days is about 8.4 e that was right after the right after the merge there was a very uh a fortunate uh block proposal that came in and got vetted but it models very close to our um our predictions so that's good to see now we only have 30 days of data it needs to go uh there's a great command here in the rocketpool Discord the end of the spot it actually shows the number of Rocket pull nodes that have opted in it seems to be very popular with about 70 percent of the node operators in the network joining it we've been told or at least seen chance that one of the reasons some of the the larger nodes are not joining it is they do not require yet uh that Med boost be running on these things but that is the plan to make it that if you're in this smoothing pool it's a it's a it's a med boost smoothing pool but already it's performing quite well and this is uh it pays out every 30 days this is only in the last 14 days we're about halfway through the reward cycle it's already generated 70 among these participating 4 000 mini polls that are in there right now obviously this is this is a model that kind of showed how it works it's an example from the rocket pool uh protocol about how a smoothing pool can work but I actually think it it's it's a value to other staking Services right I can certainly see a need for solo validators to perhaps aggregate in a smoothing pool of their own I could see other protocols begin to create their own smoothing pools one of the interesting things is I know that the ethereum foundation and the research side is looking as one of the possible solutions to proposer Builder separations is the establishment of a protocol including smoothing pool that redirects those rewards and so this could be an excellent model for them to look at in terms of getting data and that was one of the reasons I wanted to present it here at Devcon because I think it does does offer some example on stuff last but not least so I have time for questions I would like to thank the note operators associations with their financial support that I was able to attend here and present this paper and shout out to all those in the rocket full trading Discord that gave me a lot of support to actually submit and present this and write the paper so with that I'll conclude my my prepared talk and opening it to questions [Applause] uh hi there thank you great talk um simple question what's the right number of validators to have in a smoothing pool uh at what point at what point does the probability of rewards begin to approximate your 3 000 validators would you get the same effect at 30 300 yeah I think I I think the numbers you on the slide maybe I can pull it back up here well maybe not uh but if you look at the slide that shows it you know even at 100 a mini pool of about 100 100 mini polls right um as I go back for it you you start to get it right even even at 3000 and so forth um the numbers maybe this is a better slide over here I mean look you're at 78 80 right which is pretty close to it it does not take that much to start getting those rewards obviously the more you have in the pool the less variance you get and it becomes a very predictable stream of income foreign I'll wait for the mic to get back there well it does I'll add over here that you know certainly if you join where you're a small part and um you know you can see the numbers they start moving moving more and you know again it's Monte Carlo simulations so if you see little variances as to why this is lighter shade and not it's just you run it again on another thousand you get a you know a slightly different picture but it all it all looks this in my report there's a really nice one where I let it run you know over the weekend and you know generated a number of Monte Carlo tries um so just um is there anything special about rocket pool that makes it only work for them um a smoothing pool or could potentially other Home stakers join the rocket pool smoothing pool or could they have their own you need oracles for it to check participation of of the validators yeah yeah no the the math and the um uh the mechanism Works regardless of the protocol right so just if you get enough validators together working collectively to share the rewards the math all follows right now I understand it's actually come up a couple of times I understand from the rocketpool community if they would open the rocket Bowl smoothing pool right now they have it only to Rocket pull validators that are with their protocol but I know it's been talked about you'll have to ask some of the dev team in the front row about what their current thoughts are but it doesn't surprise me if if others start creating similar approaches you mentioned that joining is voluntary and I was wondering of like the people that know about it how many people actually join would you say yeah I I think my slide said that there was uh about 70 of the uh existing node operators so a little bit of terminology here a node operator is an individual who has a a single piece of Hardware maybe I guess it would be a single piece of hardware and about them 70 of them have joined right so um out of the 1600 node operators and Rocket pull uh just just a little bit more than 1100 have joined um we do think that from some of the the other node operators I think they are waiting for Med extraction to be required like right now I believe it's about 90 of those in the smoothing pool have memboost on but 10 don't and so you can kind of think of it if you know some somewhat as a strain on it right because they're not actually going after any MAV but they are getting a share of the rewards uh the plan in rocket pool is to make it mandatory and as part of joining the pool uh but because of the merge and the new technology on Mev and the relays uh right now it's just truly an opt-in but most of the node operators are obviously profit seeking and they are turning on the the meth boost an excellent question by the way all right well I don't see any more questions so I thank you very much for allowing me to present the present here at Devcon [Applause]
Automatic transcript — names and jargon may be misspelled.