This ^^^Dave Scotese on btc dev ml rise interesting questions on soft-forks.
"Why are they called soft forks when they are really hidden forks? Isn't
the point of a soft fork to prevent old clients from rejecting what they
don't have the code to validate? That seems dangerous."
There is no such thing as a hard or a soft fork, they are all forks in that they change the functional behavior of Bitcoin. The only difference is whether or not the fork needs to be explicitly accepted by participants by upgrading to a newer version with the new functionality, or if the fork is ignored by a client. Soft forks are simply forks that happen without participants acceptance or even visibility. This is not Satoshi's vision.
Satoshi's vision was two fold. 1) That all participants have equal access to the system. This means that all individuals (no matter how small) can directly access the system, have symmetrical information, etc. (opposite of our banking system today) 2) That all participants have the ability to accept or reject elements of the system by having the ability to validate the system directly, and by doing so force there to be broad public consensus with acceptance by many (i.e. no small group can force behavior on others).
The current bitcoin core violates both of these. It limits blocksize which violates 1 above, and it accepts transactions that it does not validate which violates 2 above.
During my month off posting, I almost launched a new Bitcoin Core fork called "Satoshi's Promise" that would have simply changed bitcoind to accept any sized block (i.e. no limit) and to reject blocks with unknown opcodes. This is the default behavior that matches the paper I bought into and signed on for. And yes, the Blockstream crew should be forced to gain broad participate acceptance of their CHECKLOCKTIMEVERIFY opcode. Something tells me that without hidden forks there is not enough consensus to make the change.
Last edited: