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
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
Thanks!
reply