  OT (Operational Transformation) was invented for supporting real-time
co-editors in the late 1980s and has evolved to become core techniques widely
used in today's working co-editors and adopted in industrial products. CRDT
(Commutative Replicated Data Type) for co-editors was first proposed around
2006, under the name of WOOT (WithOut Operational Transformation). Follow-up
CRDT variations are commonly labeled as "post-OT" techniques capable of making
concurrent operations natively commutative in co-editors. On top of that, CRDT
solutions have made broad claims of superiority over OT solutions, and often
portrayed OT as an incorrect and inefficient technique. Over one decade later,
however, CRDT is rarely found in working co-editors; OT remains the choice for
building the vast majority of today's co-editors. Contradictions between the
reality and CRDT's purported advantages have been the source of much confusion
and debate among co-editing researcher sand developers. To seek truth from
facts, we set out to conduct a comprehensive and critical review on
representative OT and CRDT solutions and co-editors based on them. From this
work, we have made important discoveries about OT and CRDT, and revealed facts
and evidences that refute CRDT claims over OT on all accounts. These
discoveries help explain the underlying reasons for the choice between OT and
CRDT in the real world. We report these results in a series of three articles.
  In the second article of this series, we reveal the differences between OT
and CRDT in their basic approaches to realizing the same general transformation
and how such differences had resulted in different challenges and consequential
correctness and complexity issues. Moreover, we reveal hidden complexity and
algorithmic flaws with representative CRDT solutions, and discuss common myths
and facts related to correctness and complexity of OT and CRDT.
