In this paper, we describe a lightweight solution for protecting real-time collaborative editing systems against Byzantine faults. We observe that a centralized coordination algorithm not only reduces the complexity of the editing system, it makes easier to harden the system with Byzantine fault tolerance. We perform a comprehensive analysis of the potential threats towards collaborative editing systems and introduce a set of Byzantine fault tolerance mechanisms without requiring any additional redundant resources. If the system has sufficient redundancy, such mechanisms can be used to ensure strong protection against various malicious faults. Even without sufficient redundancy in the system, our mechanisms would still help limit the damages caused by a faulty user.
Real-time collaborative editing applications are drastically different from typical client-server applications in that every participant has a copy of the shared document. In this type of environment, each participant acts as both a client and a server replica. In this article, we elaborate on how to adapt Byzantine fault tolerance (BFT) mechanisms to enhance the trustworthiness of such applications. It is apparent that traditional BFT algorithms cannot be used directly because it would dictate that all updates submitted by participants be applied sequentially, which would defeat the purpose of collaborative editing. The goal of this study is to design and implement an efficient BFT solution by exploiting the application semantics and by doing a threat analysis of these types of applications. Our solution can be considered as a form of optimistic BFT in that local states maintained by each participant may diverge temporarily. The states of the participants are made consistent with each other by a periodic synchronization mechanism.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.