Danny Ryan - Checks and Balances - Maintaining rationality across the stack

EthStaker at Devconnect Istanbul 2023 · November 2023 · 29:57

Explores checks and Balances - Maintaining rationality across the stack.

Speakers

Topics

From EthStaker at Devconnect Istanbul 2023, hosted by Eth Staker.

Transcript

🔍 Maintaining diversity and rationality across the Ethereum ecosystem is crucial for avoiding dominance and promoting balance.

All right. Our next speaker probably needs no introduction, but please welcome Danny Ryan, one of the EF researchers and I think one of the leaders of the merge that that led led us all through the merge here. So, welcome. Hello. Oh. Um, yeah, my name is Danny Ryan. Thanks for having me. Um, this is an exploration in me trying to think a bit deeper about some of the concerns I've I've had around, you know, how proof of stake is evolving, different players in the ecosystem, and and also how that relates to broader concerns. This is called checks and

balances, maintaining rationality across the stack. Um, this is the first meme I've I've maybe ever made. Uh, so shout out to light client for supporting me through this. so, you know, there's certainly like a a running kind of thing around staking, and also around like a lot of things in blockchain, that consolidation is optimal, it's natural, stop fighting it, let's build monopolies together. I I tend to be on the left side, where I'm just like, nah, dude, diversity is good. Uh, but I don't and I have like some reasons and rationality, but like, I really want to move into the right side, where I'm like, I I I have a bit more uh, nuanced and uh, you know, whatever that guy is called take on

Um, so, there's a lot of questions that kind of fit into this diversity metric, and I I've been trying to think, is is there a common thread? You know, why do we want only why why do we want to avoid like one LSD dominating? I put a little T there, cuz I'm not supposed to say LSD anymore. Uh, but I'll just, you know, LSD is cool. Um, but why avoid all ETH being staked, uh, rather than like some only a subset of the the total supply being staked? Why do we want multiple clients? Why do we optimize and and have a proliferation of many L2s instead of just like one execution stack. Um why do we have many stable coins? Why do we want a multitude of oracles? And well, we don't necessarily have many stable coins, but we should. Uh why even like getting into

the real world like a lot of regional jurisdictional diversity across who's running nodes, who's who has capital, who's building applications, all that kind of stuff. And so, the question is, you know, is there a common thread? And the common thread is diversity's good. Um but we'll get into a bit more formal look at that. Uh I'm still tickled by chat GPT, the fact that it or Dolly or whatever just makes this stuff. This means nothing, uh but it's just kind of cool. Uh so, set theory an abuse of the term. Um so, I was talking about some of the like how how we we want to disentangle sets. Uh we want to have uh you know, many different entities

staking. We want to have a difference between stake capital and the rest of the capital. We want to have, you know, there to be far more users than there are ETH holders so that we have this kind of disentangled sets across the stack. Uh and I I was talking about this I think on Bankless for the first time. I talked to Mike a bit about it and I had like a draft blog post and I always take a really long time to publish these things and then like I wake up one day and Mike had published a blog post um digging deep into the like five sentences I had talked to him about. Uh so, if you want to see a much more uh he's actually probably I think I'm on the left and then he's he's on the right. Uh so, you know, check it out. Um great blog post um

exploration of some of these ideas we're going to dig into. Um shout out to Mike. Um so, I'm going to use this notation. These like greater than greater than sign generally just means like far larger. Um when I say A and B, I mean the size of A and the size of B, not necessarily A. And then this little squiggle sign is they're approximately the same size rather than having this disproportionate relationship. So, when we're thinking about sets and sets across the stacks, this is I'm going to claim is good. This is healthy.

🔗 Balancing rationality across the Ethereum stack is crucial for stability and adoption, requiring a careful consideration of the relationship between users, holders, and stakers.

If A is far larger than B, then A gets to be a rational observer of B. A is not like totally entangled with B. And if B totally blows up, A's probably fine. As opposed to if B now becomes much larger, is approximately the same size as A. Now, if there's an issue in B, A is no longer really a rational observer. They're not really they're totally entangled in B. And if B blows up, like A's screwed. And we can dig a bit deeper into that. So, concretely, let's think about some sets.

