Protecting the EIP process from special interests + examples & case study

Users of the features we are discussing expressing their support/opposition to a potential feature should never be wrong, regardless of venue. How can we possibly build the “right” thing without feedback?

I don’t really understand your point? I’m saying there was little to no opposition from smart contract wallet teams, dapps, etc about 3074 on ACD, but there was quite a bit of positive support.

How can we possibly build the “right” thing without feedback?

I was concurring with the subtext: having people outside “the process” give feedback within the process is not capture in and of itself. In fact, we need such feedback. So having MM come on ACDE and say what they said was not, in itself, capture. It contributed positively to the process. I believe there was a general call and any wallet provider could have come on and said the same thing, that would not, in itself, have been capture either.

4 Likes

There seems to be a misunderstanding over the term “conflict of interest.”

Intuitively, a conflict of interest occurs when an individual has an interest that conflicts with their duties. It’s straightforward, but note that one does not have to perform any action for a conflict of interests to occur. They simply have to have an interest.

Conflicts of interest happen all the time. They are not inherrently bad - they just warrant special consideration. In most situations, when a conflict of interest is present, the conflicted individual will 1. disclose the conflict, and 2. recuse themselves from the duty.

Some real world examples:

  • A stock broker receives a “buy” order from a client looking to buy a stock the broker just purchased for themself. The stock broker has a conflict of interest. The stock broker discloses the conflict of interest and refers the client to another broker.
  • A judge is assigned to preside over a case in which the plaintiff is their spouse. The judge has a conflict of interest. The judge discloses this and recuses themself from the case.
  • A politician is voting on a bill that can award a government contract to a company that they are a partial owner of. The politician has a conflict of interest.. The politician discloses the conflict and abstains from the vote.

These are extremely straightforward examples from outside of DeFi. In the stock broker’s case, failure to disclose and recuse would result in the broker losing their license. In the judge’s and politician’s cases, failure to disclose and recuse would likely lead to criminal charges.

In this case, Sam has disclosed that he has consensys equity. Sam is an honest person. Sam is a good person. But Sam also has an undeniable conflict of interest. Having a conflict of interest does not make Sam a bad person. In fact, quite the opposite - we know he’s honest because he did the right thing by disclosing it. I assume that Matt is in a similar situation and is similarly a good and honest actor.

Laws surrounding conflicts of interest don’t exist because we think everyone may be corrupt and duplicitous. The laws exist because these conflicts can manifest in a variety of subtle ways. Even if we could read someone’s mind to know if they are intentionally acting against their duty to enrich themselves, governments would still want conflict of interest laws because unconscious biases can be overwhelmingly strong.

All we know so far is:

  1. Metamask stands to potentially benefit from this, should they so desire.
  2. There’s a conflict of interest, and
  3. Matt and Sam are honest people for disclosing it.

Note that I understand that Metamask does not desire to abuse their white list capabilities. But, in much the same way that a 3074 AUTH could be abused in the future if the contract is upgrade, Metamask could abuse this whitelisting power in the future if they decided to.

To protect everyone from biases both conscious or unconscious, we should strive to enact a conflict of interest policy that is, at a minimum, as rigorous as one would find in finance, legal, and governmental bodies. Personally, I view DeFi as an combination of all three… but all three have robust conflict of interest policies for a reason. Those policies did not evolve in a vacuum. I think it would be a shame if Ethereum’s protections from conflicts of interest are less robust than TradFi’s or the US governments.

For reference, US Congress passed a criminal conflict of interest law, 18 U.S.C. § 208, which prohibits you from working on an assignment in some situations - even if you know you can be objective and even if your supervisor wants you to work on it.

link to code (sorry - can’t post links): govinfo .gov/content/pkg/USCODE-2012-title18/html/USCODE-2012-title18-partI-chap11.htm

1 Like

You don’t seem to understand how EIPs get accepted into hard forks.

