pull down to refresh

does the fundamental method of how Bitcoin works changed since Satoshi said this? it still needs a global consensus via lockstep operations.

did we not just have a menace “diverse” client like knots fork off the network? this will happen again and again as long as we keep looking for “client diversity”.

what is different now than in 2010 when Satoshi wrote this?

I personally believe this advice to be evergreen, and every single time it’s the same result.

The way how bitcoin (now Bitcoin Core) is governed has fundamentally changed.

reply

sure, governance always changes in a project because it is tied to its people interacting with it. Conways law: “organizations design systems that mirror their communication structures”.

but I am talking about distributed systems and global consensus, an emergent property of software. It’s gotta be the same, or the system breaks. This is always going to be true.

What political (not technical) operators want is multiple clients so they can subvert the apparent failings in the governance model. It’s as sensible as trying to control the laws physics with the laws of man.

reply

I don't think I'm a political operator, yet I want to have multiple clients, and in my own naive self reflection, I want it to protect against political operators.

Bitcoin Core is a project. It has a human organization that manages it and there are privileges. Yesterday, privileges got revoked in that org for one of its members (I'm withholding my opinion on whether that was a good or bad move, because I didn't inspect all the evidence.) Earlier, other privileges were also revoked, like the privilege to comment on pull requests and issues.

Under these circumstances, no matter if the decisions are right or wrong, there must be a hedge against potential abuse of power. There undeniably is power. I do not grant the admins of github.com/bitcoin power over my sats, and thus, a second implementation, or a copy of the first one, maintained by someone else, must be possible. If this is fundamentally impossible, then I am a slave to an opaque organization and that is unacceptable, for me. It means I am captured and I didn't go through all this trouble to get captured.

Luckily, per the license I am granted the right to fork the code and maintain it myself, or change it in any way I want, and so are you, and everyone else. However, since Bitcoin's core protocol requires 100% agreement, there are caveats and it means that running anything other than what the majority runs must be ran with great care. And a plan what to do when consensus breaks. If you don't have that plan, don't run an alternative implementation, or at least something that didn't change the code in src/consensus, which is a great refactor that took 10 years to realize, thus far.

reply

why would a rational actor ever take the risk -- needing a plan when the consensus breaks, having to make special preparations in order to run an alternative client?
One is only making work for themselves, and introducing a mitigable risk.

This work is not proof of work or good work. Is this something that we should be pushing to the masses?

I accept that you can take the bitcoin client and make your own client, and if you have the skills to do so, this is a worthwhile educational activity. For many years, folks would do exactly this and launch alt-coins. Luke-Jr learned a lot about the protocol from making Knots. But it wasn't created for educational purposes, it was created so he could influence and manipulate bitcoin.

And you have to ask yourself why btcd/btcsuite was created also. It was created by alt-coiners, who wanted to influence Bitcoin. They eventually moved their ideas to an alt-coin. I see a pattern here.

Client Diversity is a undesirable property in a distributed system that existentially relies on lock-step behavior. Client Diversity has always been used as an argument for individuals and small groups to attempt to subvert the main project for their own agenda. We saw it here, we saw it in Ethereum, we saw it in other alt-coin projects.

reply

Let there be clients. Ideally 2-3 strong ones for balance of power.

If some want to fork off, let them go and economic nodes will decide which fork to follow.

Satoshi is not God whose texts we should interpret literally, and he couldn’t foresee the events of 2025/26.

reply
why would a rational actor ever take the risk -- needing a plan when the consensus breaks, having to make special preparations in order to run an alternative client?

Because otherwise you have to make a plan what to do when the political actors strike. Trusting can only take you so far, and not having a plan is not only incompetent, it is negligent if anyone depends on you. In the world where I live, it is normal to have a plan for mitigating things that put you at risk. If you depend on Bitcoin Core, for whatever reason and in whatever way, you need a hedge. I don't depend on Bitcoin as much as I used to, but not depending on a single thing (i.e. running multiple nodes) helped me a lot.

Is this something that we should be pushing to the masses?

No. I'd not recommend anyone to run an alt client if they have no idea what they're doing, which is arguably 90% of the people that identify as "bitcoiner". In fact, what masses? Masses aren't ready to do anything with bitcoin because the masses don't need Bitcoin - they'd not know what to do with it.

However, since you were so kind to project value statements to my explanation, which was 100% made in good faith, let's end this discussion. We're not going to agree, especially since you keep on reusing satoshis words. Those aren't your own unless you are satoshi, the latter would be extremely funny.

reply

No offense was meant, and I am not trying to project anything onto your statements!
I appreciate the interaction and opportunity to debate this with you. Its something i deeply believe in from my time observing the network, and your perspective is valid and adds to the conversation.

haha, i am not satoshi! I wish I had 1% of the skills of SN!

reply

No worries.

FWIW, Bitcoin Core takeover risk is pretty low on my list. On the top right now is defending deployments from intrusion, which is getting harder with all the slop code I have to look at to form an opinion.

I'm personally running 2 core nodes (of different versions and with different customizations) at this time, but that is also because my exposure is reduced.

reply
127 sats \ 1 reply \ @Scoresby 11 Aug

The menace quote came up a lot back when btcd had the bug that caused a chunk of the lightning network to crash. And then there are the people who say that we all need to match the reference client "bug for bug." I can see the merit of that approach, but I'm still not convinced that the risk of some portion of nodes crashing isn't better than the risk of a single implementation.

reply
we all need to match the reference client "bug for bug."

on consensus? there's no alternative.

reply