[patch] Switching Bitcoin Core to sqlite db



Summary:

In an email exchange between Gregory Maxwell and Peter R, the issue of using multiple database technologies in blockchain was discussed. The problem with this is not that one node would prove a block as valid while another proves it invalid, but rather that one node may say "valid" while the other says "I don't know". It was noted that some errors can be detected, while others are undetectable.There are two types of consensus failures to consider: Type 1 where one implementation says "yes" or "no" while the other says "I don't know", and Type 2 where one implementation says "yes" and the other says "no" due to a bug. It was noted that Type 1 consensus failures can be safely dealt with, while Type 2 failures are more severe but less likely. Multiple competing implementations were suggested as a solution to these issues. In the event of a Type 2 failure such as the 92 million bitcoin bug from August 2010, it was suggested that Core should accept a rogue transaction that creates more bitcoins and let other implementations fork away from it as opposed to having bug-for-bug compatibility.


Updated on: 2023-06-11T00:37:19.468017+00:00