It’s irrelevant if we have a conflict of interest. We didn’t vote for the EIP to be included in the fork. It was accepted unanimously by all client teams. It’s their duty to evaluate proposals on their own merit. And they did that.

6 Likes

Perhaps it’s worth pointing out that Ethereum is an open-source project, not TradFi and definitely not the US government. If someone builds an application on top of an open-source protocol and makes money off it, that’s not the business of developers working on the open-source protocol.

You’re overindexing on the fact that Metamask stands to benefit from EIP-3074, but conveniently leave out historical instances where a core EIP was passed and one or more companies/startups built something that made them money on top of the framework introduced by said EIP. I call it overindexing because the only way Consensys’ remote involvement in the development of EIP-3074 can be attracting this much scrutiny is likely because you think Metamask is a monopoly and, somehow, protocol developers are enabling the monopoly by introducing an EIP that allows wallets to whitelist certain applications before users interact with them (even if MM has said whitelisting is for security reasons).

The “credible neutrality” principle goes both ways: Ethereum doesn’t explicitly favor perceived incumbents or perceived new entrants–doing any of that is a slippery slope that’s rarely had good outcomes, especially when implemented in top-down fashion. Metamask is one out of the dozens of wallets (possibly more) out there who stand to benefit from EIP-3074, which isn’t surprising because this is a protocol-level specification that’s agnostic to how anyone decides to implement or use it (just like people started companies after ERC-4337 appeared, I expect the same will happen).

Yes, something like centralization of stake in one staking pool is a problem because it poses a threat to the protocol itself, so exploring solutions to even the playing field and protect the protocol from capture from a single protocol. That’s a totally different situation and not comparable to whatever risk you think is going to appear because Metamask chooses to implement a whitelist.

“Conflict of interests” works in traditional settings because you have a thousand different people in the same institution–if X says I have conflict of interest, Y picks up the slack. Core developers are a small group of people taking on multi-year engineering plans (Matt and Sam have been at EIP-3074 for years!), not some cushy R&D lab overflowing with researchers. Maybe you should also ask: “Am I really being realistic right now, or am I letting my biases and convictions cloud my judgement right now?”

But even if it were possible to implement a conflict of interest policy, it simply is not necessary because the current policy of requiring multiple, uncoordinated client teams to reach consensus on the inclusion of EIPs into forks already provides a sufficient system of checks and balances. I don’t think you realize that client teams pushed back at EIP-3074 for four years; if EIP-3074 was a terrible proposal, none of the authors could’ve forced it through if they tried.

“Conflict of interests” is useful in situations when checks and balances don’t exist. If a judge gives a judgement, no one else can challenge that decision–in other words, the judicial process is subject to capture by one person who has ulterior motives. I know juries have power, too, but let’s roll with the example to show a case where checks and balances aren’t really visible.

However, the ACDE is not one or two people making decisions about what gets implemented in a fork; perhaps you should attend the next ACDE meeting to get a first-hand experience of how the process works. If one person had a “perceived” conflict of interest, there’s little they could do because we’ll assume the other 99% don’t have any visible conflicts of interest, and have as much weight in the decision-making process (so their collective weight exceeds that of a minority pursuing their interests). So, enacting an overengineered conflict-of-interest policy adds nothing, except for introducing the problem of getting people to work on stuff (and the number of people working on stuff is already low!).

Your company can have a problem with Metamask, but that’s between your company and Metamask. The core developers working on the protocol are ultimately thinking about users, not the granularities of market forces and capitalist competition. EIP-3074 (like any other EIP) has nothing to do with Metamask–we can even imagine a world in which Metamask didn’t exist and EIP-3074 still makes into a fork. If that world is plausible, why does anyone seem to have an issue with Metamask benefiting (in isolation) from EIP-3074?

2 Likes

I collected some dissenting opinions at the end of EIP 3074 is unsafe, unnecessary, puts user funds at risk while fragmenting UX liquidity and the wallet stack by the founders of Argent, Gnosis, and the CTO of Ledger.

