Recently, one of the bankless dudes said ETH is the only L1 that has multiple software clients:
The ETH people have a problem because more than 70% of staking happens with only one client. Obviously, running staking software is wildly different than running a bitcoin node, but it is also true that almost everyone who runs a bitcoin node runs Bitcoin Core.
2022-2023 were tough years for alternate implementations of bitcoin
In November 2022, BTCD had a bug that caused LND nodes to fall out of consensus with the lightning network and resulted in a fair bit of mayhem.
In August 2023, researchers discovered a vulnerability in a seed generation command in Libbitcoin that resulted in a number of wallets getting drained.
In the Bitcoin world, most of the resources go to Bitcoin Core and the other implementations are pretty much maintained by one or two key developers with far less review by the open source community.
And when it comes to bitcoin consensus, a minor error can lead to a fork--so the general response among bitcoiners to these bugs seemed unanimous, thank goodness 99% of Bitcoin nodes run Core!
Alternative Implementations for all the Wrong Reasons
In response to the tidal wave of transactions and data coming to Bitcoin from inscriptions, stamps, and BRC-20s, Luke Dashjr implemented a different set of filtering policies for the implementation he maintains, Bitcoin Knots. And the new OCEAN mining pool used Knots as it's bitcoin implementation for their mining software.
Whatever side of this debate you land on (to filter or not to filter), it exposes the reality that nonconsensus code (eg: mempool policy, relay policy) can be pretty important too, especially when you only have one client.
My Dilemma: Are Forks Worse than Centralization?
As bitcoin adoption increases, Bitcoin Core will come under more and more pressure. The people who currently maintain and contribute to it are awesome and do great work; however, Bitcoin Core sure looks like the choke point for the entire apparatus. We don't want mining too concentrated in one jurisdiction, we don't want a multisig with hardware from only one provider, so why do we feel okay with only one implementation?
I think it would probably be a net good for Bitcoin if we had a serious competitor to Bitcoin Core, but whenever I set up a node, I pretty much always run Core because I'd rather use the software with the most eyeballs on it. I'm sure this is calculus is true for most actors in Bitcoin: sure I'd like to see client decentralization, but I don't want to get forked off.
Do you see a world where a second Bitcoin client software emerges and gains significant (more than 20%) market share?