Visible to the public Semi-Fast Byzantine-tolerant Shared Register without Reliable Broadcast

TitleSemi-Fast Byzantine-tolerant Shared Register without Reliable Broadcast
Publication TypeConference Paper
Year of Publication2020
AuthorsKonwar, Kishori M., Kumar, Saptaparni, Tseng, Lewis
Conference Name2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS)
Date Publishednov
Keywordsbyzantine faults, Collaboration, emulation, encoding, Human Behavior, human factors, MDS codes, Metrics, policy-based governance, pubcrawl, Registers, reliability theory, Reliable broadcast, resilience, Resiliency, Safe Coding, Safe registers, Safety, Servers, Task Analysis
AbstractShared register emulations on top of message-passing systems provide an illusion of a simpler shared memory system which can make the task of a system designer easier. Numerous shared register applications have a considerably high read-to-write ratio. Thus, having algorithms that make reads more efficient than writes is a fair trade-off.Typically, such algorithms for reads and writes are asymmetric and sacrifice the stringent consistency condition atomicity, as it is impossible to have fast reads for multi-writer atomicity. Safety is a consistency condition that has has gathered interest from both the systems and theory community as it is weaker than atomicity yet provides strong enough guarantees like "strong consistency" or read-my-write consistency. One requirement that is assumed by many researchers is that of the reliable broadcast (RB) primitive, which ensures the "all or none" property during a broadcast. One drawback is that such a primitive takes 1.5 rounds to complete and requires server-to-server communication.This paper implements an efficient multi-writer multi-reader safe register without using a reliable broadcast primitive. Moreover, we provide fast reads or one-shot reads – our read operations can be completed in one round of client-to-server communication. Of course, this comes with the price of requiring more servers when compared to prior solutions assuming reliable broadcast. However, we show that this increased number of servers is indeed necessary as we prove a tight bound on the number of servers required to implement Byzantine-fault tolerant safe registers in a system without reliable broadcast.We extend our results to data stored using erasure coding as well. We present an emulation of single-writer multi-reader safe register based on MDS codes. The usage of MDS codes reduces storage and communication costs. On the negative side, we also show that to use MDS codes and at the same time achieve one-shot reads, we need even more servers.
Citation Keykonwar_semi-fast_2020