Organized by: LXDAO
In this fireside chat with Vitalik, we will explore coordination by examining the multi-layered coordination challenges and potential solutions in the Ethereum ecosystem, hoping to inspire everyone to think about how to manage coordination issues in decentralized ecosystems and provide insights for overcoming these challenges. Below is the text content 👇
Bruce: Hello everyone, I am Bruce, a core contributor to LXDAO and ETHPanda. Today, we are exploring the multi-faceted coordination conflicts and potential solutions within the Ethereum ecosystem around the theme of "Coordination." We hope this dialogue will inspire everyone to think about how to address coordination issues in decentralized ecosystems and gain insights to make the entire ecosystem operate more smoothly and efficiently.
Vitalik, as an important participant and observer in the Ethereum ecosystem, we are very pleased to invite you. First, please give a brief introduction.
Vitalik: Hello everyone, I am Vitalik Buterin, co-founder of Bitcoin Magazine. For the past 10 years, I have been involved in Ethereum. I initially worked in research, but I have also participated in many different aspects of the ecosystem.
Bruce: Today we are here discussing topics related to coordination. From your perspective, how do you define coordination within Ethereum? Are there any good examples of coordination within the Ethereum ecosystem?
Vitalik: I think coordination can have many different meanings. In an abstract and general sense, coordination essentially means that multiple people act together for a common goal, rather than acting in ways that ignore each other's needs or are antagonistic. This can mean many different things. For example, this might mean that people contribute to certain public goods, such as projects that are valuable to the entire ecosystem.
This may also mean that people are working together on some common standards, like people transitioning from speaking one language to another because the other language is better in some ways. This is basically what happens every time the Ethereum protocol is upgraded. It can even be a highly chaotic effort where people are doing different things completely independently but still contributing to a common goal. The editing of Wikipedia is an example. No one is trying to direct others, and no one is forcing everyone to do things in the same way at the same time. But the result is that you still have many contributors contributing to something that benefits everyone. So I think all these different types of coordination are happening in the Ethereum ecosystem, which largely relies on this.
Bruce: Speaking of the Ethereum ecosystem, due to the concept of the "infinite garden," the Ethereum community encourages diversity. However, this diversity can lead to competition for resources and reputation or similar issues. So, what conflicts and coordination challenges have you observed between competition and cooperation among communities? What solutions do you think could promote better cooperation and development between communities?
Vitalik: So far, one of the challenges we have seen, which I think we have solved quite well, is the collaboration of different Ethereum clients to upgrade the Ethereum network and update their code simultaneously. Many different parts of the ecosystem are doing this, and it is actually quite an impressive achievement. Ethereum is a unique ecosystem in which the largest Ethereum client, Geth, is estimated to account for only about 52% of the network. This is not seen elsewhere. In most ecosystems, one participant essentially controls everything. We see this in browsers, in Bitcoin clients, and even in many implementations of social protocols that attempt to decentralize.
The challenge with this approach is that we still have to reach consensus on the next upgrade that takes place every year. There are many structures within Ethereum trying to accomplish this, trying to help achieve this goal. For example, there are face-to-face meetings held every year, and there have actually been several of them. We hosted one in Kenya, and we had a smaller gathering just yesterday. Then there are all the AllCoreDevs meetings, online discussions, incentives, and so on. Initially, the Ethereum Foundation provided some very important funding to these client teams. Even today, it still provides some funding, but most of their income still comes from the clients themselves, which is one example.
Another example is funding public projects for the entire Ethereum ecosystem. Historically, the Ethereum Foundation has been doing this, but now we are seeing the emergence of Gitcoin funding, Protocol Guild, and other foundations. We released a transparency report about two days ago. One interesting statistic is that in terms of the amount of public funding distributed in the ecosystem in 2022 and 2023, the foundation accounted for only 49%, just below half. 51% came from other organizations. Now, I think there are other challenges as well. One major challenge is the standard collaboration between Layer 2s and wallets. This is an area that is currently starting to be discussed. And all these discussions about supporting public projects are continuing. More people are now trying different experiments because Gitcoin, Optimism, and Protocol Guild have begun to lead by example.
Bruce: You just mentioned issues like coordination conflicts between clients, and basically, as the Ethereum ecosystem has developed, the EIP and ERC standard-setting processes have involved more stakeholders, which has made the process tighter and slower. What major conflicts have you observed in the standard-setting process? How do you think we can balance openness and efficiency to reach consensus more effectively and drive the development of standards?
Vitalik: I think there are three types of conflicts, and it is important to think about them separately. The first type is when different groups try to push different standards that are advantageous to them. This situation occurs not only in Ethereum but also worldwide. The second type of conflict is when people push different standards simply because they have what is called "non-local invention syndrome" or because they want to gain pride and social status from creating something that everyone uses. The third type is actually not a conflict at all; it is just that people have some minor differences of opinion, and you just need to work to get everyone to sit down together, put down the differences, and reach a solution that everyone is reasonably satisfied with.
For the first case, I think one thing we can do in a decentralized world is to build basic norms about what types of standards might be adopted. For example, if you publish an account abstraction standard that requires sending account abstraction transactions to go through my server, then no one will accept it. People only accept things that seem genuinely neutral.
And another thing we are trying is because at Devcon and ETHcc, many people are dissatisfied with having too many competing peripheral activities. Therefore, we did this experiment: during Devcon, we discourage people from hosting any form of peripheral activities. Peripheral activities can be held before or after Devcon, while during Devcon, we encourage people to build community hubs inside Devcon. If your community hub is not simply a platform for self-promotion but can facilitate substantial collaboration between different partners in the same industry, then the foundation is more inclined to provide support.
So basically, we do not hold separate events for Optimism, Arbitrum, or Starknet, but rather hold a multi Layer 2 event as part of Devcon. This way, at least on a social level, it encourages collaboration rather than having one person pushing everything and then passing their proposals as their own. This is also our approach to trying more standardization, trying to establish this norm. I think this also helps address other issues. On one hand, there is the pride people want to support their own things. On the other hand, there is the very human aspect of not wanting to yield to someone else's "strong dominance," or resisting what others impose.
And the ways to address both of these issues are to encourage more collaboration, even from the very beginning of a process. As for the third question, the communication between people is still not enough; we just need more people and organizations to create forums that can facilitate that kind of dialogue.
Bruce: Thank you. The next question is about Layer 2. Because we all know that Layer 2 solutions play a critical role in Ethereum's scalability. So, how do you view 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 initially started in a very independent manner, with many people beginning to build their own tech stacks, just trying to create something usable, something that could scale Ethereum relatively quickly. And now the real issue the ecosystem is focusing on this year is basically that Layer 2 already exists, they are functioning properly, and they are achieving their intended goals. So everything is migrating towards Layer 2. But how do we ensure that Layer 2 actually feels like and operates as a cohesive ecosystem, rather than feeling like 40 different blockchains? Here are some specific examples. For instance, if you have tokens on Optimism but have some applications on Arbitrum, then the process of depositing, that is, transferring tokens from one place to another, becomes very difficult. There are many similar situations where there are non-standard practices; there are too many things without a unified standard.
So we have started discussing how to standardize these cross Layer 2 aspects, which involves participation from Layer 2 teams and wallet teams. This is an area that is making significant progress.
Bruce: Thank you. Due to time constraints, Vitalik, do you have any additional thoughts to share regarding coordination?
Vitalik: Speaking of coordination, I think there are two important aspects: one is the social aspect, which is the communication between people, and the other is the economic aspect. Interestingly, people like me often overemphasize the economic aspect. However, I think in this conversation, we are actually focusing more on the social aspect, which is quite good.
But the economic aspect is also important; you cannot try to force people to act in ways that severely contradict their incentives. Because as you can see, if you rely too much on moral pressure, ultimately, people will feel frustrated and angry, and then rebel against you, sometimes even telling others some completely different crazy ideas. So I think in this regard, as an ecosystem, we have succeeded in funding small projects. For instance, 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 many people who would fund it, including the Ethereum Foundation, individual funders, DAO organizations, individual Layer 2 projects, and ETH whales. If they see the need, many people will give you $300,000.
The challenge we face is that when a project shifts from needing $300,000 for a demo to needing $30 million and serving the entire Ethereum user base as a mainstream project, the incentive mechanisms basically shift from complete socialism to complete capitalism. At the $30 million level, there is really nothing that can truly incentivize you to act in a socially beneficial way, aside from market incentives. Because everyone basically says, you've already got enough money. And we want to fund those projects that otherwise would not receive funding.
When you are already a company, you have users, you have investors, then the next challenge is that when the incentive mechanisms are fully market-oriented, continuing to act in ways that benefit society, such as following standards, not attempting to create vendor lock-in, and continuing to remain open-source, becomes more difficult as incentive motivations start to fade. So I think a fundamental challenge is how we can really improve the incentive mechanisms at the $30 million level? To me, this is an unresolved issue. I really welcome people to try different approaches to address it.
Audience Interaction
Q: I really wanted to ask a question about standards, but some of the things you said really inspired me. You mentioned the sudden shift from small funding to $30 million. Although these two scenarios have different operating mechanisms, isn’t this sudden shift itself a problem? Can’t there be a more gradual approach? What experiments can we do? For example, in small businesses in Web3, I feel that we do not see enough of these types of businesses. It seems everyone wants to hit it big, or they are just hanging out, doing sauna and other fun things. How can we support more small businesses? I am curious about how you think about this issue, or what interesting attempts you have seen?
Vitalik: I think there are different types of support. One way to support is to be more proactive. If there is a promising project, it needs to be provided with a user base to help it be used in a coordinated environment, letting it make contact with reality and improve. For instance, in a Devcon example, we practiced many things, such as ZK identity tools like Zupass and many different on-chain or open-source projects. The goal of doing this is partly to help projects overcome the barrier of network effects, that is, no one has heard of them, and no one is using them, which is a form of non-monetary support.
On one hand, in terms of funding support, once a project reaches a high level of development, the issue is basically that 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 only rely on charitable funding, it will soon be exhausted. You need a funding model that is not purely charitable, which expects to see returns, but at the same time is not solely driven by returns. The key question is to find out who are the participants willing to engage in this model in terms of funding?
I think people are willing; there are many people, even many ETH Whales, who hold ETH because they believe in this 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 the actual institutions are, what the patterns are, that is, what kind of funding models can truly encourage projects to remain open-source, remain friendly to standards, maintain decentralization, and ideally, if you become very successful, give back to the next wave of projects.
I know that there are various projects in the ecosystem that are basically trying to consolidate the funds of different large ecosystem participants. The basic theory is that if you have these funds, at least if they are confident that everyone is participating at the same time, they will be willing to invest in projects on that basis. But so far, this is certainly still in its early stages.
Q: Another question is about people starting their own projects instead of working on existing ones. It seems there is no incentive. If you are part of someone else's project, there is no economic return. What we really need now is user experience and onboarding. But people, especially venture capitalists, if we want to do a bigger project, they only fund infrastructure. What can we do to improve this situation?
Vitalik: That's a good question. An interesting thing is that our funding for private goods and public goods has somewhat failed in this regard. Because if you look at projects like Optimism's retroactive funding or Gitcoin, one of their main weaknesses is that they have essentially turned into popularity contests. To get significant funding, you must have high public visibility; you must have your own marketing department, as if you are essentially a political party. But many people are not interested in this model; they do not want to become full-time, self-promoting politicians. And this is essentially a model that conforms to existing social status trends, which clearly favors creators over maintainers.
I think at least in terms of public funding, if we can consciously strive to create mechanisms to identify and support those maintainers, it could be a great help. I have seen in public goods funding that projects like retroactive funding community projects are trying to do this, essentially trying to identify the downstream dependencies of large projects that everyone thinks are valuable, identify the dependencies, and then identify the dependencies of those dependencies. This way, you can support the entire graph.
In Optimism, there are even people who are very explicitly trying to dig into and find such projects. For example, the inventors of Keccak (a hash function used by everyone) are scholars who do not know how to present themselves on Twitter. A few years ago, they received a $200,000 retroactive grant. So I think at least consciously creating a public information graph showing who contributed what and making it easier to be noticed is itself an important dependency. Because once you have that, you can more easily support any mechanisms trying to improve it.