In this fireside chat with Vitalik, we will explore coordination by studying the multi-layer coordination challenges and potential solutions in the Ethereum ecosystem, hoping to inspire everyone to think about how to manage coordination problems in decentralized ecosystems and provide insights for overcoming these challenges. The following is the text content?
01 Fireside Chat
Bruce: Hello everyone, I am Bruce, a core contributor to LXDAO and ETHPanda. Today we will explore the multi-level coordination conflicts and possible solutions in the Ethereum ecosystem around the theme of "Coordination". I hope that through this conversation, everyone will think about how to deal with coordination problems in a decentralized ecosystem, and gain inspiration for coping with coordination challenges, so that the entire ecosystem can run more smoothly and efficiently.
Vitalik is an important participant and observer of the Ethereum ecosystem. We are very happy to invite him. First, please let Vitalik make a brief introduction.
Vitalik: Hello everyone, I am Vitalik Buterin, co-founder of Bitcoin Magazine. I have been involved in Ethereum for the past 10 years. I started out as a researcher, but I have also been involved in many different aspects of the ecosystem.
Bruce: Today we are here to discuss topics related to coordination. From your perspective, how do you define coordination in Ethereum? Are there some good coordination cases in the Ethereum ecosystem? Vitalik: I think coordination can mean a lot of different things. In an abstract and general sense, coordination basically means multiple people acting together for some common goal, rather than ignoring each other's needs or acting in a way that's antagonistic to each other. It can mean a lot of different things. For example, it could mean people contributing to some public good, like projects that are valuable to the entire ecosystem. It could also mean people working together on some common standard, like people switching from speaking one language to speaking another because the other language is better in some way. This is basically what happens every time the Ethereum protocol is upgraded. It could even be a highly chaotic effort of people doing different things completely independently, but still contributing to some common goal in the end. An example of this is Wikipedia editing. No one is trying to command others, and no one is forcing everyone to do things the same way at the same time. But the result is that you still have many contributors contributing to one thing that benefits everyone. So I think all of these different types of coordination are happening in the Ethereum ecosystem, and the ecosystem is also largely dependent on this.
Bruce: Speaking of the Ethereum ecosystem, the Ethereum community encourages diversity because of the "infinite garden" philosophy. However, this diversity can lead to competition for resources and reputation or things like that. So what conflicts and coordination challenges have you observed in terms of competition and cooperation between communities? What solutions do you think can promote better cooperation and development between communities?
Vitalik: One of the challenges that we've seen so far, and I think we've solved it pretty well, is that different Ethereum clients are working together to upgrade the Ethereum network and update their code at the same time, and many different parts of the ecosystem are doing this, which is actually a pretty impressive achievement. Ethereum is a unique ecosystem, and the largest Ethereum client, Geth, is estimated to only have about 52% of the network. This is something you don't see elsewhere. In most ecosystems, there's basically one player that controls almost everything. We see this in browsers, we see this in Bitcoin clients, and we even see this in many implementations of social protocols that are trying to be decentralized.
The challenge with this approach is that we still have to agree on the next upgrade to do every year. There are a lot of structures within Ethereum that try to do this, that try to help make this happen. Like the in-person meetups that happen every year, there are actually several. We had one in Kenya, and we had a smaller meetup yesterday. And then there are the AllCoreDevs meetings, online discussions, incentives, and so on. In the beginning, the Ethereum Foundation gave some very significant grants to these client teams. Even to this day, it still gives some grants, but the majority of their income still comes from the clients themselves, so that's one example.
Another example is funding public projects across the Ethereum ecosystem. Historically, the Ethereum Foundation has been doing this, but now we're seeing the emergence of Gitcoin grants, the Protocol Guild, and other foundations. We released our transparency report about two days ago. One of the interesting statistics is that in terms of the amount of public funds allocated in the ecosystem in 2022 and 2023, the foundation only accounts for 49%, just under half. 51% comes from other organizations. Now I think there are other challenges. One of the big challenges is standard cooperation between Layer 2 and between wallets. This is an area that is currently starting to be discussed. And all these discussions about supporting public projects are continuing. There are more people trying different experiments now because Gitcoin, Optimism, and Protocol Guild have begun to lead the way.
Bruce: You just mentioned issues like coordination conflicts between clients, and basically, as the Ethereum ecosystem has grown, the EIP, ERC standard setting process has also involved more stakeholders, which has made the process more compact and slower. What are the main conflicts you observe in the standard setting process? How do you think openness and efficiency can be balanced to more effectively reach consensus and promote the development of standards? Vitalik: I think there are three types of conflicts, and it's important to think about them separately. The first is that different groups try to push different standards because the standards they push are good for them, and this doesn't just happen in Ethereum, it happens all over the world. The second conflict is that people push different standards simply because they either have the so-called "non-local invention syndrome" or because they want to gain the pride and social status of creating something that is used by everyone. The third is actually not a conflict at all, but people have some small differences of opinion, and you just need to work hard to get everyone to sit together, put aside the differences, and you can reach a solution that everyone is more satisfied with. For the first case, I think one thing we can do in the decentralized world is to establish basic specifications about what types of standards may be adopted. For example, if you publish an account abstraction standard and it requires that sending account abstraction transactions must go through my server, then no one will accept it. People only accept things that seem truly neutral.
And another thing we're trying is because at Devcon and ETHcc, a lot of people were unhappy about there being so many competing side events. So we did this experiment: during Devcon, we discourage people from hosting any kind of side events. Side events can be held before or after Devcon, and during Devcon, we encourage people to set up community hubs within Devcon. If your community hub is not simply advertising for yourself but can promote substantive cooperation between different partners in the same industry, then the foundation will be more inclined to support it.
So basically, instead of having a separate Optimism event, Arbitrum event, or Starknet event, we will have a Multi-L2 event as part of Devcon. In this way, at least on a social level, cooperation is encouraged to happen, rather than one person driving everything and then passing proposals as their own. This is also what we're starting to try in more standards, trying to establish this norm. I think that helps with other issues as well. One aspect is the pride that people have in wanting to support their own stuff. The other aspect is the very human unwillingness to succumb to the "dominance" of others, or to resist what is imposed by others.
And the solution to both of these issues is to try to encourage more collaboration, even from the very beginning of a process. As for the third issue, it's that people are not communicating enough, we just need more people and organizations to create those forums where these conversations can take place.
Bruce: Thank you. The next question is about Layer 2. Because we all know that Layer 2 solutions play a key role in Ethereum scaling. So how do you see the coordination challenges between Layer 2 and Ethereum? What challenges or strategies exist in aligning the development and governance of Layer 2 solutions with the rest of the ecosystem? Vitalik: Layer 2 started out in a very independent way, with a lot of people starting to build their own technology stacks, just trying to make something that worked, something that could scale Ethereum relatively quickly. And now the real focus of the ecosystem this year is basically that Layer 2 already exists, they work, and they work as expected. So everything is migrating to Layer 2. But how do we make sure that Layer 2 actually feels like and operates as an ecosystem, rather than feeling like 40 different blockchains? Here are specific examples. For example, if you have tokens on Optimism, but you have some applications on Arbitrum, then the deposit process, that is, transferring tokens from one place to another, becomes very difficult. There are a lot of non-standard places like this, there are too many things that don't have unified standards.
So we've started talking about how to standardize these cross-layer 2 things, including the participation of layer 2 teams and wallet teams, and this is an area where a lot of progress is being made.
Bruce: Thank you, and given the limited time, Vitalik, do you have any other thoughts on coordination that you would like to share?
Vitalik: When it comes to the topic of coordination, I think there are two important aspects, one is the social aspect, that is, the communication between people, and the other is the economic aspect. It's interesting that people like me tend to overemphasize the economic aspect. But I think in this conversation, we are more focused on the social aspect, which is actually good.
But the economic aspect is also important, you can't try to force people to do things that are seriously contrary to their incentives. Because as you can see, if you rely too much on moral pressure, then eventually, people get frustrated and angry and then rebel against you, and sometimes even go tell someone else something completely different and crazy. So I think in this regard, what we've been successful at as an ecosystem is that we're good at funding small projects. Like, if you have an important public good that needs funding, and you only need $100,000 or $300,000 to do a demo, there are a lot of people who will fund it, there's the Ethereum Foundation, there's individual funders, there's DAO organizations, there's individual Layer 2 projects, there's a lot of people who will give you $300,000 if they see the need.
And the challenge we face is that when a project moves from a demo that needs $300,000 to a mainstream project that needs $30 million and needs to serve the entire Ethereum user base, the incentives basically shift from full socialism to full capitalism, like at the $30 million level, there's actually nothing that really incentivizes you to do socially beneficial behavior other than market incentives. Because everyone basically says, you already have enough money. And we want to fund projects that otherwise wouldn't be funded.
When you're a company, you have users, you have investors, then the challenge is that when the incentives are fully market-based, to continue to do socially beneficial behaviors, like following standards, not trying to create vendor lock-in, continuing to keep it open source, etc., it's like the incentives start to disappear. So I think a fundamental challenge is, how do we actually improve the incentives at the $30 million level? This, to me, is an unsolved problem. I really welcome people trying different ways to solve it.
02 Audience Interaction
Q
I was actually going to ask a question about standards, but something you said really inspired me. You just mentioned the sudden shift from a small amount of money to $30 million. Although the two situations have different operating mechanisms, isn't this sudden shift itself a problem? Can't there be a more incremental approach? What experiments can we do? For example, in small businesses in Web3, I feel like we don't see enough of these businesses. It seems like everyone wants to soar to the sky, or just hang out, take saunas, and other fun things. How can we support more small businesses? I'm curious how you think about this issue, or what interesting attempts you see? Vitalik: I think there are different types of support. One way of support is more proactive. If there is a promising project, it is necessary to provide them with a user base, help the project be used in a coordinated environment, so that it can be in touch with reality and can improve. For example, an example at Devcon, we practice a lot of things, ZK identity authentication tools, such as Zupass and many different projects on-chain or open source. The goal of this is partly to help projects overcome the hurdle of network effects, where nobody has heard of them, nobody is using them, and that's a non-monetary support.
On the one hand, in terms of funding support, once a project reaches a high level, the question is basically we need to find a balance, you want a funding model that is not entirely charitable. Because even at the $3 million level, if you rely solely on charitable funds, it will be exhausted very quickly. You need a funding model that is not purely charitable, it expects to see returns, but at the same time is not just driven by returns. The key question is to find out who are the participants who are willing to participate in this model in terms of funding?
I think people are willing, there are a lot of people, even a lot of ETH Whales, who hold ETH because they believe in the vision and are even willing to make some small sacrifices, but at the same time, they are not in a hurry to donate everything they have.
On the other hand, the question is what are the actual institutions, what are the models, what are the funding models that actually encourage projects to stay open source, stay standards friendly, stay decentralized, and ideally, if you end up being very successful, give back to the next wave of projects.
I know there are various projects in the ecosystem that are basically trying to bring together the funding of different large ecosystem players, and the basic theory is that if you have these funds, then at least if they have confidence that everyone is participating at the same time, they will be willing to invest in projects on that basis, but it's definitely in the early stages so far.
Q
Another question is about people starting their own projects instead of working on existing projects, there seems to be no incentive. If you are part of someone else's project, the financial rewards are not there. What we really need now is user experience and onboarding. But people, especially VCs, if we want to do a larger project, they only fund infrastructure, what can we do to improve this situation? Vitalik: That's a good question. One interesting thing is that both our private goods funding and public goods funding have kind of failed in this regard. Because if you look at projects like Optimism's retroactive funding or Gitcoin, one of their major weaknesses is that they basically become popularity contests, and in order to get a lot of funding, you have to have a high public profile, you have to have your own marketing department, like you're basically a political party. But there are a lot of people who are not interested in that model, they don't want to be full-time, self-promoting politicians. And it's essentially a model that follows existing social status trends, which clearly favor creators over maintainers. I think at least in terms of public funding, if we can make a conscious effort to try to create mechanisms to identify and support those maintainers, that could help a lot. I've seen in public goods funding, things like the Retroactive Funding community project trying to do this, basically trying to identify the downstream dependencies of big projects that everyone thinks are valuable, identify the dependencies, and then identify the dependencies of those dependencies. So you're able to support the entire graph.
There are also people in Optimism who are even very explicitly trying to dig and find these kinds of projects. For example, the people who invented Keccak, a hash function that everyone uses, they were some academics who didn't know how to show themselves on Twitter. They got a $200,000 retroactive grant a few years ago. So I think at least consciously creating a public information graph of who contributed to what and making it easier to follow is an important dependency in itself. Because once you have that, you can more easily support any mechanism that's trying to improve it.