If we're looking at users all the way down to staking, user the set of users is larger than set of holders or equal. Today, it's probably similarly sized, but in a world in which Ethereum is still adopted across across the globe, the people that are actually like holding this as an investment asset would be much smaller or could be much smaller than than the users. Holders are greater than or equal to the size of stakers. Not all capital has to be staked. And then stakers is greater than or equal to the participation in any one staking entity or protocol.

Each I'm going to claim is optimally if you have this greater than greater than sign rather than approximately the same size. You can also look at this in relation to capital. It's kind of a similar mapping, um ETH is larger than staked capital. Staked capital is larger or equal to the amount of capital that's in a single protocol. So, before we dig into these sets and uh the relationship between these sets and what can go wrong uh as different things happen, I just want to look at proof of stake. Um often we design like we think primarily around like the first order incentives uh when we're designing proof of stake and the

incentives around it. So, do X, you make some money. Don't do X, you lose some money. For example, you sign that attestation on the canonical chain, probably makes money. If you don't do that or sign something incorrect with respect to the canonical chain, you lose some money. Um and then there's this like larger incentive, do Y, lose it all. Um Y would be like attack the chain, double finality. Um and and Y generally, if you're going to lose it all uh in proof of stake design, requires a large threshold. Um and we attempt X is like very kind of default enforced automatically. Y is attempted to be forced automatically through like the inclusion of on-chain messages. Um but ultimately, even if there were

censorship of those messages, you could enforce this socially as a fail-safe. There's also second order incentives that like are very valuable. Like the um and and often this this comes into like if I break the game, I can't play the game anymore. Uh so, why would I break it? Um and that's it's valuable. It keeps people in line. Like people are thinking not just about like the money they're going to make on this block, they're thinking about like the logistics of uh the company they have that's built around this thing, they're thinking about like the real world impact of like making some of these decisions. And like that's that's important. It's valuable to like keep a tighter bound on the on the the first order equilibrium. But, it ultimately kind of gets to like trust

me, you know? So, if you're relying entirely on second order incentives, um it's not your your best outcome uh for your for your blockchain. You really want to have these first-order incentives to be primary and these second-order incentives to really be shoring it up. So, let's take a look at how uh, we're going to look specifically at like ETH uh, staked capital all ETH staked capital and then like staking entities in relation to that um, and how these sets can exist um, in likely degenerate ways. So, if all of staked capital is approximately the capital allocated to a single pool or entity um, but it's much smaller than all of ETH uh, you would get something that looks like this.

🔍 Staked capital size is crucial for rationality and preventing systemic failure, as unchecked power can lead to lack of trust and the need for a rational observer to keep entities in line.

And that's those are emojis render differently in other places. Um, okay, so failure in staking uh, as long as this like yellow circle is much smaller than the white circle is not going to be terribly systemic to Ethereum. Like if [ __ ] blows up, we can probably pick up the pieces. And ETH holders and potentially users are much larger set than what's going on in staking um, and so they get to be a rational observer. They get to be that kind of like social fail-safe um, and help uh, in the event that staking is like totally degenerated. Um, and again, this is like a bad this is a bad situation. Like let's say we have a single entity that's dominating staking.

Um, one of the things that we really lose here is those first-order incentives kind of go out the window. Like a single entity, they can censor um, they can they can do all sorts of things that kind of like bypass the default mechanisms that like keep them in line. And so we get into like the okay, but trust me. And so it's it's bad. It's very bad. Um, it's not the outcome we want, but at least we have um, you know, it's they're probably not going to if they do something terrible, we'll be able to pick up the pieces um, and we get this kind of like rational observer uh, which is like the rest of all ETH and users are keeping their eye on this thing.

This other degenerate uh, uh set relationship is if all the staked capital Let's see. Yeah, so if all staked capital is much larger than the capital in a single entity, so we have many entities filling this yellow box. Um but the yellow box has grown to be the yellow circle has grown to be the size of of all ETH. Um and so in this relationship, uh you know, where like a 90% of all ETH is staked, this is this is bad in a different way. Um failure in staking can become systemic, like if staking blows up, like the ecosystem's [ __ ] Like it's really hard to pick up the pieces when like almost all of the asset is entangled in this one thing, you know, this starts kind of looking like like the DAO or something like that. Um and

social recovery becomes less of like an obvious thing where this the the holders the holders are supposed to like the be kind of a rational observer of the staking and potentially be like the the social recovery of of last resort, but all of a sudden like they're not necessarily they're they're very entangled in the staking like by default because all ETH is staked. You could imagine maybe there's another circle where it's all users and like the the users are ultimately the the social recovery and they they could be a much larger set than this and not really give a [ __ ] about the holders um and and be the kind of like the social recovery of last resort, uh but it's not really the world we live in right now.

Um at least we get first-order incentives still because like we have a healthy eco staking ecosystem um where like the the core incentives that are that are built in there work. Um and we get the second-order incentives, like people generally you know, thinking about uh second-order things going on here. And then we get this like really bad when you combine the two, the bad of the two. So, all staked capital um is approximately allocated to one entity and all ETH is approximately staked. This uh failure in staking is systemic. Uh, social recovery just like stops making much sense. Um, first order incentives are out the window and really we're just kind of in trust me. Um, and trust me and we're all like hang out

and it's it'll be fine. Um, this is not the world we want to live in. Uh, I think that this is a very dangerous world. Um, I think any of these potential mappings is is certainly very degenerate. Um, but this is definitely the worst. So, I did want to take a look at the DAO. Uh, so the DAO was really exciting. It was actually when I first started paying attention to Ethereum, someone sent me like a New York Times article and was like, "Dude, check this out." I was like, "Whoa." Um, I knew about Bitcoin but didn't really know what you could do with uh, programmable platforms like this and I was very excited. There was like a fervor, there was an energy. I wasn't really part of the community but just like started looking at this and

🔍 Maintaining rationality across the Ethereum stack involves preventing systemic issues and entanglement of social sets, particularly in relation to the Dow, by ensuring state capital is smaller than all of eth and managed by multiple entities.

was like, "Holy shit." And it was like very like, "What if?" Like this this is going to change the world which, you know, we're we're getting there. But like, the DAO was like, "This is going to change the world, definitely." But at the same time I was also like, "This is a really bad idea." Um, and the first mainnet transaction I ever sent was sitting on my a couch with my friend and said, "This is not going to end well." Um, and and it didn't. Um, but it got me hooked. I mean, that was like my first little uh, hit of Ethereum. Um, so in this uh, 14% of all ETH was was put into the DAO.

Uh, and you could potentially argue like the amount of ETH capital is much larger than the amount of ETH in the DAO and so probably okay, you know, maybe we're not quite at the systemic nature but the amount of DAO ETH in relation to like all other applications was comical. Like there wasn't really anything else going on. I I don't think I'm pretty sure ENS I'm pretty sure had not launched. Like we were hanging out playing with Mist browser. I don't know, there was maybe an NFT, I'm not sure. Um Oh, there was the unicorn thing. You could get unicorn tokens and then you could put them in this other contract and then grind in the unicorn grinder and they get unicorn meat tokens. That was like the extent of what was going on

in Ethereum other than this thing. Um So, it was it it did it was systemic and and and and and there were deep concerns. Like at that point, proof of stake was like just around the corner. It was going to launch in like a year. And there were deep concerns about the relationship to proof of stake. Like if this attacker got 14% of all funds, um you know, so so from that perspective, it certainly like was in the systemic realm. Another thing is that we could look at the the capital allocation, but we could also look at the users. Like DAO users, there was there was an entire almost overlap of DAO users and Ethereum users. Like pretty much if you used Ethereum, you put something in the DAO. There's