At least some of the “popular support” was from devs who didn’t understand that in practice, the power of EIP 3074 would only be in the hands of the very few “whitelisted” invokers (eg MetaMask) because it is so incredibly unsafe to authorize anyone else to even pay for your gas with EIP 3074’s all or nothing security model.

Do you really want to build the right thing or do you just want to win? If you want the best arguments to win, why do you vote on having the ACD breakout call on the future of AA when the architect of AA can’t make it to the call? Why do you take advantage of the AA team not being able to make it to Istanbul to FUD AA as slow and complex? Why don’t you invite the AA team to the backroom conversations where you speak with the authority of the majority execution client with the other execution client teams?

Sam has gone on the record about his conflicts of interest. Matt AKA lightclient has not. Matt has played a much more aggressive and active role promoting EIP 3074, including abusing Geth’s power and authority behind the scenes to muscle past objections.

Apologies if I appear to be questioning the motivations of anyone that supported EIP 3074. I am sure almost everyone did that in good faith. But it’s that “almost” that gets me. If it sounds like I am entertaining financial motives being at play it is because I don’t understand where the energy to tirelessly campaign for EIP 3074 by hook and by crook comes from.

I don’t understand how good faith actors would be willing to go as far as exploiting Ethereum’s client diversity problem by throwing Geth’s weight around. Is “might makes right” the kind of culture we want?

I think we should be willing to ask these questions because refusing to entertain the idea that we may have bad actors amongst us makes it easier for bad actors to have their way. Of course, we also need to be careful not to take this to paranoid extremes.

I invite Matt to tell me I’m just being a silly conspiracy theorist thinking he may be motivated by financial interests. To clarify that he is not currently employed by Metamask/Consensys while also working for Geth, or otherwise exposed to the potential billions in upside for Metamask/Consensys from EIP 3074 getting in. That he has not been promised an airdrop of Metamask’s governance tokens and is perfectly willing to declare that he will be burning any such tokens they receive in the future if EIP 3074 gets in and the invoker gets tokenized.

To be clear, we should reject EIP 3074 because it’s a bad idea, not because we are unhappy with the campaign backing it.

On the other hand, how this campaign got through ACD is instructive for understanding where we need to beef up our defenses against capture. Without client diversity it doesn’t take a nation state to capture Ethereum governance and get contentious changes in, it just takes one person speaking for the majority client team in backroom sessions with the other execution client devs, critics are not invited.

Let’s unpack that because I think you may be misrepresenting what actually happened and the role you played. You appear to be trying to convey the impression that you played the role of a dispassionate observer trying to figure out what the “core devs” want. That’s disingenuous. Shortly after you joined the Geth team you somehow start speaking on their behalf. Others like Peter can’t be reached. EIP 3074 wouldn’t have gotten this far if you hadn’t taken advantage of Geth’s position to campaign for EIP 3074. Behind the scenes you exploited Geth’s position as the majority client to FUD work on the native account abstraction roadmap, discouraging contributors saying Geth will never accept their commits and saying Geth won’t support EIPs that provide the functionality of EIP 3074 without the baggage.

You’re a smart guy. You sound very reasonable in public, but your actions and the difference between what you say in public and how you act in private tells a more nuanced story. You exploited Ethereum’s client diversity problem to assert Geth’s power to essentially veto safer alternatives to EIP 3074. You directly influence other client teams who don’t want to waste their time working on things Geth won’t support.

If you don’t want to be accused of having bad intentions, it’s best to avoid misrepresenting what actually happened and tucking away all the backroom politics into this neat consensus of the “core devs”.

Do you think disagreement by those actually working on account abstraction and the founder of Ethereum should give us enough pause to actively pull in other stakeholders into the process and get their opinions as opposed to hoping they insert themselves? Participating in governance discussions can be intimidated to outsiders. This is true even when the chief advocate for an EIP isn’t lobbying for it from inside Geth, FUDing AA as something that will never happen while playing an active role in obstructing it.

