Hacker News new | ask | show | jobs
by mriou 4468 days ago
I've heard that argument many times and all it does is reinforce the idea that no other implementation can work. And how you end-up with an implementation mono-culture. Forks of a single block happen regularly, it can be dealt with. A production system can detect a fork and check the reference implementation's behavior, preventing any longer fork.

The *coin ecosystem need more than one implementation, a single codebase can't cater to all uses. I should know, I'm an Apache member.

1 comments

Forks of a single block ("orphans") are expected due to block propagation taking a nonzero amount of time.

That's very different than the case where say 50% of the network is running bitcoind, and the other 50% is running btcd, and some transaction triggers an edge case in either implementation that causes one implementation to accept the transaction and another to reject it.

I think multiple compatible implementations would be great to have, but we don't have them at the moment, and in the meantime companies handling huge numbers of bitcoin transactions need a solution that works today. So I applaud the bitcoin-core team for catering to the increasingly common use case of using bitcoind only for consensus.

And it happened even only with bitcoin-core. Anyhow the 50/50% scenario across implementations is unlikely to happen if everyone seeing a new one cries forking wolf.

I do empathize with the need of solutions for today though. I was just thinking about tomorrow.

alternative implementations would mean you need consensus between different groups of developers holding the keys to the software. unlikely to be a good idea.