Understanding Yjs: CRDT Data Structures, Conflict Resolution, and Real‑Time Synchronization
This article explains how Yjs implements operation‑based CRDTs using bidirectional linked lists and a struct store, details the YATA conflict‑resolution algorithm, describes transaction handling, garbage collection, undo management, and the two‑phase network synchronization protocol for building collaborative editing applications.