Ethereum Governance Overview / Tim Beiko

EthPrague 2023 · June 2023 · 30:42

Tim Beiko of the Ethereum Foundation, who facilitates the All Core Devs calls, walks through how Ethereum governance works: what is governed, from consensus rules and specs to the APIs clients use, and who takes part, starting with the loosely defined, open group of core developers and the champions behind each EIP. The talk explains how recorded calls, livestreams and forums such as Ethereum Research and Ethereum Magicians let newcomers contribute, and closes on open questions about how fast the protocol should keep changing, whether any governance should extend to layer-2 networks, and how to rely less on live English-language calls.

Speakers

Topics

From EthPrague 2023, hosted by ETHPrague.

Transcript

so hey everyone um can you hear me is there a way to confirm that hopefully okay awesome um well yeah I'm Kim Bako um I work with the ethereum foundation and the main thing I do there is facilitate the awkward devs calls and so uh today I want to take the time to walk through basically the entire process of how ethereum governance Works who are different actors in the process and sort of where we're at in terms of the evolution of the governance processes uh today so I think that the right place to start this is to just kind of Define what is being governed when we talk about ethereum governance and and the things that uh we end up kind of discussing and and doing the act of

governance over um the first is the set of ethereum protocol rules so uh the ethereum protocol is like a set of instructions that are defined and there's effectively two types of protocol rules there's the ones which every single node on the network must agree to um so these are what we call consensus rules the defining things like the yellow paper the beacon chain spec the python spec and eips um and basically if if your node does not follow these rules it's effectively separate from the rest of the ethereum protocol and so this is kind of the most important part of protocol rules we need to agree on um we also have another set of rules um that that are more you know you can think of them as nice to have so these are like um

these are like all of the apis that you know nodes exposed to interact with infrastructure um or even that nodes used to communicate between each other so things like networking apis the engine API the uh for the consensus layer to communicate with the execution layer and so on and so all these are also things we govern on um but they don't strictly Define kind of the rules of consensus on the network and then um the other thing I think is important to caveat is that um the ethereum protocol is like the set of rules which can be instantiated in many different contexts and so when we talk about ethereum governance we usually discuss like the governance of the ethereum mainnet or you know what's like the network with chain ID one where there's all of the accounts and balances and

contracts that we care about then obviously all of the applications um that people use um so this is effectively what like gets governed through ethereum's governance process and so most of the stock will cover who governs ethereum um and effectively this is my sort of outline and we'll start from the core and make our way out so if we if we just Define like the ethereum protocol what's being governed and then I'll walk through every one of these like uh stakeholders and kind of explain their role in the process to hopefully give you a better understanding of the whole thing so first if you think of core devs um so there's not a hard and fast definition here but it's effectively you know a mix of all of the people like the client developer researchers and others who

spend all of their time contributing to the ethereum protocol um most of the actual client developers are spread out across 10 different teams um which are nested in different types of organizations and and spread out around uh large parts of the world um and similarly on the research side you know we have people who are from Academia from DC funds a lot people work at companies people at the EF and so on um and the entire kind of process around governing ethereum and cordov discussion is mostly open so we tend to get a lot of people who just like show up in the Discord um and I've posted four examples here on the slide uh folks who like over the years have showed up and made like pretty good contributions um so you know first little bubble here is Danny Ryan who uh came with like no

sort of context of ethereum and you know over the years helped ship the beacon chain uh the merge and now you know coordinates a lot of the work on the the proof of stake and research side um this is also POTUS who was just a random person who showed up in the Discord um to discuss ethereum and then now works with the Prismatic team um prono Lambda uh similarly with someone who just showed up even before we had a Discord helped set it up um and you know worked on some of our research problems and eventually ended up uh doing a lot of really valuable work on the beacon chain on obviously Proto leg charting and now on l2s um and this last example I really like so we had this person called sea monkey who showed up during the merge um and every possible client combination on

