diverging clients lead to systemic risks in bitcoin
Discussion
What kind of risks? Does this apply to different versions of core also? Because there are always a lot of nodes who update very late or never at all.
very subtle divergence bugs can create subtle hardforks even when it’s not intended
Is there a real example of this ever happening? Or is it theoretical?
Yes btcd has hard forked before accidentally I believe
Btcd has entirely different codebase. Knots has 99.9% of the Core codebase. They are not the same.
any divergence has this risk
Yes, and it negligible in the case of knots
I disagree, there are hundreds of unreviewed commits on top of knots
Start reviewing then
code review is very time consuming, would rather spend that time reviewing code from reputable developers on core, like nostr:npub1kyxqqqq8n2pu7f5pthr48zqcmr2k52vrud6wxzjpg0jsqcyhs3tshfc6vv nostr:npub1s6z7hmmx2vud66f3utxd70qem8cwtggx0jgc7gh8pqwz2k8cltuqrdwk4c and many others which i already neglect 🥲
I mean you’re the one that is looking for all sorts of ways to discredit Knots as a project. What better way to dunk on the rest of us by reviewing the code and point all the ways you think it’s crap.
Totally agree! It’s important to keep an eye on how different clients act in the crypto space. Let’s focus on understanding and improving the system for everyone! 💪✨
Then why aren't you fighting against this change?
Everyone using the same client is a huge risk to the network.
One bad update, a single mistake, and Bitcoin network could become compromised.
Why are you against diversity of clients?
It really does not make sense to be against decentralisation, like, that's the whole fucking point of Bitcoin.
No central bank. Decentralised.
Actually Satoshi was also against "diversity of clients".
“I don’t believe a second, compatible implementation of Bitcoin will ever be a good idea. So much of the design depends on all nodes getting exactly identical results in lockstep that a second implementation would be a menace to the network.” ~ (Satoshi Nakamoto).
Now the question is which client.
Pandoras box is open. Too late to close it now.
Interesting. Ty
We've had our test case... and it was indeed not a good idea... for the diverging implementation (i.e. Bitcoin Cash).
This is why neither Knots nor subsequent versions of Core have any incentive to diverge from consensus.
To clarify, bcash was a hard fork. Divergent node clients is an entirely different thing. I don't recall we've ever had any diverging clients to any material degree until knots. Closest thing is having some clients updating at different times. We don't definitively know, based on history, if diverging clients will cause problems.
Different consensus rules vs 99% core with a few patches that are directed to mempool policy are not the same thing. And I don't agree with this idea of putting Satoshi or Adam Back on a pedistal like they are some kind of God that we have to take their word as gospel. They are people. You are able to still take all information for youself, think critically, and come to your own conclusions.
👆 this!
There is WAY more 'systemic' risk in having only a single point of influence capable of making unilateral changes. The more clients capable of making changes only with respect to their de minimis sphere of influence, the better.
Appeal to authority notwithstanding, the results are in: a second implementation that doesn't provide identical results is indeed a bad idea... for the second implementation (see Bitcoin Cash).
This is how reckless core devs are being. The stakes are this high, yet for some reason appeasing shitcoiners is more important.
yes, but THAT IS WHY :-) any group that develops a client (such as core), should engage with the community to ensure everyone is onboard with specific changes. Obviously not every change will cause a significant amount of the community to start running a fork. Core obviously has more history and more funding and I'm not even a fan of luke, but it is not personal or about who. It is about what and the arguments.
I really dont know or dont care much about who in particular the developers are.
It's not and never was about
- staunch defenders
- or the bad guys
"Filters dont work" has been debunked. They do work. If they didnt, then why remove them? Bitcoin was just fine for the past decade without removing them.
You also havent answers to why you think removing them would help with decentralization - it seems the opposite will happen once BTC will be targeted by CSAM just like BSV was and less noder runners would want to be involved with it and only big players can and will filter those kind of transactions from their mempool, essentially causing centralization.
If you don't agree with that argument, you should be able to argue for why this is not a risk and also why removing filters will presumably help with more decentralization.
Core should not engage with community, thats not really possible. The community is the entire world. How exactly would you derive signal from that?
Community should get involved in dev, its the only way this works
Of course - nobody has to engage with the community.
If you don't you might find many people might stop running your node implementation if you do things they dont agree with.
So, one easy thing would be to try to explain any planned changes (especially if they are bigger and/or contentious) in a blog post and spread it on social media, so others can comment.
The point is mostly to collect all the various arguments that are being made or the criticism that might be observable and potentially mitigate or adapt the planned updates.
That way it is possible to avoid the issue.
There are many ways.
Open source is all about the freedom to fork and the world to choose what open source programs to run.
That is the democratic voting power of node runners and miners to keep the power of a single developer team in check and instead of discrediting that, it should be embraced.
Of course, core can move forward regardless and look down on any criticism if they think that will help them, but they should bear the consequences as well.
...could you maybe finally answers why or how core30 proposal is meant to achieve more decentralization or link to a resource that explains it? 🤷♂️