Introduction In a distributed system, we use replication to keep a copy of the same data in multiple machines for fault-tolerance (e.g., network partition). All of the difficulty in replication lies in handling changes to replicated data. Linearizability provides certain guarantees on a system, which simplifies interaction of dependent applications by…