CRDT
一种分布式计算中的数据结构,无需中心协调节点即可在多个副本间实现最终一致性,常用于协作编辑和分布式系统同步场景
核心事实
时间轴 (近 90 天)
Ink & Switch 在 CRDT、端到端加密协作、可编程画布等前沿方向有诸多探索
《Local-first Software》论文直接推动了 Automerge 等开源 CRDT 库的广泛传播
Ink & Switch 研究团队在 2019 年发表了论文《Local-first Software》,对 CRDT 在协作工具中的应用做了系统梳理
Git-bug 的 bridge 机制采用类似 CRDT 的思路,将每次操作记录为不可变事件流,以实现多端并发修改时的确定性合并
Capsule 目前采用的 UUID + 时间戳方案是一种最后写入者胜(Last-Write-Wins)策略,尚不是完整的 CRDT
CRDT数据结构天然支持并发写入,不需要中央仲裁节点串行化操作,降低协作延迟并提升离线场景鲁棒性
Figma的协同编辑基于CRDT(无冲突复制数据类型)技术,与OT算法相比不依赖中央服务器进行冲突仲裁
Automerge由Ink & Switch核心成员Martin Kleppmann主导开发,提供类JSON的CRDT文档模型
Zed内置CRDT算法支持实时多人协作编辑
实现真正的 Multiplayer 体验需要解决实时同步(通常基于 CRDT 或 Operational Transformation 算法)、状态管理和冲突解决等底层技术挑战
还有 12 条时间轴事件
全部知识事实 (20)
Local-First是由Ink & Switch实验室在2019年提出的软件设计理念,核心原则是数据主要存储在用户本地设备上
80%已验证实时协同产品的核心算法是 OT(操作变换)或更现代的 CRDT(无冲突复制数据类型)
80%已验证Zed内置CRDT算法支持实时多人协作编辑
75%已验证CRDTs(无冲突复制数据类型)通过确定性且满足交换律的合并操作实现本地存储与多设备协同的兼顾
75%已验证Google Docs 采用 OT(操作变换)技术,而 Figma、Linear 等新一代协作工具转向了 CRDT
70%已验证Automerge和Yjs是两个最广泛使用的开源CRDT库
70%已验证Google Docs背后使用操作转换(Operational Transformation, OT)算法,Figma采用CRDT(无冲突复制数据类型),都通过实时传播操作意图来规避冲突
65%待验证Zed的实时协作功能采用了CRDT(无冲突复制数据类型)算法
90%待验证CRDT(无冲突复制数据类型)由Marc Shapiro等人于2011年正式提出,其数学基础是格理论(Lattice Theory)
60%待验证Ink & Switch 在 CRDT、端到端加密协作、可编程画布等前沿方向有诸多探索
50%待验证Ink & Switch 研究团队在 2019 年发表了论文《Local-first Software》,对 CRDT 在协作工具中的应用做了系统梳理
50%待验证《Local-first Software》论文直接推动了 Automerge 等开源 CRDT 库的广泛传播
50%待验证Git-bug 的 bridge 机制采用类似 CRDT 的思路,将每次操作记录为不可变事件流,以实现多端并发修改时的确定性合并
50%待验证Capsule 目前采用的 UUID + 时间戳方案是一种最后写入者胜(Last-Write-Wins)策略,尚不是完整的 CRDT
50%待验证CRDT数据结构天然支持并发写入,不需要中央仲裁节点串行化操作,降低协作延迟并提升离线场景鲁棒性
50%待验证Figma的协同编辑基于CRDT(无冲突复制数据类型)技术,与OT算法相比不依赖中央服务器进行冲突仲裁
50%待验证Automerge由Ink & Switch核心成员Martin Kleppmann主导开发,提供类JSON的CRDT文档模型
50%待验证实现真正的 Multiplayer 体验需要解决实时同步(通常基于 CRDT 或 Operational Transformation 算法)、状态管理和冲突解决等底层技术挑战
50%待验证Zed联合创始人Nathan Sobo此前在Atom编辑器时代就深入研究过CRDT在文本编辑中的应用
50%待验证Zed采用CRDT方案解决实时协作中的冲突问题,相比Google Docs的OT算法,CRDT对网络延迟和离线场景有更好的容错能力
50%