In a recent post on bitcointalk, I stated that focusing solely on the forking risk created by alternative implementations is a red herring because, while there is certainly risk involved, it is merely a symptom of a more fundamental issue that all implementations, including Bitcoin Core itself, suffer. This statement seems to have confused a few people, so, in this blog post, I’d like to delve a little deeper into why this is the case, identify what the real underlying issue is, and offer a potential solution.
First, let’s establish a few baseline facts that, to my knowledge, everyone agrees with:
- Every fully-validating node on the network must follow the exact same consensus rules or a fork will occur
- The consensus rules are complex and contain various non-intuitive corner cases, some of which probably still have not been identified
- Chain forks can be abused to create double spends and generally wreak havoc
- Every new version of Bitcoin Core carries some level of forking risk (if there is any doubt about this, see the March 2013 fork that already happened)
- Alternative implementations carry some level of forking risk