Does Bitcoin require or have an honest majority or a rational one? (re rbf)



Summary:

When code reviewing a change to a complex system, rather than analyzing the change independently, it's common to decide whether it's better or worse than what currently exists. This approach also applies to introducing new features with noncritical bugs in UX. It's sometimes better to release these features for users who need them and fix the bugs later. When proposing changes to Bitcoin, it's important to review them as "better or worse" rather than focusing on perfectly aligned incentives promoting honest behavior among selfish actors. Bitcoin currently functions through a series of incentives, particularly regarding node operators. Therefore, taking an improvement-focused approach allows the system to slowly improve over time instead of remaining stuck. The discussion among members of the bitcoin-dev mailing list revolves around assumptions that underpin the operation of Bitcoin. Jeremy Rubin argues that while Satoshi Nakamoto's whitepaper serves as a social contract for minimal agreement about what Bitcoin is, differing assumptions require changes that must be soundly proven. He adds that such changes must demonstrate that they support the claims made by adhering to the rule set, which should be incentive compatible. Russell O'Connor disagrees, saying that assuming an honest majority is not enough, and the rules must be incentive-compatible for the system to function correctly. O'Connor expresses concern about mining stability, particularly in low subsidy environments. He notes that constructing situations where not mining on the tip is preferable is possible, but it doesn't immediately collapse the protocol. Instead, mining off the tip is indistinguishable from being a high latency miner who didn't receive the most work block on time. Therefore, reducing the chances of such situations arising when necessary is key, such as leaving some transactions out based on current mempool conditions or leaving an explicit ANYONECANSPEND transaction output as a tip for the next miner to build upon mined blocks.


Updated on: 2023-06-16T01:52:34.654682+00:00