破除迷思,揭示真相:分布式和点对点协同编辑中的OT与CRDT之争

本文旨在澄清OT与CRDT普遍存在的迷思和误解,并阐明分布式和点对点协同编辑的真实情况,为现实世界中的协同编辑技术进步提供必要的清晰度。原文来自于Prof. Sun(已获授权进行翻译)发表在Medium上面的文章《Debunking Myths and Unveiling Facts: OT vs. CRDT in Distributed and Peer-to-Peer Co-Editing》

1. 迷思:在点对点协同编辑中,CRDT比OT优越

在协同编辑领域,一直存在一种观点,即CRDT是分布式协同编辑的关键技术,CRDT与OT的主要区别在于CRDT能够支持“点对点协同编辑”(P2P Co-Editing),并且在这方面优于OT。支持这些说法的常见论据是:OT需要一个中心服务器(如Google Wave/Docs),而CRDT可以脱离中心服务器运行。

然而,这些说法不仅与事实不符,而且极具误导性。在协同编辑社区,尤其是在新人中,造成了严重的混淆。这些误解源于多种因素,包括对分布式协同编辑知识的普遍缺乏,以及错误信息的反复产生和传播。

2. 点对点协同编辑的关键因素

2.1 操作传播的约束

无论是OT还是 CRDT 协同编辑解决方案,都有一个共同要求:编辑操作必须按照它们的因果顺序执行,以确保因果关系得以保留。这种顺序基于happen-before关系,并通过合适的分布式计算技术(无论是客户端-服务器还是 P2P 模型)来实现,这与OT或CRDT本身是无关的

只有像WOOT这样的CRDT变体,才会偏离这种通用的因果排序条件,并施加特定于 WOOT 的执行条件。但所有其他的 CRDT 变体(如 RGA、Logoot)以及所有 OT 解决方案,都遵守通用的因果排序条件。因此,因果有序的操作传播和执行是 OT 和 CRDT 解决方案共享的共同要求,不能作为区分两者的因素。

2.2 对中心服务器的要求

CRDT 解决方案并没有明确要求一个通信服务器,但除了 WOOT 之外的所有方案,都假设存在一个外部的、能保持因果顺序的通信服务。

另一方面,某些OT解决方案(如 Google Wave/Docs)确实明确要求一个基于转换的服务器来执行部分转换并广播操作,这些被称为“基于服务器的OT解决方案”(SOT)。CRDT 的支持者经常引用这些SOT来断言OT依赖服务器。

然而,大多数 OT 解决方案,被称为“无服务器或分布式OT解决方案”(DOT),并不需要中心服务器来执行任何转换工作。它们依赖于一个外部的、保留因果顺序的通信服务,这与大多数 CRDT 解决方案所采用的方法本质上是相同的。

对服务器的要求仅仅是单个解决方案的特性,而不是区分OT和CRDT的普遍因素。事实上,OT 为开发者提供了在SOT和DOT之间灵活选择的自由。现存协同编辑系统中普遍采用的客户端-服务器架构,主要是为了支持共享文档存储、会话管理和消息通信等协作需求。

2.3 基于矢量 vs 基于标量的时间戳

另一个常被提及的因素是 OT 或 CRDT 解决方案中使用的是基于矢量(每个协同编辑站点一个元素)还是基于标量(独立于站点数量)的时间戳或控制机制。

然而,OT 和 CRDT 解决方案中都采用了基于矢量和基于标量的方法,因此这也不是区分两者的标准。例如,RGA 采用矢量时间戳,而 Logoot 使用可变长度的对象标识符。在OT领域,dOPT、GOT 等使用矢量时间戳,而 JUPITER-OT、POT 等则使用标量时间戳。

2.4 断言CRDT在点对点协同编辑中具有优越性是一个谬论

综上所述(见Table 1, 读者可以在文献[1]中找到更多表中引用的文献),所有与P2P协同编辑相关的关键因素,包括对中心服务器的要求、因果有序通信以及矢量/标量时间戳,都独立于采用OT还是CRDT方法。这些因素只是单个解决方案的特性,无法作为区分OT和CRDT的通用标准。因此,断言CRDT在支持P2P协同编辑方面具有优越性是一个谬论。

3. 关于分布式OT解决方案的误解

尽管分布式 OT 解决方案已经非常普遍,但某些误解仍在困扰着人们对这项技术的理解:

  1. 分布式OT解决方案固有地要求转换函数保持特定的转换特性(如 CP2 或 TP2),这已知会导致某些复杂性。

  2. 分布式 OT 解决方案必须使用矢量时间戳,这被认为不适合 P2P 协同编辑。

事实:POT 和 TIBOT/TOBOT2.0 等分布式 OT 解决方案证明了这些误解是不成立的。它们不需要组合转换函数保留 CP2,并且采用的是标量时间戳,而非基于矢量的。

4. 关于交换性的迷思

另一个与 P2P 协同编辑相关的误解围绕着 OT 和 CRDT 在协同编辑系统中实现并发操作交换性的方式。