their home computer to see if there were any issues or bugs and kind of report those um and you know no one had ever met them before so it's really kind of this ecosystem of people who come together and you know just end up solving protocol problems but there's not a ton of like barriers to get people in and I'll give a quick shelf now if this is something you'd be interested in doing we've started a fellowship program which is basically a four-month uh you can think of it as like an internship or grant for people to come in and work on open protocol problems um we have an application open right now so if you scan this QR code or you just go to blog.etherium.org you can see the application um you can apply and get paid to do this stuff for the next four months

but yeah so high level you know core Dev is this very rough group there's not a clear definition the way I think about it is you know people who are focused on ethereum protocol um Beyond just a single EIP so they're not coming here just to push a single change but they really care about it over like a long period of time and this generally means they take responsibility for like the security of the system as a whole um and those are the people who you know come to consensus on like what changes should we make the specs the implementations and you know should we propose these in the network upgrade to ethereum and I think you know this is a very loose definition but like there's a ton of value in actually keeping this like Loosely defined um after you said it better than I ever

could in a GitHub comment on another project who wanted to like um have a more closed and formal definition of cordovs um but I think he hits on like all the points why this is actually quite valuable to have the uh a vague group even though it's like harder to paint a picture of exactly who is a chord out um and some things we do to keep it open so one all of the calls and that's recorded or live streams so people can follow them even though you know they they're not necessarily like in touch with everyone on the calls um and we also have like these forums like each research and magicians where I don't have the ideas and proposals get discussed in public and anyone can come in and opine on them so the next kind of uh stakeholders that in in the governance process is EIP

Champion so similarly to core development anyone can sort of write an EIP there's a template that each study ethereum.org uh if you if you don't know EIP stands for ethereum improvement proposal um and the idea there is like this is the formal process to make a specification for a change you'd like to do um in practice you know the the larger the change you you want to propose um the more you're going to have to work closely with like the different clients and research teams to understand you know the full impact that it has on ethereum and if you if you do like take this on I think you know the role as like an EIP Champion is like can you demonstrate that this is a valuable change and then it's not going to break ethereum and then show that there's like momentum and and you know there's a

desire in the community to see this change and the way this usually goes is people come up with a new idea for ethereum um and then you know this would be super valuable but it has a security risk often a Dos risk I just did a quick search on each magicians and you can see if I search for dos I'm pretty much every every major EIP that's like we've been talking about recently has a form Thread about those so you know you have the account of structured one uh 4844 you have the withdrawal EIP so this is where a lot of the actual work ends up happening figuring out a design for your EIP that's actually safe for mainnet and then um if you do everything right you know then your EIP would uh you know might be included in an upgrade eventually and here's an example on that you know I

think Recaps like the whole process quite well from EIP 1153 which uh folks are on the uni swap team championed um you know they did all the implementations uh they added a bunch of tests uh they kind of gathered support uh by by different projects that this was valuable and then they spent you know a ton of time just going back and forth with the different client teams and trying to see you know are there any objections here is this does this make sense to prioritize are there anything you can do or sorry is there anything they can do to like help with the process um so one question that usually comes up you know at this point is like so if you know the core devs and EIP Champions write all the specs write all the code doesn't this mean they effectively control the theorems governments and my

answer is no so the rest of the talk will focus on everyone else Beyond those two groups and the impact that they can have on the ethereum governance process so first you know if you start expanding outward the the next logical step is consensus participants so these are either you know minors on a proof of work Network or validators I'm ethereum proof of state today and so if you have a set of change that you know core devs and EAP Champions agree we're going to propose this network upgrade it's you need at least one of the consensus participants to agree to run this software for the network to upgrade right otherwise the upgrade just never happens on chain um so this is really like the the bare minimum requirement where consensus

participants are required to at least buy into the upgrade otherwise you can't have this new feature happen and obviously if only part of the consensus participants upgraded not all of them then we reflect them together change split on mainnet um and the way this would work on the theorem so under the proof of stake algorithm is if the consensus participants on both sides of the fork disagree with each other and they'll simply start uh leaking you're burning the ease of the validators on the other side until they represent less than a third of the stake so that each chain can like respectively finalize on their own end and one thing that's we're kind of highlighting in ethereum is that you know core devs as like a whole just don't run a significant percentage of

