Pages:
Author

Topic: Questions about soft fork - page 3. (Read 634 times)

legendary
Activity: 3430
Merit: 10505
February 20, 2023, 12:38:38 AM
#4
Please correct me: a soft fork means stricter rules. Taking the current rules, and adding more, but without invaliding the previous.
Correct. Soft fork is all about adding more rules/restrictions to the consensus rules. We could view it as limiting the number of things that are valid. For example previously dummpy item for OP_CHECKMULTISIG could be anything including OP_0 but now it is limited to only OP_0.

Quote
Does that encourage old clients to switch to new version, since they might hear on blocks that are likely to reorg?
It should because they can no longer be considered Full [Verification] Nodes since they no longer "verify everything".

Quote
What could be the excuse of a non-Segwit node to stay in non-Segwit?
I can think of two reasons:
1. Laziness
2. Trying to avoid bugs in new releases eg. (usually done by running multiple versions)
legendary
Activity: 2380
Merit: 5213
February 19, 2023, 03:21:44 PM
#3
If the change is backward compatible, it's a soft fork.
For example, the taproot upgrade was a soft fork, because you didn't have to upgrade your software and you could still use the older version of bitcoin core. If you are a miner, you can still mine the blocks with an old version of bitcoin core. (Of course, if you are miner and use an old version of bitcoin core, you would miss taproot transactions).

If the change isn't backward compatible, it's a hard fork. For example, in 2010 there was an upgrade for fixing a bug and all nodes had to upgrade their software.
full member
Activity: 161
Merit: 230
February 19, 2023, 02:38:03 PM
#2
A soft fork is backwards compatible and works transparently with older software. A hard fork is not backwards compatible and breaks older software.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
February 19, 2023, 01:39:27 PM
#1
I've had a time comprehending the main difference between soft fork and hard fork. Please correct me: a soft fork means stricter rules. Taking the current rules, and adding more, but without invaliding the previous. For instance, SegWit was a soft fork, because it added another rule which, according to the non-upgraded clients was valid.

Question: is the invalidation of an old, valid rule considered part of soft fork? Yes, according to the wiki. So, you can mine an invalid block, that is valid in old clients terms, and broadcast it in the old client network. Does that encourage old clients to switch to new version, since they might hear on blocks that are likely to reorg? What could be the excuse of a non-Segwit node to stay in non-Segwit?
Pages:
Jump to: