pull down to refresh
130 sats \ 3 replies \ @launchwindow 13 Nov 2023 \ on: Help me answer a friend's question: are core maintainers a centralization risk? bitcoin
Bitcoin Core is overrated. I mean it's great, and it deserves a lot of praise, and the people working on it are super geniuses... But it's overrated in the sense that a lot of people mistakenly think that Core is essential to Bitcoin. It isn't. It's just one implementation of the Bitcoin protocol. There are competing implementations to Core... I think Luke maintains one called BitcoinKnots. There's also at least 2 implementations in Rust.
If the individual developers working on Core go off the reservation and start acting against the best interest of Bitcoin, people will just switch to another Bitcoin implementation... And by "switch" I mean both node runners will switch and also the funding and grants will move.
Anyways, that's my 2 sats.
I think Luke maintains one called BitcoinKnots. There's also at least 2 implementations in Rust.
A very important difference between Luke's Knots and the Rust implementations is that Knots shares all the same consensus-related source code with Bitcoin Core. The Rust implementations are total rewrites. Threre's a long, long, history of people attempting to rewrite Bitcoin Core in other languages and failing. Computer science just isn't ready to get the levels of compatibility necessary between code bases necessary for Bitcoin to function.
This means that while Knots is a potential alternative to Core, the Rust implementations (and all other rewrites) just aren't. If miners started using them, we'd get massive consensus failures.
reply
Fair enough. Yeah maybe my previous post was too hand-wavy... AFAIK there is no implementation with bitwise symmetry to Core's consensus.
I guess if Core went rogue there would be disruption to global consensus, but my overall point is that theoretically there's nothing that stops everyone from abandoning core and migrating to an existing or a new alternative in the future.
I think there's even compelling reasons why Core should be abandoned in the future for a memory safe alternative like a rust implementation because of security reasons alone. I think ~30%+ of CVEs are memory safety issues, which a Rust implementation (with its own consensus engine) would be immune to by default.
reply
Bitcoin Core has a good track record with memory safety. So its not clear that Rust would be worth the risk of consensus failures in this case. But maybe. Certainly if you are going to take the risk, Rust would be maybe the only language worth switching to from C++.
reply