It is a bit like last-writer-wins, except it uses the block history count instead of timestamps. Clearly they lose a lot of user intents.
I feel like CRDTs are associated with intent preservation. Perhaps rule 2 ought to include that inconsistency resolution ought to not discard operations. That would also exclude LWW and the “empty string” merge as CRDTs.
Yes!
> if blockchains fulfill all three criteria, I don’t see why they wouldn’t count.
Blockchains definitely do not fulfill all three criteria!
> IMO semantic “intent preservation” is an application-level concern that can affect which CRDTs are chosen, but it’s irrespective of whether the underlying data structure is a CRDT.
You're correct!
Whether or not a data structure is a CRDT is entirely a function of whether or not its Merge operation is associative, commutative, and idempotent. Application-level concerns, including (but not limited to) semantic intent preservation, are totally irrelevant.
This discrepancy was pretty well documented in the Jepsen analysis of the Radix DLT -- https://jepsen.io/analyses/radix-dlt-1.0-beta.35.1
tl;dr: blockchains are not deterministic in the distsys sense
Either way, the standard blockchain algorithm doesn’t behave like that.
To be fair, I don’t have a stake in this beyond wanting unambiguous definitions.