Decentralized collaborative version control

More Info
expand_more

Abstract

Decentralized systems offer alternatives to Big Tech. However, maintaining availability and correctness despite faults and manipulations in decentralized settings is challenging. In this paper, we introduce a collaborative model that is capable of exposing all observable lying, all cheating, and all faults, while only requiring merely unreliable message exchange. Our model is based on conflicting operations on arbitrary data, set reconciliation, and conflict resolution strategies to deal with branches. It is sufficiently general to support applications like Wikipedia, Github, and Datahub in a non-profit, collaborative, and decentralized form. Our protocol guarantees strong convergence despite any Byzantine nodes. We exhibit four conflict resolution strategies that cover the spectrum of possible use cases. A remarkable property of our model is that two honest nodes are guaranteed to converge despite an arbitrary-large number of faulty nodes.