{"title":"在存在拜占庭故障的系统中从 SWSR 寄存器实现 SWMR 寄存器","authors":"Xing Hu, Sam Toueg","doi":"10.1007/s00446-024-00465-5","DOIUrl":null,"url":null,"abstract":"<p>The implementation of registers from (potentially) weaker registers is a classical problem in the theory of distributed computing. Since Lamport’s pioneering work (Lamport in Distrib Comput 1(2):77–101, 1986), this problem has been extensively studied in the context of asynchronous processes with crash failures. In this paper, we investigate this problem in the context of Byzantine process failures, with and without process signatures. We first prove that, without signatures, there is no wait-free linearizable implementation of a 1-writer <i>n</i>-reader register from atomic 1-writer 1-reader registers. In fact, we show a stronger result, namely, even under the assumption that the writer can only crash and at most one reader can be malicious, there is no linearizable implementation of a 1-writer <i>n</i>-reader register from atomic 1-writer <span>\\((n-1)\\)</span>-reader registers that ensures that every correct process eventually completes its operations. In light of this impossibility result, we give two implementations of a 1-writer <i>n</i>-reader register from atomic 1-writer 1-reader registers that work under different assumptions. The first implementation is linearizable (under any combination of Byzantine process failures), but it guarantees that every correct process eventually completes its operations only under the assumption that the writer is correct or no reader is Byzantine—thus matching the impossibility result. The second implementation assumes process signatures; it is wait-free and linearizable under any number and combination of Byzantine process failures.\n</p>","PeriodicalId":50569,"journal":{"name":"Distributed Computing","volume":"40 1","pages":""},"PeriodicalIF":1.3000,"publicationDate":"2024-06-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"On implementing SWMR registers from SWSR registers in systems with Byzantine failures\",\"authors\":\"Xing Hu, Sam Toueg\",\"doi\":\"10.1007/s00446-024-00465-5\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p>The implementation of registers from (potentially) weaker registers is a classical problem in the theory of distributed computing. Since Lamport’s pioneering work (Lamport in Distrib Comput 1(2):77–101, 1986), this problem has been extensively studied in the context of asynchronous processes with crash failures. In this paper, we investigate this problem in the context of Byzantine process failures, with and without process signatures. We first prove that, without signatures, there is no wait-free linearizable implementation of a 1-writer <i>n</i>-reader register from atomic 1-writer 1-reader registers. In fact, we show a stronger result, namely, even under the assumption that the writer can only crash and at most one reader can be malicious, there is no linearizable implementation of a 1-writer <i>n</i>-reader register from atomic 1-writer <span>\\\\((n-1)\\\\)</span>-reader registers that ensures that every correct process eventually completes its operations. In light of this impossibility result, we give two implementations of a 1-writer <i>n</i>-reader register from atomic 1-writer 1-reader registers that work under different assumptions. The first implementation is linearizable (under any combination of Byzantine process failures), but it guarantees that every correct process eventually completes its operations only under the assumption that the writer is correct or no reader is Byzantine—thus matching the impossibility result. The second implementation assumes process signatures; it is wait-free and linearizable under any number and combination of Byzantine process failures.\\n</p>\",\"PeriodicalId\":50569,\"journal\":{\"name\":\"Distributed Computing\",\"volume\":\"40 1\",\"pages\":\"\"},\"PeriodicalIF\":1.3000,\"publicationDate\":\"2024-06-06\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Distributed Computing\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1007/s00446-024-00465-5\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, THEORY & METHODS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Distributed Computing","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s00446-024-00465-5","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
摘要
从(可能)较弱的寄存器实现寄存器是分布式计算理论中的一个经典问题。自 Lamport 的开创性工作(Lamport in Distrib Comput 1(2):77-101,1986)以来,这个问题已在具有崩溃故障的异步进程中得到广泛研究。在本文中,我们将在有进程签名和无进程签名的拜占庭进程故障背景下研究这个问题。我们首先证明,在没有签名的情况下,不存在由原子 1 写 1 读寄存器实现的 1 写 n 读寄存器的无等待线性化实现。事实上,我们证明了一个更强的结果,即即使假设写入器只能崩溃,且最多只有一个读取器可能是恶意的,也不存在由原子1-写入器\((n-1)\)-读取器寄存器组成的1-写入器n-读取器寄存器的可线性化实现,以确保每个正确的进程最终都能完成操作。根据这个不可能结果,我们给出了两个由原子 1 写 1 读寄存器实现的 1 写 n 读寄存器,它们在不同的假设条件下工作。第一种实现是可线性化的(在拜占庭进程失败的任何组合下),但它保证每个正确的进程最终只在写入器正确或没有读取器拜占庭的假设下完成其操作,因此与不可能结果相匹配。第二种实现假定有进程签名;在拜占庭进程失败的任何数量和组合下,它都是无等待和可线性化的。
On implementing SWMR registers from SWSR registers in systems with Byzantine failures
The implementation of registers from (potentially) weaker registers is a classical problem in the theory of distributed computing. Since Lamport’s pioneering work (Lamport in Distrib Comput 1(2):77–101, 1986), this problem has been extensively studied in the context of asynchronous processes with crash failures. In this paper, we investigate this problem in the context of Byzantine process failures, with and without process signatures. We first prove that, without signatures, there is no wait-free linearizable implementation of a 1-writer n-reader register from atomic 1-writer 1-reader registers. In fact, we show a stronger result, namely, even under the assumption that the writer can only crash and at most one reader can be malicious, there is no linearizable implementation of a 1-writer n-reader register from atomic 1-writer \((n-1)\)-reader registers that ensures that every correct process eventually completes its operations. In light of this impossibility result, we give two implementations of a 1-writer n-reader register from atomic 1-writer 1-reader registers that work under different assumptions. The first implementation is linearizable (under any combination of Byzantine process failures), but it guarantees that every correct process eventually completes its operations only under the assumption that the writer is correct or no reader is Byzantine—thus matching the impossibility result. The second implementation assumes process signatures; it is wait-free and linearizable under any number and combination of Byzantine process failures.
期刊介绍:
The international journal Distributed Computing provides a forum for original and significant contributions to the theory, design, specification and implementation of distributed systems.
Topics covered by the journal include but are not limited to:
design and analysis of distributed algorithms;
multiprocessor and multi-core architectures and algorithms;
synchronization protocols and concurrent programming;
distributed operating systems and middleware;
fault-tolerance, reliability and availability;
architectures and protocols for communication networks and peer-to-peer systems;
security in distributed computing, cryptographic protocols;
mobile, sensor, and ad hoc networks;
internet applications;
concurrency theory;
specification, semantics, verification, and testing of distributed systems.
In general, only original papers will be considered. By virtue of submitting a manuscript to the journal, the authors attest that it has not been published or submitted simultaneously for publication elsewhere. However, papers previously presented in conference proceedings may be submitted in enhanced form. If a paper has appeared previously, in any form, the authors must clearly indicate this and provide an account of the differences between the previously appeared form and the submission.