Replies (3)

every protocol change is a fork. some are hard (deprecation) some are soft (addition). segwit is soft, and witness discount is not a consensus rule, it's a transaction selection rule. a node can ignore the discount and prioritize transactions that pay the most.
I actually agree with you. We are not running Satoshi’s original code, and the 2010/2013 forks are proof. Code depreciates obviously. Bugs are discovered, implementations change, and sometimes forks are necessary to preserve the system the code was intended to express. What I’m trying to articulate is that “Satoshi’s code” is also Satoshi’s invariant logic. Bitcoin is a logic space defined by certain fixed references established at its inception. Fixing an implementation failure so that those invariants can continue to function is fundamentally different from deliberately changing one of the invariants themselves. Proof of work is the example. Bitcoin requires an immovable Genesis and a consistent measure of work relative to Genesis in order to construct a conserved chain of time and state. SHA-256 defines that measurement space. If SHA-256 were broken, changing it might become a question of preserving Bitcoin through necessity. SHA-256 isn’t broken. I don’t believe it will ever break, thus a true invariant measure. Changing the PoW function by choice because of a fork and difficulty wall changes what “work” itself means relative to the bits and satoshis already conserved in the chain. It’s fiat imposed to the logic space. So it’s not literally “have we ever forked Satoshi’s code?” Obviously we have. Are we forking to preserve the original logic through depreciation and failure, or are we using the ability to fork to change the invariant logic itself? BIP110 doesn’t need a POW change, it needs to deal with the difficulty wall honestly with honest work. I’m trying to treat “Satoshi’s code” as the original expression of an invariant logical space, not frozen depreciated code. That distinction matters.