Too many nodes run Bitcoin Core compared to other implementations, I think this is a weakness.
Would be nice to have a massive test suite that multiple implementations could run against.
reply
Here it is: #86415
Parent for full discussion: #86303
reply
There was a good discussion regarding this when the LND backend btcd had a consensus bug. Let me see if I can find it.
If I don't:
I think having one implementation is not a weakness but actually a strength. Making sure that all nodes run the same consensus rules is more important than to have multiple implementations imo.
reply
I disagree. Many implementations with a good distributions is preferable. It helps decentralization (even harder to make consensus changes) and any bugs will become an implementation bug instead of de facto consensus change.
reply
Thanks. That's why I suggested a massive test suite such that consensus bugs would be caught (how often does consensus code change?)
There must be gotchas- I'm clearly not very familiar with the implementations and tradeoffs
reply
There is a massive test suite that has tests that cover btcd bug and btcd was using them. The problem was the bug was in the networking code not the consensus layer code.
It is extremely hard to have an exact copy of the rules, you have to remember that if there is a bug in bitcoin core, that bug is a consensus rule. Competiting implementations is just really not a good idea. Ethereum has many implementations and one of they have consensus problems all the time.
reply
The problem was the bug was in the networking code not the consensus layer code.
Oh, didn't know that the taproot implementation is not part of the consensus layer.
Thanks for clarifying!
reply
It is a part of the consensus layer. The btcd bug happened because they were checking a segwit v0 rule against all txs at the network layer when they shouldn't have been
reply
reply