consensus nodes um so here are like just like some quick back of the envelope numbers um about a year or so ago two years now ago we announced this client's incentive program which uh the EF basically granted uh a bunch of validators that all of the client teams um so this was about a total of like uh 1400 validators um but imagine you know client teams are secretly colluding and they have like 10x More validators Than This hidden somewhere that no one knows about so this would put them at about 14 000 validators today there's about six hundred thousand validators on the network so you know anywhere within this 1400 to 40 000 bound gives you like about 0.2 to two and a half percent of the network that like Court ads could

effectively uh upgrade to if they wanted um so this still means like the vast majority of the ethereum network just wouldn't follow their upgrade and you know they'd be a small minority of the consensus share and then imagine you know a world where even the EF decides to join forces with them and the ef's East balance is public it's about 320 000 eth um first of all this balance is not stake so the EF would have to deposit all of this activate all those validators with sort of delay things but even if you went through this entire process and had this like worst case secret should always scenario for cordevs and you have about four percent of the network with like the EF and courthouse so this shows you like the overwhelming majority of the consensus participants are folks external to this and so this acts as a sort of check

where you know these are the people that need to be convinced that this upgrade is worthwhile to run but even if this happens at consensus participants don't necessarily get a final say on the state of the network so the other thing that's really important about ethereum is known operators and this is why we spend so much time talking about decentralization and like the gas limit and stuff like that and the reason is that on ethereum every single note on the network validates every single transaction and a little sidebar here is that validator is therefore a terrible term because it sort of implies they're the only ones who make sure the chain is valid and this is not true like every single node you know that you can run you don't need 32 East for this you just need to run the software

um we'll run through every transaction it receives it make sure it's valid so if you have a blockchain network where only the validators are the one running nodes they can collude and change their protocol rules without anyone noticing um because nobody's like standardly checking that those things are actually um that those those transactions and those blocks are actually valid and the smaller your validator set is then the easier it is for them to collude obviously and you know collusion is kind of the negative version of this but you could imagine like a less uh malicious version which is just having a coordinated blog right they all run the same software the same environment or whatever and then there's this issue and that affects the stability of the whole network or kind of creates a bug in the entire network and so if we have a blockchain network

where instead the non-staking nodes are abundant um when you propose a block as a validator you know that if it's invalid let's say you mint yourself like a thousand these um it'll be rejected by both the other staking nodes who are like different to you and the non-staking nodes which validates the network uh or validate the blocks every time they see it and again sorry for the terminal for the terrible terminology here um so sort of that you can think of like the benefits you provide when you run a node is you're sharing your view of what the correct chain and correct protocol rules should be to all your peers on the network and helping like counter um any malicious block that would pass in and having enough of these acts as like a deterrence to any validator to propose an invalid block because they

know that they'll just get rejected from the chain and they'll forgo the rewards they could have had if they would have proposed the valid block and again here I'll share a quick grants notes that uh the EF announced yesterday um where they want to try and get folks who historically haven't run nodes or in different contexts want to set up nodes to do so so um if you're having to run a note or you have a community somewhere that like would like to get into this um again scan this QR code or go to esp.etheism.org and um yeah you can apply for a grant to run a node so if we have okay so we have the you know quarter of VIP Champions uh consensus participants node operators uh what's like the next step to the

government in governance then that would be the users of ethereum and the way this this question often comes up is you know can a single project decide which ethereum or quiz if there is like a network and here it's just worth explaining real quick what happens if there is a fork on the network for all of the smart contracts and users on the network um it's on a high level at the point of the fork so when there's like a disagreement about the state of the chain um the entire network state would be duplicated so every balance every contract every token every nft would end up on both sides of the chain and there's things for which this is like mostly fine so for example like the eth asset itself can be on different chains and have you know a different price so this is what you see with peace

