I'm not sure that this is the right section for your post. Anyhow:
- An example is a soft fork that restricts the block size limit from 1MB to 500kB. Even though a 1MB block was previously considered valid, full nodes that upgrade to support this soft fork will reject any blocks larger than 500kB after the soft fork activates.
The above is a good example to illustrate the concept of forks and can help distinguish between a soft and hard fork. To quote Andreas Antonopoulos:
One aspect of soft forks that is not immediately obvious is that soft fork upgrades can only be used to constrain the consensus rules, not to expand them. In order to be forward compatible, transactions and blocks created under the new rules must be valid under the old rules too, but not vice versa. The new rules can only limit what is valid; otherwise, they will trigger a hard fork when rejected under the old rules.
Source:
https://github.com/bitcoinbook/bitcoinbookSo, in your example, blocks of 500 kB
restrict the rules and will still be valid under the old rules. Blocks of 500 kB will be still accepted by miners that didn't upgrade their software to the new rules.
But if the new rules were to
expand the block size limit from 1 MB to 2MB, it wouldn't be a soft fork any more because the large blocks would be rejected under the old rules.