Why don’t you ask the execution client devs how uncoordinated they’ve been in the decision to vote in favor of EIP 3074 and what role Matt played, speaking in those backroom discussions with the authority and power of Geth?

Even if there was no backroom coordination that gave the person representing the majority client inordinate influence, we’d still have the problem of client teams not being the only stakeholder that should have a say, especially on contentious decisions.

In practice, execution client teams are the only stakeholder with a vote on ACD. We never officially decided on this, it’s not written down anywhere, but nobody objected too much before so that’s the way it is now. There’s no other step so what’s voted in on ACD gets into the next hard fork by default.

Ethereum has a governance problem that encourages populist messaging in public and behind-closed-doors negotiations amongst a very limited set of stakeholders in private.

Good governance would pit the best arguments from a range of stakeholders against one another in front of people who are both capable and willing to take the time to understand them.

Bad governance would shy away from the unpleasantness of debate and let a self selecting core dev club vote on it. The real discussion/negotiation happens behind closed doors with a curated selection of voices (critics not invited) so by the time it reaches the public call it’s a done deal negotiated between the client teams, led by whomever happens to be speaking for the majority client.

Since this is getting personal, it feels a little unfair that many reading this exchange don’t know who you are @MrSilly. So for context:

Your company created the Ethereum Gas Station Network (GSN) and you are one of co-authors of ERC-2771. ERC-4337 is the spiritual successor (in design and personnel) to ERC-2271. You worked (work?) closely and are friends with the ERC-4337 team.

Is this a fair description?

You’ll notice I have never once asked if there is a conflict of interest by you or ERC-4337 team. If RIP-7560 goes live on L1 or L2, I would think you and ERC-4337 team would certainly be a prime candidate for a retroactive airdrop. In fact, the ERC-4337 team has already earned around 309k OP (~$750,000 USD) for their work.

Ask yourself internally if you have a conflict of interest due to your work on ERC-2771 and ERC-4337 or your friendship with the team. I think you’ll come to the same answer as me: it’s not about money or friendships, you want the best thing for Ethereum.

I trust that despite our technical disagreements, you and the ERC-4337 are simply working towards what you believe is best for Ethereum. It seems reasonable to expect the same respect in return.

If you have something more substantial than vague accusations about retro airdrop farming or a secret financial agreement with Consensys, I implore you to make those concerns known (whether it is regarding me, or any other core dev).

It’s pointless for me to state my financial interests publicly without a system to enforce correctness, as you’d have to trust my word for it. Feel free to ping me or my employer privately if you want to discuss further.

For completeness, I can say–and hopefully you / the readers can trust my word for it–that I don’t have a financial interest in EIP-3074 being accepted beyond the possibility of RPGF and a small amount of ConsenSys Mesh stock options (likely expired at this point?) which would have a small allocation of ConsenSys shares.

There is no promised airdop or agreement with ConsenSys / MetaMask. I’m not sure I’m willing to declare I would burn tokens awarded for the development of EIP-3074. If that’s an issue I would be interested in discussing separately at another time, but in general 1) I prefer that companies award ProtocolGuild over individual core devs 2) the RPGF mechanism was designed to reward people who generate a lot of value for the community by developing public goods. That’s the case for ERC-4337, it may be the case for EIP-3074.

It’s really strange you’re making an appeal to authority here. You can just say Vitalik’s name, it already carries enough merit on its own.

He and “the architect of AA” don’t dictate how the protocol evolves. They get to make proposals just like anyone else and the client teams can review the proposals and decide what makes sense to them. They had ample opportunity to present native account abstraction to client teams and they had ample opportunity to present cases against EIP-3074. In the end, the client teams weighed the available information and made the decision to accept 3074.

