I've read the following:
Both forks create a split, but a hard fork creates two blockchains and a soft fork is meant to result in one.
Let's consider 2 situations:
block size max limit is 1mb and bitcoin introduced a new version which increased block size limit by 1, so it's 2mb now. Now, this is called hard fork, since new versions wouldn't be compatible with the old ones, because when new versions solve a block (let's say 1.5mb), old ones wouldn't accept it. (NOTE: if old ones send blocks to new ones (since old ones would only solve blocks with less than 1, new ones would always accept it)); So new ones can't communicate with old ones, but old ones can with new ones.
block size was 1mb and now, we decreased it by 0.5, so it's 0.5mb now. Now, new versions are compatible with the old ones, because, new versions would always solve blocks with 0.5mb or lower and when they send it to old ones, they would accept it. (NOTE: when old ones send blocks to new ones (since old ones might solve block with 0.8mb, new ones wouldn't accept it)); So, new ones can communicate with old ones, but old ones can't with the new ones.
Do you agree with the above? If so, why in my first sentence, does it say: that a soft work is meant to result in one
? It won't result in one, since when old ones solve blocks bigger than 0.5mb, new ones wouldn't accept it, so we still would have a different version of blockchains. Any idea?
UPDATE: @Murch, you say in the second one that since the small blocks(from new nodes) are acceptable to the old nodes, big block nodes will reorganize to the small block chain.
If 5% minority(which work on old big block chain) solves a block, only those 5% nodes will add it to their chains. 95% wont, since they have smaller limit on block size. Now, 5% minority nodes have the last block different from the last block of 95% majority.(length of both chains are the same - that could have been since after splitting the chains, 5% solved it in the same seed as 95% on their respective chain). if 95% majority now produces a new block, and share it to 5%, they still won't add it because this newly shared block's prev hash won't match their last block's hash. So in this case, 95% majority will produce a newer block faster(at least now, the lengths are not the same), so now, majority will share 2-3 blocks to minority since they have the longest chain and that's why minority will adapt to majority's chain in the end. Is my explanation and understanding correct ?