4.1 CRDT的“原生交换性”

CRDT 通常被描述为一种保证“并发操作彼此交换”的数据类型。然而,交换性的概念在协同编辑中并不是新鲜事。早在CRDT出现前十年,OT就以能够使复制文档中的并发编辑操作具有交换性而闻名。

为了将CRDT与OT区分开来,CRDT的支持者提出了“原生交换性”的论点与OT事后通过转换实现交换性不同,CRDT使并发操作天然地具有交换性,从而从设计上规避了不一致性和冲突问题。

然而,CRDT 这种所谓的原生交换性在协同编辑中,实际上是一个误解。CRDT 内部的核心组件,无论是内部对象结构、基于标识符的操作,还是对象序列搜索和操作方案,都不是任何编辑器的原生特性。此外,CRDT 无法规避文本协同编辑中位置偏移或重叠冲突的问题。相反,CRDT 也必须通过转换来处理相同的不一致性问题,并使基于位置的并发操作具有交换性,尽管是以间接且复杂度更高的方式。

4.2 CRDT的“通用交换性”

关于 CRDT原生交换性的争论中,又出现了新的变体,暗示:“OT算法通过比 CRDT 使用的通用交换性更具限制性的规则来重新排序并发操作,从而实现操作的重新排序。”

这种 CRDT 的“通用交换性”论点是含糊不清的。它没有解释为什么OT所支持的交换性比 CRDT 更具限制性,也没有说明这种差异会如何影响实际应用。更重要的是,这个论点的提出者似乎不知道存在大量OT解决方案,它们能够在不需要重新排序并发操作的情况下实现交换性。

4. 关于OT实现分布式协同编辑的事实

从历史上看,第一个 OT 解决方案 dOPT(分布式操作转换)早在 1989 年就问世,它是一种分布式乐观并发控制解决方案,无需中心服务器。尽管后来出现了一些基于服务器的 OT 解决方案(如 Google Wave/Docs),但大多数 OT 解决方案(如 adOPTed, GOT, POT 等)都延续了 dOPT 的分布式性质,作为分布式 OT 解决方案在运行。

关键事实是: 许多协同编辑系统和产品,包括早期的基于 Web 的纯文本编辑器 REDUCE、桌面生产力工具 CoWord/CoPowerPoint,以及近年的 Web 富文本协同编辑产品,都是基于无服务器或分布式 OT 解决方案构建的。

5. 结论

“在本文中,我针对与点对点(P2P)、分布式和可交换协同编辑相关的几个常见迷思和误解进行了阐述,并提供了相应的、汇总在下表中的事实。”

正如本文所强调的,这种反复制造和传播错误观念的模式,严重阻碍了协同编辑领域的进步,亟需依靠集体的力量进行纠正。我们坚信,对协同编辑领域现有知识达成深刻而准确的理解,对于消除这些误解至关重要。同样关键的是,我们必须承诺基于可靠、全面的事实来构建论点,避免误导性主张和毫无根据的断言。维护这些原则,对于将我们的进步牢固地锚定在既有的先进技术基础之上至关重要。

在不断发展的协同编辑领域中,新的解决方案提案层出不穷。为了产生持久的影响,任何提出的解决方案必须通过超越或补充现有先进解决方案的能力来证明其价值,同时不能扭曲事实或做出虚假声明。现实世界的应用是检验所有解决方案的试金石,也是整个协同编辑研究的最终验证。

参考文献

[1]. D. Sun, C. Sun, Agustina, W. Cai. “Real differences between OT and CRDT in building co-editing systems and real-world applications,” May 2, 2019.

[2] C. Sun, D. Sun, Agustina, W. Cai, B. Cho: “Real differences between OT and CRDT under a general transformation framework for consistency maintenance in co-editors, ” Proc. of the ACM on Human-Computer Interaction, 4(GROUP), Article 6, January 2020

[3] D. Sun, C. Sun, Agustina, and W. Cai: “Real differences between OT and CRDT in correctness and complexity for consistency maintenance in co-editors,” Proc. of the ACM on Human-Computer Interaction, 4(CSCW1), May 2020.

[4] C. Sun, X. Jia, Y. Zhang, Y. Yang and D. Chen: “Achieving convergence, causality-preservation, and intention-preservation in real-time cooperative editing systems,” ACM Transactions on Computer-Human Interaction, Vol. 5, №1, pp.63–108, March 1998.

[5]. C. Sun, S. Xia, D. Sun, D. Chen, H.F. Shen and W. Cai: “ Transparent adaptation of single-user applications for multi-user real-time collaboration,” ACM Transactions on Computer-Human Interaction, Vol. 13, №4, pp. 531–582, December 2006.

[6] C. Sun, A Critical Examination of “the Fugue Paper” in Relation to OT. Published on medium in August, 2023.

[7] C. Sun, “OTFAQ: Operational Transformation Frequently Asked Questions and Answers.”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C蔡博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值