Right now the ERC-4337 team is working in isolation from client teams on the future roadmap for native account abstraction and are just expecting them to simply accept whatever they propose. That’s just not how the process works. I think if they would spend more time engaging with client teams, they might come up with a proposal that is more amenable to being included on L1.

I have personally discussed 7560 internally within geth, I have talked to devs on different client teams, as well as some developers of EVM-compatible rollups and as far as I could gather, there is no much support for RIP-7560.

You are alluding to the fact that you have knowledge that I did something inappropriate in backroom discussions with my power. Why don’t you state specific occurrences you find problematic instead of making vague accusations? I am pretty confident that I have acted appropriately publicly and privately in all discussions regarding all the AA proposals, but maybe we can discuss some specific situations.

Weird and very wrong take.

2 Likes

My apologies, I would have preferred not to make it personal but I don’t know how to point out that an easy to capture governance process is being exploited by a social engineering campaign without also pointing out the social engineer orchestrating it.

Regarding the attempted false equivalence, anyone who clicked on my account could see my full real name. My real name being there is no accident. That’s also my real face in the profile photo. As I told your friends a couple of years ago, I wrote the OP that you said you found offensive under the defectivealtruist pseudonym. I wrote it because I was worried by the success of the previous social engineering campaign to promote EIP 3074 when you were still working at Consensys. This is when you implied EF was endorsing the proposal, when it just provided a grant to split the cost of the dedaub report with Consensys. The OP wasn’t because some mean person had a grudge against you, it was a response to how you hijacked the legitimacy of the EF deceitfully to manufacture consensus in 2021.

That startup shut down in 2019. The product was an enterprise wallet. GSN was a small piece of missing infrastructure we decided to release as a public good. Putting time and money into a public good was probably one of the reasons the startup failed.

Some of people that worked on GSN are working on 4337 now, but I am not one of them.

No, this is a bad analogy. 2771 just standardized the meta tx encoding for embedding the msg.sender. Calling it a predecessor to 4337 is like calling Unicode a predecessor to SMTP.

4337 was designed by Yoav and Vitalik, building on Vitalik’s idea of leveraging private mempools and some of Yoav’s learnings from the GSN.

Sorry no. I didn’t get any part of the OP airdrops and I don’t expect posting my concerns on EM to warrant any future retroactive grants. FWIW, I was campaigning for the idea of retroactive grants way back, which you can also see a hint of in the OP, but I never benefited from them financially. I’m now somewhat concerned that they also pose a risk to the integrity of governance when used as retroactive bribes.

I respect my friends who have chosen to work on a public good instead of a for-profit venture, but I’m not speaking up for them. I also don’t care about Ethereum in the sense that I think it is worthwhile to declare my loyalty to it as a tribal brand. I care about the values I thought Ethereum was supposed to embody. Open source, open standards, decentralisation, permission less, censorship resistance. Work on 4337 is aligned with those values so I support it. I hope in the future to contribute more to aligning Ethereum with these values. I also care about good security design.

Given your championing of 3074 how would you rate your chances of making a life changing amount of money when Metamask tokenizes an invoker with billions of AUM? True, even if you promised publicly to burn the tokens we would still have to trust your word but that doesn’t make it worthless. You’re still publicly committing to it. If you don’t believe we should take this seriously because you are not going to be making a life changing amount of money anyway then you’re not giving up anything by committing to it. If you’re not willing to commit even to the hard to enforce honor system version of this, why should anyone dismiss as conspiratorial nonsense the possibility that you’re motivated by financial gain?

This is a straw man. You’re too eager to respond with populist anti elite rhetoric. I asked what should be sufficient criteria for identifying when proposals are contentious, not who should dictate how the protocol evolves. Given how you’ve leveraged the authority of the majority client, the dominant actor in the exclusive committee of execution client devs that are the only stakeholder with a vote on ACD, you have a much better claim of leading a shadowy dictatorial elite than Vitalik. Yet he’s not the one coordinating populist anti-elitist meme campaigns on Twitter, you are. I don’t trust Vitalik as an authority, I trust him as someone’s who’s values I respect who’s also pretty smart. You on the other hand seem to have a track record, even on this thread of attempting to exploit information assymetries to deceive and manipulate. It’s a pattern of behaviour that I find disturbing and alarming given that we don’t have strong protections around governance. It’s like seeing a fox in a hen house.