probably some people that were a bit wiser than I and did not. But like most people were entangled. And like probably the miners like were all excited and put money into the DAO. Like everyone was entangled in the DAO. And we know what happened. They did the they like everyone decided, okay, well, we can't have this happen cuz it's systemic with respect to the the the total ETH that's going to break the system. And like we're all we can't like view it as a rational observer because like my money's on the line. And so, what happened? There was a hard fork. They did the DAO recovery. It was probably the right thing to do, but it was a [ __ ] disaster. And like if either of these things had been different, um it probably would have gone a different way and been a bit less

of a disaster. Um so, it was systemic amounts of capital and we had entanglement in the social sets and definitely a loss of rational observation. So, let's not let staking become the next DAO. Um It could. We could have a huge [ __ ] disaster. And honestly, at this point, like I don't think the doubt the doubt like has scars, like deep scars that that lasted for a long time. Um I think that it'd be hard to get out of It'd be hard to get out of a disaster like that again these days.

Um but how? Woah. So, this is kind of what we want, right? We want stake capital to be smaller than all of ETH so that we get a disentanglement of that set. We don't get like every single entity and every single piece of capital like totally entangled in the staking thing. Um and we want stake capital to be uh managed and operated by tons of different entities instead of just a singular one. And we don't get this for free. how do we do this circle first? There's probably some in-protocol stuff that we can do. Um so, there's an adjust potential adjustments to the rewards curve, likely making it able to go negative. So, if you wanted to target, say, 10%, 20%, 30%. I think

like 20% of stake is staked today. Um you ultimately have to disincentivize capital. You have to like over certain thresholds start saying, "Get out of there." Um there's a lot of different research going on this. Uh I don't have like a very concrete instantiation to give you here, but likely the curve needs to be adjusted. But something else, and this emoji is that's a fire. I don't know. Uh likely the protocol needs to become aware of MEV. Um this is because MEV is very spiky, as you know. Um it's already a centralizing factor. Like if you have just a handful of validators, you're a home validator, um you're going to get far below the average, likely, um of

🔍 Protocol adjustments are necessary to maintain balance and prevent centralization, with potential for R&D and protocol changes to address challenges in proof of stake systems.

total rewards with respect to MEV because of the spiky nature. You're not going to get that like random one really big thing. Whereas, if you have pulled capital, uh you you can end up getting closer to that that average. And so, that that's bad today. It's a centralizing factor today. It's a reason that you might not stake with a small pool or stake at home. Um but you can at least like get some amount as long as we don't have this like negative issuance curve. Um to you're going to get some amount and you can be altruistic and like not quite get as much money as if you pulled pulled the pulled uh your capital. Whereas if we can have a negative issuance curve, like there's no way you get the altruistic player who's going to show up and be like, "Yeah, I'll take -3% a

year." And so we really need MEV awareness such that the protocol can burn or distribute or do whatever the hell it wants with the MEV in a way that is kind of smoothed across validators. So that's that's like stake rate targeting. Essentially like protocol changes to bound this inner circle with respect to that outer circle. How am I doing on time? Uh you're good. All right, cool. Sweet. Now I'm blowing through this thing then.

so then we have this other circle. Uh we want we want it to look like this. It could obviously look much different. You could have the pink circle kind of dominating it or taking up most of it. Um and it's a bit less clear what to do here. Uh and that's because the protocol doesn't really know about pools. The protocol doesn't know that my capital is different than your capital or know that like actually our capital's pooled in one entity running it. Um and so it's much more difficult. I think one thing that could be valuable here is simpler and faster reallocations. Uh so in the event that you are pooling with somebody and having somebody else operate your your

capital, um being able to say, "You know what? Entity X, um I I need to shift it because I don't like what you're doing. I don't like the threshold you've gotten to or whatever." Um right now it's a very arduous process, right? Like it's it's you you have to exit, go through the queue, and like even when the queues are pretty empty as they are today, this is still like on the order probably many days or weeks to like get the capital out, put the capital back in, and reallocate. And that's, you know, takes time. Uh time is money. So, potentially simpler and faster reallocations uh could be a good thing.