versus ethereum classic when the fork happens you know both assets sort of went on their their own way and you know they just trade differently you can imagine some Unchained nfts being the same or like they don't have a dependency on anything else so you know the community can choose which one is is right or wrong or you know maybe there's like a market between the two where one is just more valuable than the other um but there's some projects which like really have to make a decision because um they sort of depend on something outside the chain that can't be duplicated um so any sort of real world asset including stable coins you know if there's just one dollar in a bank account it obviously can't map to like two dollar Redemption tokens on chain if you have an oracle similarity if it's reporting like the value of Ethan a

centralized exchange it needs to decide which ticker from which centralized exchange maps to which chain um and similarly things like Bridges obviously if you're depositing funds uh from you know chain a to chain B um you want to make sure that like there's only one place the funds can be coming to and being sent back to you so this means that if there is a fork like this obviously as a whole all of the users of ethereum and projects built on it have a huge say in governance because they can coordinate on which Fork they should use and you know the better their coordination is the less issues they'll be with the actual transition um but this also implies that like it's extremely hard for a single project to do this so if you have you know 99 of the projects going on Fork a even if

like a major project decides to go on 4B um it doesn't guarantee that like all these other projects have to follow it it just means that you know it'll create some friction uh during this transition but um yeah there's really like an element here of like this loose coordination within the ecosystem is extremely powerful but also very hard to like align on because this is not a single formal process to do so and I think if you go even a Step Beyond this um you know to what we often call the community or uh bankless people will call layer zero um you have a an even more like uh I guess um high level version of this idea which is that like at the end of the day

ethereum and you know a bunch of other systems are just like the shared concept we agree to um and you know like that we sort of come to consensus on as humans uh as having a different set of properties and when we have you know changes we want to do in like a happy case uh we can easily Define processes for this so we have you know the EIP process the like specify things the network upgrade process to actually activate changes and so on um but if there are extreme cases you know things like contentious Forks or social slashings or whatnot um then it becomes much more of a social question of like what does the community want and what's second order impacts are they willing to tolerate around this so obviously you know anytime there's like

a fork um and you the dial on ethereum sorry the best example if it affects like the credible neutrality of the platform like can you actually build something on this and have it not change um if there's Forks all the time or if you know people can't have like good uh guarantees about uh the stuff that they've deployed on chain sort of remaining there then it sort of hurts away at the platform stability of ethereum and there's no like official Constitution or like you know written social contract on this but this is effectively like what the community ends up agreeing to and it can massively move like what ethereum is if there's enough like uh of a desire to change what we we coordinate on and the reason why this is disable is

like these systems are permissionless and open right if the ethereum foundation or any you know client team owned everything and like no one could sort of take it and run with it and it would be much harder for a community to do this and one example of you know I kind of like outside of ethereum about this is like Bitcoin as like official websites uh so Bitcoin had like this Bitcoin cash Fork you know many years ago and today you know there's two sort of I would call you know like first tier one domains bitcoin.com and bitcoin.org and they point to completely different projects and regardless of what you think about you know Bitcoin cash versus Bitcoin the fact that like this is even possible shows you like the the sort of power of these permission of systems where like a fraction of the community

is able to come and like sort of disagree with the rest and set up their own kind of alternative Fork um and come to consensus that you know this is what they want to call Bitcoin or this is what they don't want to call Bitcoin um so hopefully this gives like a good overview of the different like stakeholders in the system and I think that maybe the takeaway here is that like we have these groups that are like closer to the protocol that have more formalized processes and oftentimes these appear to like have a greater influence on the network just because we're able to like formalize their actions a bit more but I I would argue that like the more you grow out of the net out outside of this like Circle the

more power there actually is Within These groups but the coordination costs just grow more and more so it's like a harder power to wield in a way um but there's a ton of value in having this and the rest of the talk will sort of walk through you know what would happen if we didn't or you know how in practice it it has been used on ethereum um and yeah I guess I front front ran my slides there um but so yeah so like you know why don't we actually feel these stakeholders more and I think part of the reason is like try to listen to other parts of the community and have like a strong incentive to not push an upgrade that's contentious or could break the network because if they do so and like the network splits and you know things are chaos for like the next six months

they're the one who actually have to like fix this and and deal with it over uh like by writing the actual software and I think it's sort of going over a couple examples of like contentious eips that's been proposed and how they've like ended or not ended up in upgrades so I mentioned this earlier uh the Dao is probably the first big contentious uh thing in ethereum history definitely the most contentious um so there was this huge hack about 15 of the each Supply was affected um and there what was interesting is like quartets actually took a pretty neutral stance where they put out software that lets users flag whether or not they wanted to like run a network upgrade that would um that would help repair the damages caused by the hack

um and they let the users sort of decide whether or not they wanted to activate the software the vast majority of users decided that they wanted to and this is what we still call ethereum today um but a substance of the community did not want and this is where ethereum classic comes from then after that there was this large hack um or bug I guess um in a multi-sig wallet that was developed by parity which effectively bricked all of the funds that were in held in any parity multi-sequality deployed at that time um and there was an EIP proposed to address this EIP 999 and one thing that's interesting here is like this was you know a pretty huge hack it affected the second most used client team so uh parity and the leader of the parody team Gavin was one of the theorem's

co-founders so it's hard to think of like a bug that would affect the party that's like more Central to ethereum's development or like history in a way and um despite all of this the client teams never proposed uh eip-99 didn't upgrade because of the strong community pushbacks so this is an example where like obviously the interests of you know some of the core team uh were like strongly aligned with having this change through but like the community pushing back uh meant that quartets didn't even try to like run it through the upgrade process and potentially get a fork because it like the odds of the fork actually working and you know people koalas koalas sitting around this video theorem were quite low and one I'd say less extreme example a bit after that was a Prague pal so

eip-10157 the idea here was to change how proof of work worked on ethereum uh to keep it more Asic resistant which was stated as a goal in ethereum's yellow paper um I said there was like some mild to like moderately High support with the within the cordov community for this um but it never got proposed in the network upgrade again due to community pushback around not wanting to like change the change like the the way the the market structure was was developing on proof of work was this huge transition to the network so we moved from proof of work to proof of stake um and this is something that had been you know part of ethereum like quote-unquote road map since day one where you know it was always sort of a

goal of trying to get ethereum off proof of work and I think because of this you know there was tons of Community Support obviously miners were the only ones who were opposed to this because um and then the proof of work business um but I think this is a case where um cordoves felt you know strongly enough to propose this upgrade thinking that um you know you'd have the vast majority of the community adopt it and this is effectively what happened there was still like a tiny minority that decided not to upgrade called ethereum W I think it's ethereum Works um it still exists you know it's like chugging you along but I think today you know the over 99 of like value and whatnot is all on ethereum uh which is transition to

proven stage so I think it's sort of like just pausing and highlighting like what are the pros and cons of like the system of governance that we have um one pro and I've tried to emphasize this a couple times just like because it's permissionless anyone can show up and participate um so there's no sort of like no sort of formal gate you have to cross or like you know uh like check box you have to fill in to participate in ethereum governance and I'd say you know the failure mode of something like this is like best encapsulated in this essay purity of the structuredness um if you've never read it the strongly recommended which talks about all the ways structures like this you go wrong um and then one thing that's also very good about this process is I would consider it quite capture resistant

where if there is an attack on the governance process because it's not extremely formalized like oh you have to do thing anything C and then your change can happen um then we can change the process in response to attacks and this means though that if you come in as an outsider and you don't have a ton of context it's really hard to like understand the governance process really well because again there's not like this checklist that tells you exactly the things you need to do um and then the last Pro I'll say is this process where we have all these different stakeholders which each can you know affect the outcome of governance gives us a lot of checks and balances by different parts of the community um which helps you know changes when they are adopted be adopted by like all of ethereum and make sure that you know

