1

Aren't all pull requests either one or the other - a soft fork or a hard fork?

2

2 Answers 2

2

Pull requests (PR) are requests to change code. Not all requests to change code are related to the validity of blocks or transactions. As Pietter Wuille said, only a very small percentage of PR do.

When code introduces a change in the rules of validity, we have a fork.

If nodes that don’t upgrade to the new code are still able to consider the new blocks valid, we have a soft fork. If not, we have a hard fork.

As a rule of thumb, everytime the PR thightens some rule, we have a soft fork. If the PR loosens some rule, we have a hard fork, but it needs to be analyzed case by case.

For example, an increase of block size (ex: 10 MB) would be a hard fork, since old nodes would not accept the new blocks (they are too big). On the other hand, if the change was to decrease the block size (ex: 0.5MB) that would be a soft fork, since old nodes would still accept the new blocks.

4

(I'm assuming this question is about pull requests to Bitcoin Core)

Bitcoin Core is just a software project, implementing lots of features, which is developed by a community of developers. While it is also the most common implementation of a fully validating Bitcoin node, that only comprises a tiny portion of its codebase, and an even tinier portion of its development work.

Software changes to fully validating nodes are only softforking or hardforking changes if they change what blocks are valid. The vast vast majority (I assume 99%) of all pull requests to Bitcoin Core do not touch the block validity code at all, and an even larger fraction (99.99%) do not change validity. Those that do will be very clearly labelled as implementing this or that softfork.

Instead, most code changes are for things like:

  • Wallet features
  • GUI improvements
  • Documentation changes
  • Making the code a bit faster
  • New tests
  • Build system changes

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.