4 ms·
The groups writing client software are at least writing open source software, generally under liberal or GPL licensing. So there's that. They aren't selling t
by jlokier 4y ago
The groups writing client software are at least writing open source software, generally under liberal or GPL licensing. So there's that. They aren't selling the software, although they do tend to establish commercial relationships with some entities. Many of those groups work in companies that do something more commercial with other blockchains than Ethereum, though.
Some of the funding for the various implementations comes from Ethereum Foundation (EF) itself. It's not just Geth which is supported by EF funds, but Geth has a special place because of its history.
The Ethereum Foundation takes the view that "client diversity" of proof-of-stake validator implementations is a security requirement: https://ethereum.org/en/developers/docs/nodes-and-clients/client-diversity/ https://ethereum.org/en/developers/docs/nodes-and-clients/cl...
Shipping an endorsed EF implementation would undermine that requirement.
So instead, they publish and regularly update a spec, the major clients are all open source, to some extent the EF has sponsored the development of multiple clients, there is continuous interop testing between all the major clients going on, and the client teams meet at weekly EF meetings.
The next such meeting is today (the All Core Devs meeting), and it's conducted in public, you can listen in real time or afterwards on Youtube. You wouldn't see that if they were ordinary commercial companies.
Ideally they would like to see client diversity in the execution layer as well (Geth et al), and consider single-client (Geth) dominance to be a weak part of the system.
(I am writing an execution layer client that isn't in the list at the moment. Stealth mode, if you like. It's feature is extremely compact storage using a novel database structure, fast storage and network sync, and zk-EVM proofs will probably be coming. The organisation writing it (me) certainly isn't profit seeking with regard to this project (nor paid for that matter; it's a personal side project). Being able to fork and build on other groups' work, as well as test against them, is very useful!)
- RjQoLCOSwiIKfpm 4y agoThanks for your lengthy reply! This is all fine and good, but you're forgetting about a central aspect of reality: In the end, a user realistically has to decide for one piece of software. You can't expect a single user to store their money across 5 different vendor's software. Probably not even 2. So each user must decide. Now how are they supposed to do so? Throw a dice? Have randomness decide what secures potentially thousands of $ worth of your money? That seems like an impressively reckless thing to ask of your users. And beyond that it's just unrealistic. You can't expect that people will be fine with storing their money in an effectively random fashion. If money is involved, people will want clear guidance on what is the most secure way, not "what are 5 different ways of which we don't tell you which one is the best". If they decided to go for a sane approach and provide a known-good client, they could still develop N others and use them as unit tests to test the primary client against. Or just get people to use them without forcing them to do so. E.g. they could just ask users nicely.
- ChadNauseam 4y agoThis is like saying the problem with linux is that there’s too many distros. How do you expect users to choose one? How can you compete with Windows, which has one easy answer for what to install, when every linux user needs to first become an expert on whether they want to use arch, ubuntu, nix, debian, etc. I think it would be kind of silly to say that, because the whole point of linux is that it’s open and if you put the work in you can set everything up just the way you like it. Equivalently, the whole point of ethereum is that there’s no boss. Imagine if the EF could push an auto-update that everyone’s clients and wallets automatically pulled. If that were possible, ethereum would just be a centralized service with extra steps. If you want a centralized service for moving your money around, there are plenty. The single most important design principle of ethereum is that it’s not centralized, so saying “but it would be so much easier to use if it were a bit more centralized!” will fall on deaf ears.