everyone sort of has buying into this and then obviously the flip side of this is because we have this like huge diverse group of like different actors with different incentives it's really hard to gauge what the community consensus is um when when there is like a more contentious change unlike sort of where we're at in terms of ethereum governance and you know what the potential like future looks like um so one thing this in the past like couple years is there's more and more stakeholders who are involved in this so we've gone from a world where like you know no one builds out ethereum so like we have a lot of adopts on ethereum and I think today we're like in this third phase where we have a lot of applications and

infrastructure built around ethereum who are wanting to start to contribute back to help build this infrastructure so we have you know l2s infrastructure teams major applications that each want to like contribute back to the protocol and help you know improve things um in parallel to that though um a lot of like the easy low-hanging fruits that we could do to make ethereum better have basically been done uh so we have what are left I I call this like high hanging fruits where you know all these new proposals and like larger changes we want to do they do involve complex trade-offs which like have reasonable arguments on both sides of it um and there's not as many just like net wins without any potential downsides so if you combine those two things together you know you have more people that need to agree on stuff and the

things they need to agree on have like more trade-offs it does make it harder to move things forward there's like more friction and like changing ethereum and in addition to this there's more value built on ethereum there's more users and whatnot so it means like by default things sort of slow down and one open question here is like is the end game or like natural path to ossify by default is there like another alternative here is this sort of doomed ossified and I think you know while we're like thinking about the big question there's a few tidy things that uh myself and my team and others have been trying to like do at the margin to help make governance a little bit better um and a little bit cleaner um so first is just trying to get in the line the specification format on the consensus

and execution layer so um both these uh both these like parts of the networks started in very different circumstances which led them to use like different tools and hopefully we can like align all of that together so that if someone wants to make a change to ethereum or Reason about the changes proposed to ethereum there's like a single coherent place they can look at rather than like four different things that may or might not look like each other I think another thing um that's really important is trying to be a bit more async in our process and like a bit more long-lived so I mentioned East magicians before um so trying to like use this as a way to like gather feedback signal changes and collect opinions rather than things like calls or even worse like comments on call agendas

um because hopefully it's like a bit more lasting and it lets people kind of uh get a record of what happened and understand the context a bit more and then one kind of larger moonshots that we're trying is this uh summer protocols initiatives where the EF is fighting about 30-ish people to spend the entire summer thinking about hard problems and protocols not even just in blockchain but across any domain with the hope that some of those insights are useful to like figuring out what we do to ethereum and um I guess you know some of the opening questions are just things I've been thinking a lot on is you know how do we trade off this like speed versus stability so if we are going to a world where like it's gonna get harder and harder to make changes in the future um this sort of implies we should do a

lot of the changes we want to do now um so that you know we can but this kind of comes at the cost of stability where um there's more stuff built on the network and we want to make sure that like we're not breaking everything you're requiring people to upgrade like way too often I think the other big question is like how do should we think about L1 and L2 standardization if at all like is there something there that you know if ethereum L1 stops changing or becomes much lower are there parts of the ethereum governance that should extend the L2 um while at the same time leaving like the room for ltus to create like way more diverse ecosystems where they're not all constrained by the same uh the same processes and then lastly I sort of

touched on this everything already but like you know is there a way that we can make this entire process less focused on like live calls I think the calls are great because they give us momentum and they sort of are fun forcing function for people to show up every week or two and like you know make progress um but they're obviously kind of a bit uh restrictive and that you have to like be awake when they happen you have to like speak English um and you know be like comfortable speaking on the spot and like debating things on the fly so like is there a way we can slowly move things to be a bit more async um without hopefully losing too much momentum and that's all I had um thank you so much for listening I don't know if there's time or a way to

do questions happy to do so uh if we can otherwise um I'm Tim Baco on Twitter or you can write to me Timon ethereum.org I'm happy to chat about governance in the little spaces um yeah thank you very much [Applause] [Music]