This is something that is native in proof of work. Uh sorry, yes. There's a couple things that are nice in proof of work. Uh but if you're if you're pooling your capital, your capital is mining uh mining rigs with some pool, uh it's it's usually pretty easy and quick to just point to somebody else. Um so, I think that's something something to consider. It's not You don't get it for free. Uh it's it's there's going to be some trade-offs there because the reason that these exit queues and things exist is uh inherent to kind of like the nothing at stake problem with proof of stake. Uh but I think there's definitely some good R&D to do here.

Then I have some question marks because there might be something to figure out here. This is a hard problem. Um and there might be some protocol changes that really help us here, but they kind of the intuition is it's hard. It's hard. Uh and it's hard because we don't you can't like distinguish these entities. Uh but there's a lot of other things you can do. Um you know, we got better competition. We got more product differentiation. There going to be more operators, more regional and jurisdictional diversity. Um risk-aware capital allocators. It's actually interesting. I I I got word that like there's there someone was talking to like Wall Street people. And I don't I never talked to Wall Street people, but I always talk to

🔍 Wall Street is recognizing the importance of risk-aware capital allocators and self-limiting in staking protocols, while diversifying stable coins and maintaining diversity in building smaller, isolated applications on top of the stack is crucial for reducing systemic risk in the cryptocurrency space.

people that talk to Wall Street people. Um and they're like very very aware of the 1/3 threshold and like it being very important. And I was I was like oh, cool. That's It's nice that somebody's that they're actually maybe kind of are beginning to understand these protocols and risks. Um so, you know, risk-aware capital allocators and self-limiting um I think are are very important things. Uh, and and I think we're doing a decent job on some of these. I think like the the amount of competition and product differentiation coming out and and different staking protocols and products is like really exciting.

But, we'll see. Uh, on the self-limiting thing, like this isn't a new idea. This is something that you can go back to 2014, ghash.io. They exceeded 50% in Bitcoin mining. And it was like the sky was falling. Like like it was a disaster. Like the Bitcoin community was like, "We need to make a committee of of miners to be watchdogs." And then ghash was like, "We'll just self-limit." Um, which you know, kind of worked. And in in in proof-of-work mining, we've seen this across Bitcoin and across Ethereum in many in many ways. Like the people are very conscious of these thresholds, and they don't they don't want to exceed them because they cuz they do care about

the second-order incentive. And so, self-limiting is kind of like a meta use. It's like pre-commitment to the second-order incentive so you can maintain the first order is dominant. Um, and I just don't think it's very unreasonable uh, for proof-of-stake to to you know, for players in proof-of-stake and and the ecosystem to kind of demand these things uh, because cryptoeconomic systems are they have their limits. Everything has its limits. And like if you cartelize and pool capital over certain limits, like you break the system. Like every system can be broken, and that's like how you break cryptoeconomic systems is you make a cartel.

So, let's you know, demand not having cartels. cool. Another thing is you know, you can you can take this lens and and look at it across the stack. Um, it's it's worth reducing systemic risk and diversifying across the stack. You know, it's like it's better to have many stable coins than one. It's it's to have stable coins across many jurisdictions than one. It's better to have not just one company maintaining most of the stable coin, which then is like piped into the decentralized stable coin to back it as an asset. Like there are there are so many like we we need a proliferation of diversity here to reduce the systemic nature of stable coins. L2s, like by default, so we used to think about execution

charting. Like you do data availability, layer on native execution. Um honestly, like just for the sake of diversity, like for many, many reasons, uh I'm so excited that we ended up going in this L2 path, where like there's many different ways to try to do things. There's many different ways, uh you know, one can break and not all the other ones. Um and so the the diversity across L2s, oracles, DAOs, languages, client diversity, I think we've done like a huge uh huge huge when there are tools, widgets, just all down the stack. Diversity is like very good. Um and I I I think you could you could do a talk about many of these and about you could make your little bubbles

