Episode 281: Devconnect 2025 With Devansh Mehta ![rw-book-cover](https://i.ytimg.com/vi/YWnLWnAsg9Y/sddefault.jpg?sqp=-oaymwEoCIAFEOAD8quKqQMcGADwAQH4AbYIgAK4CIoCDAgAEAEYRSBRKHIwDw==&rs=AOn4CLCM7LeZSj0m2wANuExRK9lGfk0M8A) [music] [music] Hello and welcome to sustain the podcast where we talk about sustaining open source for the longhaul. I Errol Fox and with me today is >> Victory Brown >> and we are speaking to Dvanch. He is working on the funding mechanisms in the Ethereum Foundation and specifically around the public goods that underpin the Ethereum ecosystem. Dvanch, great to have you. Can you tell us a bit more about the work that you do around funding mechanisms and these public goods? >> Yeah, so maybe I can divide it into two parts. Ethereum itself is underpinned by a collection of open-source repositories. These include consensus and execution clients. It includes Chev tooling. So the entire network of Ethereum is basically a collection of open-source repos which then makes us have to answer the question that how do we actually sustain this for the long haul. So that's basically my work which is looking at these different open-source repos figuring out where the funding is coming from and I can divide that into two parts. One is where the money is coming from and the second after the money comes how do we divide it between these different open-source repos. So I call that the credit assignment problem. who deserves how much and the funding loop problem. How do we actually get the funding to assign according to the credit which is derived? >> Can you tell us a little bit more about those two loops? Like how do decisions get made in those loops? How is the community involved? Is the community involved? Is there a prioritization? Tell us a little more about those loops. >> Yeah, so I'll talk about the first part which is credit assignment because that comes prior to funding. In credit assignment, my personal belief is that we should move away from humans deciding who is worth how much. I think it's kind of demeaning when a human is deciding your worth. And I prefer when an algorithm decides it in some way that so you just have to do your work and an algorithm decides how much you should get paid. I think that's a more egalitarian and more dignified way of working. and some of the work that we've done. So like the common one is quadratic funding where a funer just puts money into a matching pool and then based on how many different how varied the base of supporters is the money gets allocated from the funding pool and I've seen a lot of high-profile people want to give money through such mechanisms because rich people don't want to be bothered. That's like rule one. And rule two, they don't want to put their reputation on the line by making judgments that this repository is worth this much, this other repository is worth that much. Because if they get those individual judgments wrong, their reputation comes on the line. So similar to how just because Donald Trump got elected in the US, we don't blame the US electoral system because we trust the legitimacy of the system even if we don't like the outcome. So I think a similar process has to be done for funding decisions where even if I don't like the outcome, I still respect the credibility of the process which led to the outcome. So my work at the EF at Ethereum Foundation is figuring out what processes can we derive which then spit out a distribution between various open source repositories. Quadratic funding being one of them and deep funding which I'll maybe go into later on being another that I'm working on. I'm really curious if you have found that. So something that I think personally is an opinion of mine happens in open source funding is a sense of favoritism and about a popularity contest. Essentially, it's often because I have conversations with people about how many stars their repository has or whether there was some press that happened recently about the project. Do you think that this process that you're describing helps to avoid that or do you still think that that creeps in somehow into these processes? >> Right. So I'll talk about two ends of the spectrum here. One end of the spectrum is mechanisms like quadratic funding where you have to get votes from as many people as you can. That involves what Vitalik calls disciplining the crowd. Who whichever community can better discipline their crowd in order to vote for them, they end up getting more money. So that's the full popularity dynamics and the zero sum nature of it which we don't like about quadratic funding. And on the other end of the spectrum is the lobbying problem where if there's a grant committee which is giving money, if I'm able to take them out for drinks, if I'm able to be good friends with them, then I'm going to get money from them. So I think these are the two ends of the spectrum like the issue with lobbying and that getting you more money and the issue with being a popularity contest and both have its strengths and negatives. I don't think one is better or strictly better or worse than another. What I do like I entered the crypto and the web 3 space with quadratic funding and I found it very egalitarian. I was working in nonprofits before I joined and that was all based on grant applications and the rule was you first get the grant and then you apply for it. So you first have to talk to the decision makers and they decide and then you have to go through the bureaucratic process of applying. That was how that side of the world work. And I found quadratic funding very liberating because I can register my project and I get my own community to vote and I get matching funds from the pool. So I don't have to ask permission. I always end up getting some amount of money to compensate my time as opposed to a grant process where either you get everything or you get nothing. So I think that each has its strengths but each also has its drawbacks. >> There was another process that you mentioned in your first answer to the first question. Is there other loops and processes you want to explain and cover before we move into other questions? >> Yeah. So the other part is the funding loop. So like I mean I'll give you the example of Bitcoin which is a very clearcut example. So in Bitcoin the credit assignment is solved by whoever has enough hash power to mine the next block. So whoever mines it gets 100% of the credit of the next block and the funding loop is basically the new Bitcoin which is mined to reward according to the credit of mining. So that's an example of what Van Bennett calls the impact evaluator loop and there's a paper called impact evaluators which is great to read in this regard. So that's basically the problem. It's a good way of breaking it down. One, how do we assign credit? And two, where does the funding loop come from? Whether it's in the form of your own currency or it's in the form of an external funer putting money in the matching pool like quadratic funding and quadratic voting. I really want to hear more about how networks of open source software can compete with corporations that you mentioned just before we started recording. I find that really an interesting statement. It sounds like quite controversial in a lot of ways, but please tell us more about what your thoughts are on these networks that can compete with corporations. >> Yeah, sure. So, I find the public goods framing to be very divisive. I think public goods are good and I'm on that side. But at the same time, I want to be a bridge connecting the skeptics who believe that public goods represent a lack of accountability, throwing money and that full side of the world with the side that we actually do need that there is value creation which can be higher than value capture. So that's my definition of public goods is the amount of value that you create versus the amount of value that you capture. So something like Facebook they create value for the world but they also manage to capture a lot of that value through advertisement revenue and other ways. So the difference between value creation and value capture is what I define as public goods in a very mathematical sense. So the framing that I've now started adopting to move away from public goods which has a bad rap in some corners of the world is the idea of connecting cost centers with revenue centers. So why do corporates currently out compete open networks? It's because in a case like say X, you have a revenue center like the ad division which is earning money and you have a cost center something like Grock or something like Community Notes which is doing incredible work, Community Notes. And the reason corporations can produce better products is because they can take money from the revenue center which is the ad division and give it to community notes which is a cost center for a better end product. And it's not like community notes has to apply for a grant to the ad division which would be ridiculous. But that's exactly the situation in open networks where you have cost centers which have to apply for a grant from the revenue center. And as long as we fail to solve this problem of being of better integrating the revenue centers with the cost centers, I don't see us as being able to seriously compete on a product level with corporations. >> And what do you think this means when we think about sustaining open source and keeping open source as like our critical digital infrastructure? I mean it is our critical digital infrastructure already. What do you think that these potential interventions and what the web 3 crypto decentralization space can do to I guess innovate or change or adapt new processes that help keep this sustained? >> Maybe draw this is what's touching on my work at the EF right now which I've been focused on over the last one year. So I think it's basically a three-step process that we want. Step number one is generate a dependency graph which is unweighted. So you have a particular project which is using many open-source dependencies. So just being able to map out that that this revenue center is dependent on these different cost centers and don't try giving weights to it. Just generate that graph and make it as accurate as possible. We found this in practice to be quite difficult. We were using a GitHub software build of materials GitHub sbomb. But a lot of the maintainers said I don't recognize half of these dependencies and they are like invalid or outdated. And even more upsetting to them was that some of their core dependencies were not mentioned over there. So that itself is its own beast to tackle generating an accurate dependency graph. But that's the first step. The second step is make it a weighted dependency graph. So once you have the graph with nodes and edges, the nodes are the different software dependencies and the edges are the relations between them. You try to give a weight to the edges not to the nodes because giving weights to the nodes is a value judgment that I think you are worth this much whereas giving weights to the relations between nodes is less of a value judgment on that person or maintainer or repository and more about how much value do I derive from you and it can be different for different projects. One project uses a dependency a lot another uses it in a marginal way. So the second step is giving a value to that dependency graph so that it's weighted and then the third step is finally putting money into one public key and it gets sent across the entire graph base based on the weights and edges. So that's the larger framework that we should be operating in for connecting cost and revenue centers. And then the thorny question which I'm happy to get to next is how do you actually give weights to the different edges in the dependency graph. >> Do you want to talk about that before I ask my question? >> Yeah, sure. So I think I'll take a step back and talk about something called goodart's law. So goodart's law is that when measure becomes a target it ceases to be a good measure. So if we just try to say based on number of GitHub stars we will give funding based on that or number of package downloads which some groups like ecosystems.ms is trying to do like based on number of package downloads but then the problem is I'll just set up a bot which tries to download the packages and that ends up getting more money. So when we use something which is a decent measure but we make it into a target which gives you money then it stops being a good measure and that's why we find a lot of open source communities very skeptical towards crypto in general because we try to financialize and then it ceases to be a good measure and then it brings in a lot of noise. So that's the first step. So what are the ways out of Goodart's law? So one way is to just have a very good metric. So we see this with something like revenue. Even if you make revenue into a target that's like okay because revenue is super hard to earn so it's a good metric so it doesn't it's still even if you try to optimize for revenue unless in the case of Enron which tried to massage the numbers the revenue was higher so even there we saw some cases where it became a like good art's law applied but by and large it's a very good target which is very resilient that does not work in the case of public goods and open source repositories so the second route to solving goodart's law is to use a non-deterministic method where it's not a fixed target. One example is human beings. Human beings are essentially non-deterministic. Whether I give the money to you or to someone else is something which is based on a subjective judgment. And that's what I find most exciting about artificial intelligence LLMs in particular large language models that they are the first computer program we've devised which is nondeterministic. If I ask how are you to an LLM, it'll give me a different answer. And that's what's so exciting that we can actually get a non-deterministic computer program. So now the question becomes how can we use artificial intelligence and large language models to give weights on the dependency graph. And so that's something I've spent a lot of time thinking about and there's a great article which Vitalik has written called AI as the engine, humans as the steering wheel. So initially when I was working on this problem, I tried to build this great AI which everyone is going to like respect as being amazingly accurate and then it gives weights on the graph. But Vitalik corrected me and said that look this is the wrong approach because what if your AI just is bad and how do we even know if your AI is good? So the approach he advocated was making AI into the player of the game but not the game itself. So one example which we ran about five competitions is we collected ground truth data from maintainers. So maintainers of a particular revenue center would say which dependency is more important is dependency A or dependency B more important. So they make these very local judgments which they can do fairly accurately and we use that as ground truth data to run a competition like on Kaggle where multiple data scientists submit their LLMs trying to predict the weights on the dependency graph and we then select the winning AI. So I think the core insight I want people to go is that if you're using AI to distribute money, don't do it by enshrining one particular AI as the one that's going to distribute money, but collect some ground truth data and run a competition where anyone can submit their own AI, including you, and then you choose the winning AI based on their error score to the collected human judgment. So we actually ran this competition and we got weights between about 44 open-source repos. And the amazing part was that all open source repo maintainers agreed with these weights saying that yeah like it could be better it could be worse but we like the process by which these weights were derived and they're roughly accurate. So I think so that's the approach that I've been advocating that humans are good at making decisions but we can only make a few decisions. AI is good at making many decisions but it may be unaligned with our preferences. So use the few human decisions to select the most aligned AI which then makes the many decisions. >> Okay, great. I think you've answered a bit of my question I was going to ask, but I want to talk about this process. How can we make it more ethical, right? That we're not letting our own biases at some point influence this decision or even like the data that we feed to the AI. So like do you have anything to talk about that at all? >> Right. So this actually goes into I've sat on many committees and something which I've noticed is that the people who have the most expertise also have the most conflicts of interest and so it almost feels tragic to me at some level that this person is clearly the most knowledgeable but he can't vote on this which is so sad but it has to be done because of conflict of interest and like them being biased. So I think like that's where the level what in cryptography there are two terms called confusion and diffusion. So confusion means that how you vote it's confusing the relationship between how you vote and how money is allocated. So to give an example which is maybe more clear assume that I'm a US senator and I want to help Elon Musk. There is no direct way for me to help Elon Musk. the most I can appoint a friendly FCC commissioner and that FCC commissioner gives a license to Elon Musk but I can't directly help him and that's a good thing we want that so the relationship between the senator and helping Elon Musk is confusing there's no direct way of them being able to do it so that's what we see in deep funding the AI competition approach where even if a judge has a bias towards one project they are just making local judgments between two repos which might not even include their own project, but even if it does include their own project, it's only being used to select the winning AI model, which might not even reflect their preferences. So the relationship between how the judge votes and which AI gets selected is confusing. And the second term is diffusion. So diffusion means that no one person can have a big impact on the mechanism as a whole. So even if one judge is super biased, they cannot have big impact because we have the property of diffusion. So confusion and diffusion are the cryptographic terms to try having in these mechanisms. >> Okay. And we're almost at time, but I wanted to ask more specifically around this process and how it relates to open source for open source project that may not always have this ability to use some cryptography and all of this. What would be a good way to do more ethical funding and remove that bias for the sustainability of projects in the long run? So basically I think of funding mechanisms as like a Netflix algorithm. A Netflix algorithm shows you what movie to see. So funding mechanisms show you how much money a particular project should get. And honestly the alternative to this which a lot of open source repos do today is the RFP process. And I've actually dug a bit deeply into the open-source funding outside of web 3 as well. And it basically operates through a request for proposals where in good times the RFP is a 2-year RFP. So you get funding for 2 years and in hard economic times they reduce the RFP time to just being 6 months which is terrible as a system. It basically means that you're operating in a cyclical manner where in bad times when repos need the most money and the most security of being able to work long they get a lower RFP of only 6 months and in good times they get an RFP of 2 years. So I think that's basically the existing system which a lot of open-source repos have. So our question is can we just build something better than that and I think funding mechanisms are better than that and sure you could do that in the web two way where you give money to bank accounts but I think cryptograph using the blockchain systems just make that much easier to actually automate and make it quicker. >> I do see this. I'm on an advisory board for a fun and yeah, now that you say it, I think about how in times that are good, projects are receiving more money or longer amount of time on their funds for grants. And then in harder times, it's harder. But then there's no mechanism in the current way of doing things for those projects to think about what they might want to save from their grant funding because it's all allocated to specific activities or specific things in grant funding. If you don't use, unless it's unrestricted core funding, which is really rare in open source that I know of, you have to use it for, you said you want to build feature X, you have to use the money to build feature X and you can't sort of say, well, actually, can we save some of this money just in case something happens unpredictable in the world or politics or something else? So yeah, it's really interesting to hear you talk about alternatives, but sadly we're out of time and maybe we can have you back for a longer podcast to talk about these alternatives in more depth. But for now, where can people find you on the internet to connect with you or to hear more about what you have to say on this? >> Yeah, so I write every day on Twitter. The handle is at the Dwancha. So that's where I share a lot of thoughts and we've built a community of people who are behind this idea. And if you're an AI developer, if you're an open source evaluator, you should join our Telegram group which is called agentallocators. So t.me/agentallocators. You can go to deepfunding.org and find all of this information. That's my pitch. Like if you are an expert, we want you to make local judgments. If you are an AI developer, we want you to submit models which allocate funding. That's the call to action for anyone hearing this podcast. And yeah, so that's where you can find me. I'm very easily available via DM, via Telegram, via Signal. >> Okay. And just before we say goodbye, is there a project that you haven't mentioned already that you want to again promote or is there another project that you want to talk about that's really meaningful to you in your work? >> Yeah, so we've actually the Ethereum Foundation believes in the policy of subtraction. So we don't want to be the ones building everything. We want to get others to accelerate them on their product journey. So in deep funding, we've worked with many partners. I'm just the coordinator, but the partners are one is a prediction marketplace called SEIR, which ran one of the rounds and is now running the $350,000 funding round using this mechanism. We worked with Pond, so crypto pond.xyz, which is running the AI competitions for us. We worked with drips and drips is a way of distributing money directly to GitHub repos. So probably forgetting some partners, but these are three that I really want to highlight and that have been a big help to us. >> We can always add them in the show notes afterwards. So everyone listening, please do check out the show notes. And with that, thank you so much for speaking to us, Dvanch. I've really enjoyed hearing about your processes and the steps and everything [music] that you're working on. It's been really fascinating and really cool to listen to you. >> Yep. Thanks for bringing me on., Episode 281: Devconnect 2025 With Devansh Mehta, SustainOSS, 01kh1zx3s3y41vkxj7gr0fj9hx.