Now that the PoS-merge is close, I tried to find out how to actually use it.
https://ethereum.org/en/developers/docs/nodes-and-clients/ says:
> After The Merge, both execution and consensus clients must be run together in order for a user to gain access to the Ethereum network.
Here are the lists of implementations of those two clients:
https://ethereum.org/en/developers/docs/nodes-and-clients/#execution-clients
https://ethereum.org/en/developers/docs/nodes-and-clients/#consensus-clients
So they do develop an execution client, commonly known as "geth". It's on their own GitHub: https://github.com/ethereum/go-ethereum
But the 5 consensus clients not only have websites which aren't ethereum.org - they are in fact also hosted on different GitHub accounts:
https://github.com/sigp/lighthouse
https://github.com/ChainSafe/lodestar
https://github.com/status-im/nimbus-eth1 (yes, this is also for eth2, see "About" at top right)
https://github.com/prysmaticlabs/prysm
https://github.com/Consensys/teku
Further, all of these 5 institutions seem to be companies from the looks of their website, not non-profit foundations. (Please correct me and pardon me if that is not true, I don't have the time to navigate through all these websites to figure out their precise legal status.)
So is it true that there is no official reference implementation to run the post-Merge, Proof of Stake Ethereum?
Only 3rd party software which is somehow endorsed but which you have to choose on your own still?
Sure, more choice can be nice, but it would seem advantageous to have at least one trustworthy reference client instead of the users having to decide which of 5 commercial entities they trust?
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/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!)
But from the perspective of someone who just wants to use the software it would be a lot easier if I don't have to sieve through 5 commercial websites.
Also: For the $ 1 billion they hold in assets [0] I'd expect them to provide at least one full set of usable software from it, not just specifications on how to write the software - which is what they seem to only be producing now?
They already cancelled their GUI wallet some years ago (https://github.com/ethereum/mist) which was kind of weird already considering that people did have money in it already.
But you could at least resort to using geth as a terminal UI client.
Now it seems ETH holders won't be able to access their funds using fully official software at all, which is kinda "meh", no matter if you're pro-crypto or against.
[0] Calculated with today's Ether price, based on: https://www.coindesk.com/business/2022/04/19/ethereum-founda...
Ethereum's aim is to be a neutral platform for exchange of value, as big and important as the internet. Having one company make the official client would undermine that.