You should stop, really. At this point, you obviously have an axe to grind and EIP-3074 is giving you the perfect opportunity to do it. I hate dismissing criticisms out of hand because “the world’s greatest fool may say it’s shining, but that don’t make it sunny outside” (i.e., even the most unbelievable criticism might have some element of truth to it).

But you have simply strayed way too far into ad hominem territory that I’m wondering if you read your messages before sending them. Right now, I wouldn’t know if I was on 4chan reading spiteful comments from anonymous posters and keyboard warriors or reading posts on a forum dedicated to objective, technical discussions.

3 Likes

This is news to me. I didn’t engage with this post back then because it was a strange conspiracy theory by a random anon account.

If there are core devs who feel this way, feel free to post here or message me privately and we can discuss. I have not received any complaints about how I’ve handled 3074 except from you.

Look, your entire argument is based on accusations. I’m not going to continue debating in circles with you. I don’t know why you’re so upset about this proposal or why you feel it important to attack me personally without any evidence of wrongdoing, but in the process of doing so you are also negating all the work and discussions from other core devs who have discussed, accepted, and implemented the proposal over the past few months.

2 Likes

The only fox in the hen house is someone who restarts an old and dead debate just because it happens to feed on the paranoia people have around Ethereum’s governance process. Like I told the other person raising hell on Twitter and accusing core developers and Consensys of colluding to force through EIP-3074, “you’re not a saint or Luke Skywalker fighting against Darth Vader and the forces of evil”.

I’ve read the argument again, and even now, it’s clear you think you’re on a crusade to save Ethereum’s governance process from the people who’d turn it into something else. But you actually aren’t achieving that goal here. If you cares enough, maybe you’d have become more active in the ACDE process a long, long time ago. What better way to ensure folks don’t corrupt governance if you have boots on the ground?

But, your grouse isn’t with the ACD as much as it is with EIP-3074 and the people working on it. I definitely don’t have context, but the only people who keep up their conspiracy theories for years usually do it out of revenge or payback for some perceived slight. I don’t know who pissed you off, but you certainly need to take care of that separately and avoid projecting your negative feelings on the world and hurting good people in the process.

Note that you are commenting on a post titled “Protecting the EIP process from special interests”, which is in the process improvement category. I posted my technical concerns separately.

Protecting governance from special interests is a hard problem and it is going to get harder, especially the way things currently work. I agree it’s unpleasant, but so is the barking of any watchdog. I also believe that pointing out the lack of checks and balances around the ACDs committee power is dangerous. For one it risks the “core devs” closing ranks. On the other hand, it risks explaining vulnerabilities in governance to other actors with the resources to exploit it. I just happen to believe the risk of nobody barking is greater than the risk of barking. This won’t be fixed by barking alone, but if everyone keeps pretending we don’t have a problem, it’s harder to motivate the kind of energy required to make hard changes. Rainbows and unicorns won’t cut it in an adversarial environment, but the motivation to prioritize this vs everything else we could be working on relies on believing that governance is vulnerable to adversaries.

How do you get the community to take a vulnerability seriously without discussing the details of the exploit? How do you discuss the details of the exploit on a loosely defined social process without discussing the people involved and how things work in practice? Who benefits from shadowy ambiguity and subtle innuendo?

Back in the real world, lobbying is a massive multi billion dollar influence industry. As soon as there’s enough money at stake, dismissing the threat of lobbying as the stuff of 4chan conspiracies is naive.

I restarted this thread because the threat I originally highlighted materialised. Not only the general threat but also the specific example I used as a case study. But sure, feel free to dismiss this as agitation for the sake of making trouble.

Who knows, maybe, but my understanding of the governance process was that improving it would require a massive insider coordination effort like the kind Trent did with the protocol guild. The stories I heard on how hard it was to coordinate even simpler pre-protocol guild effort like the EIP-1559 NFT convinced me I wasn’t the right person for that job. I can’t stand politics. I understand they’re a necessary evil, but it takes a kind of diplomatic personality to be good at that sort of thing that I clearly don’t have. As you can see my style of communication is direct to the point of being offensive to the friends of the people I criticise.

I wish I could contribute more, and maybe I’ll figure out how in the future but in the meantime explaining the problems as I see them is what I know how to do. You can dismiss that as a valid contribution, you can argue it may be counterproductive and if you do you’ll be in the company of some of my best friends in the space. If it ends up a net positive it will be because of the efforts of others.

I’m sure they appreciated your condescension, but sure I concede everyone wants to be the hero of their own story.

If I’m just trying to get revenge for some perceived slight, why did I disengage for 3 years after posting about it once in 2021? How does this heuristic of spotting the madman who grinds his axe for years out of spite apply to someone who has been observing quietly and restraining himself from making further comments hoping that the system would defend itself?

I suspect calling someone a conspiracy theorist acts as a mental stop sign. “Move along now nothing to see here”. What are you so eager to prevent people from thinking about?

I was going to tell you in person over breakfast, and possibly add an apology for hurting your feelings but you were too busy dissing EF, infinite gardens and subtraction as obvious BS.

The whole post was a strange conspiracy theory or the case study pointing out that pretty much everyone working on EIP 3074 had conflicts of interest and stood to gain financially from Metamask’s success? You hold equity in Consensys. What other jewels are in there? Do you really need a conspiratorial mindset to believe people respond to incentives? Isn’t that economics 101?

I did later regret putting it all in one post. If the EIP 3074 campaign example was posted separately, the general point about Ethereum governance needing to defend itself against an increasingly adversarial environment may have attracted more discussion. Why would lobbying not be a problem given that the conditions here match up with public choice theory? Everywhere else the conditions match up there’s a problem.

Core Devs say the core Devs will decide, when many of us are still confused about who decides who is a core dev. Even if we assume this self coronating, self selecting committee is trustworthy today, why should we trust it to be trustworthy tomorrow? Is it impossible to buy a client team? What prevents interested parties from hiring core Devs to look out for their interests? If you can buy client teams and hire the only people who can vote, how is Ethereum governance not for sale? How does this not collapse into plutocracy?

Is it possible for someone who’s not a client dev to explain why we should be ok with handing over Ethereum governance to a tiny group of backend developers? Why should we just trust them to make the right calls, not merely on obscure matters of client optimization but even on strategic matters such as the UX roadmap and a sweeping change to the EOA security model?

  1. Who counts as a core dev?
  2. Can you understand why speaking for the majority client makes people less likely to tell you what they really think to your face? Good thing I’m not planning on proposing any EIPs soon

I don’t think this is an optimal governance process, but I want to point out that it’s not a matter of “handing over” the governance… the clients have that power by default. Hard forks are implemented by the clients, and if a client doesn’t implement an EIP then any validators who use that client would therefore also not implement the EIP.

It’s high friction for Proof of Stake validators to change clients - for the large, custodial operations it usually involves an expensive audit process and the alteration of service level agreements with their top stakers / depositors… thus, the client teams are de facto voting proxies for the validators.

It’s also important to note that due to the nature of hard forks, client teams can’t effectively compete over EIP support in order to “win over” validators from other client teams. While a scenario in which validators choose clients based on EIP support is theoretically possible, it’s fundamentally unsustainable in the long term because the losing client would become irrelevant by being on the wrong side of the next fork… plus, that competition would lead to decreased client diversity and significantly decreased safety for validators during forks… and that’s not even bringing USDC, tether, or other asset-backed actors into the equation. :sweat_smile:

