If OFAC demanded that no US entity build on top of a block with a sanctioned TX included, would it cause a soft fork?
I think you meant a hard fork.– bordalixAug 21, 2022 at 6:42
2No, it would be a soft fork. A soft fork means the rules become stricter, whereas a hard fork widens them. An OFAC-compliant consensus-valid block would still be considered valid by nodes that are not aware of OFAC.– stickies-vAug 21, 2022 at 16:20
The term "soft fork" is a shorthand for "soft forking consensus rule change". One aspect of such a consensus rule is miner enforcement of the new rule, but miners on their own just deciding to enforce a rule without the rest of the network going along with it is not a rule change - it's just censorship. The distinction being that it can be reverted: if miners stop enforcing this rule, or if those miners get replaced by non-enforcing ones, the change is reverted.
Thus, the real question is whether validation nodes go along with it too.
- If a minority of the hashrate enforces OFAC (which includes refusing to build on top of non-OFAC blocks or their descendants), but nodes do not adopt the change, then a minority OFAC chain will appear, which is just miners choosing to make themselves irrelevant, as this minority chain will be ignored by everyone else. This is not a rule change, as transactions are unaffected by it entirely.
- If a minority of the hashrate enforces OFAC, and some (or all) economically relevant nodes go along with it in the form of a soft-forking consensus rule change, then an actual soft forking rule change happens: two currencies will appear, an OFAC and a non-OFAC one, with possibly independent exchange rates between them. The nodes that adopted the OFAC rule now see their transactions restricted to being OFAC compliant.
- If a majority of the hashrates enforces OFAC, but nodes do not adopt any rule change, there will only be a single OFAC-compliant chain, but only as long as this OFAC-hashrate-majority lasts. When the miners stop enforcing this rule, or they get replaced by other miners who don't, the enforcement goes away with it. This is not a rule change, but it does mean a miner-enforced censorship even to nodes who don't opt into OFAC-compliance, for as long as it lasts.
- If a majority of the hashrate enforces OFAC, and a significant portion of ecnomically-relevant nodes do too, then it is a true soft-forking change, which results in OFAC becoming the rule of the network, for everyone. It's possible an active further fork appears that rejects this OFAC chain, but there would need to be an active choice by non-OFAC nodes and miners to go this route.
The only cases in which transactions are permanently affected by such a rule change is when economically relevant nodes also enforce OFAC-compliance. Any situation in which it's just enforced by miners is temporary, or irrelevant.
Also note that in order to speak about OFAC-compliance as a consensus rule change, it must be exactly defined what this means. Arguably, any change to the OFAC sanction list would be a new consensus rule, with again forking risk. Removing an address or other criteria from the list, if previously enforced by the network, would arguably be a hard fork, where even a majority enforcing it could lead to two chains.
Since OFAC compliance means a strict tightening of the rules, this would indeed be a soft fork by definition. Whether or not this soft fork leads to an actual chain split depends on how much hash rate enforces OFAC compliance.
If a majority of hash rate is OFAC compliant, there should not be a chain split because the OFAC compliant blocks are valid for non-OFAC miners too, so everyone agrees on what the most PoW chain is. If OFAC hash rate is less than the majority, there would likely be a chain split since the non-OFAC compliant chaintip grows larger than the OFAC compliant chaintip, and the OFAC miners would reject the non-OFAC chaintip.
See for example this related question: Why is a softfork unable to divide the network?