and you could show the bubbles and you could talk about the risks in relation to making the bubbles too big or too small. Um and when not when when not possible, follow Unix philosophy. Um I think when I first got into Ethereum, I thought we'd see a lot more like small, isolated, like very correct and non-upgradable widgets, um where like if everyone's using that little widget, it's like not actually a systemic threat because you don't have a DAO governing it, you don't have like a huge attack surface. Um and I I I it'd be really nice to see us attempt to adopt some of this Unix philosophy and layer much thinner applications on top of like well-tested and and and things underneath the hood.

Um again, ChatGPT is pretty cool, so I asked him to make that and uh it's got little circles and yeah, anyway. I Thanks for letting me rant. We have uh time for about one or two questions. Hey Danny, thanks for the talk.

Uh you would outline the two problems basically that we don't want the staking to the set of stakers and staked ETH to be much smaller than the stake than the set of all ETH. Uh and also the one that we we don't want one one party to dominate the set of staked ETH. The the second one is really hard to solve. In the first one, it would be possible to target, let's say, some percentage of all ETH, let's say, 20%. There There could be like from the protocol perspective, it's it's visible how much ETH is staked.

🔍 Staking on Ethereum is influenced by reward curves and decentralization, but native pooling functionality may require a design change and governance to handle large pools.

Right. Has it Has it been any work done on that front or basically? Yeah, so I mean, if you go and look at some of Vitalik's uh papers, like I I don't even think they're on like a GitHub, some some really interesting PDFs uh from like 2016, 2017. Uh some of it isn't around like uh target target stake rates. And the the assumption based off of like the way the rewards curves uh work that were launched at phase zero and still exist today um were that something on the order of like 10 to 20% 10 to 30% would be staked. Um we were woefully ignorant of MEV, right? And and MEV has the ability to like, depending on the regime, uh and

and and and the amount of kind of what's flowing in in on top of Ethereum, the the base issuance is almost doesn't even matter or could not even matter. And so, you you you can get far far the 90 90% I will say that um Davita, the guy sitting right in front of you, um and a number of people on the rig team are spending a lot of time thinking about um what obviously you can observe, like as you say, but you once you observe, what do you do with that observation? What are the optimal How do you like uh change the reward curves and things to to do in an optimal way? So, I I think we will see probably over the next 6 months a lot more in terms of blog posts and fundamental research um to help us make some decisions over the next couple of

years. Yeah, thanks a lot. And to the second one, basically helping the That's the hard question. Helping to have the stakers as as decentralized as possible. Uh do you think it would make sense uh making the protocol itself be more aware of the staking apps, so so they are more easily built on top of Ethereum, or it probably doesn't matter. Oh, so like native uh native pooling and and things like that. I I think certainly certainly an open conversation. Uh it's a a much bigger design change, uh and I think would not be done lightly. I mean, I think changes any changes at this point are not done lightly. Um

but even then if you make a pool that's too big using native pooling functionality, you just make two pools. Um and the protocol doesn't know. And so, maybe there's some fundamental thing that I don't understand, and and we can figure it out, but I think it's pretty I think it's probably fundamental that the protocol can't know without some sort of uh governance, social, whatever, which I I think we would also want to avoid. So, it's a hard problem. All right, one more question over here. You um you talked about uh MEV awareness. Uh will that require uh in protocol PBS? And And if so, is that going to be worth all the

👍 PBS is important for maintaining rationality across the stack, despite the complexity and cons.

complexity and all the cons that comes with that? Um I think there's some PBS people in the back. Uh I I I believe that there are So, it's like you make you you're MEV aware and then what do you do with it? You either smooth it or you burn it. It doesn't really matter, but MEV awareness is probably the the more important side of it. Um I believe that there are constructions I I believe that I don't know. Do you need PBS? I Last I checked, I think you do. Yeah. so, PBS is kind of a monster. Uh right now we have like a pretty fragile but something seemingly working kind of relay thing to externalize PBS. I think

that likely uh we have to go to a kind of a trustless sort of market around building and not have the the relays be the last sort of actor last actor of resort. So, So, yeah, we need it. All right. Well, thank you very much, Danny, for an excellent presentation. Please, another round of applause. Thank you.