If we were to campaign to take the EIP-annointing power away from the client teams, the alternative solution would have to be holistic, transparent, and probably by the client teams via the social layer… because, to be blunt, if all the client teams want to do a hard fork then there’s not really anything that anyone else can do about it.

There are many improvements we can make to the governance process, but the priority right now should be to resist the attempted overthrow of emergent consensus as Ethereum’s de facto governance model. A new authority has asserted itself and it needs to be challenged.

Up until the recent EIP 3074 inclusion vote, it was widely understood that improvements to the Ethereum network require reaching broad agreement on changes to the protocol. This “emergent consensus” process was similar in principle to how consensus emerges amongst mathematicians on the validity of new proofs, or scientists on the validity of new theories. It was fail-close.

EIP 3074 was the first time client devs voted on ACD to dismiss the concerns of a broad range of other stakeholders. They did this using the lowest form of legitimacy:

  • Legitimacy by brute force: someone convinces everyone that they are powerful enough to impose their will and resisting them will be very hard. This drives most people to submit because each person expects that everyone else will be too scared to resist as well.

They dismissed the objections of Vitalik, the EF’s account abstraction team, and many other ecosystem participants who disagree that EIP 3074 is a good idea on a technical level or that it should be prioritized over features Ethereum needs for censorship resistance such as inclusion lists, which had to be excluded because it is incompatible with EIP 3074. They also dismissed the stakeholders protesting that it is unfair for the client devs to tilt the playing field in the favor of the largest EOA wallet at the expense of developers of other wallets, intent networks, parallel EVMs, etc. Critics that pointed out that almost everyone pushing for EIP 3074 had conflicts of interests were dismissed as conspiracy theorists. The campaigners didn’t disclose their conflict of interests until they were called out and asked directly. They also didn’t abstain from voting on ACD.

The governance process we had 3 years ago rejected a well coordinated campaign to lobby for EIP 3074’s inclusion. Since then we’ve gotten a lot closer to full account abstraction. If it wasn’t a good idea back then, how is it a good idea now? What changed? The ideas didn’t change. There’s still no path from EIP 3074 to account abstraction. It’s still a kludgy insecure mess that puts user funds at risk, gives Metamask an unfair advantage and risks breaking the network. If you’ve seen how the sausage is made, it is hard to escape the impression that what changed was the governance process got more politicized after EIP 3074 campaigners weaponized their influence over an overly centralized client development process.

Also note, that though Ethereum made a lot of progress towards full account abstraction we would have made more progress if not for the active obstruction efforts that started shortly after the EIP 3074 champion moved from Consensys to the contractor maintaining the Geth client.

Client devs don’t have control over governance by default, otherwise they’d be able to rewrite the ledger at will, fork the EF treasury into a DAO under their control, introduce block rewards to fund themselves, etc. There have been previous attempts by duplicitous “core devs” to appeal to the prejudices of client devs to do just that. Nothing prevented them from updating the repos. They failed because those changes were contentious, and it was hard for contentious changes to get the critical mass of legitimacy needed to support a network upgrade.

If client development is overly centralized, it only takes one contractor to prevent the network from changing in ways the contractor doesn’t like (e.g EOF, AA roadmap) by refusing to implement them or just dragging their feet. Centralized development gives a handful of devs the power to essentially veto EIPs, even if there’s a wide base of agreement amongst all the other stakeholders. If they have to sign off on changes, they can stall arbitrary developments, which gives them a lot more power than other participants, including other minority client teams.

Let’s say we we’re not worried about them using this power to negotiate for an ever larger share of public goods funding. Let’s say we are ok with assuming they would be perfectly benevolent, perfectly trustworthy forever. That they could never be bought. Wouldn’t we still be worried about them making honest mistakes and nobody being in a position to check them?

“That which we are permitted to administer we mistakenly believe we own.”