Hacker News new | ask | show | jobs
by rjeli 769 days ago
I’ve always thought it was strange that btc community encourages only running core, rather than having several implementations to make consensus more robust
4 comments

Wouldn't having a handful of alternate implementations running suffice in making "consensus more robust"? If there's some bug in core, all it takes is one alternate implementation to catch it.

At a more practical level, there's a strong incentive to go along with whatever bugs are present in core, either as a miner or a user (ie. someone making transactions). If there's a consensus disagreement and you're in the minority, then it's basically becomes a hardfork and your side would have a fraction of the hashrate. This isn't too bad if you're just transacting, but if you're a miner this is catastrophic because all your blocks are wasted, because your side of the fork has no chance of being the longest chain, due it it having minority of the hash power.

Satoshi Nakamoto said this about other implementations:

"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. The MIT license is compatible with all other licenses and commercial uses, so there is no need to rewrite it from a licensing standpoint." [0]

I can see the dangers, but multiple implementations looks healthy to me.

[0]: https://www.bitcoin.com/satoshi-archive/forum/bitcoin-forum/...

It's not that strange. People tend to use what is popular.

There are several implementations of core across various languages, not including custom forks of core.

It's because Blockstream is corrupt.