This paper presents a new distributed mutual exclusion protocol that can tolerate Byzantine faults. We use the protocol to create Byzantine fault-tolerant storage systems. We show a necessary and sufficient condition to achieve distributed Byzantine fault-tolerant mutual exclusion. The condition is n ≥ 3f + 1 where n is the number of servers and f is the number of Byzantine failure servers, which is just the result as yielded by Martin et al.'s Byzantine fault-tolerant storage algorithm. The message complexity of Martin et al.'s algorithm is 3n for write operations and 3n + cn for read operations, where c is the number of concurrent writes to the read operations. Our protocol requires (3 + 3c')\left\lceil {(n + 3f + 1)/2} \right\rceil messages for read or write operations, where c' is the number of concurrent conflicting operations. c' is at most one for read requests. Thus, when the number of concurrent operations to write requests is small and the number of faults is small, our protocol is more efficient than that of Martin et al.
Citation:
Joong Man Kim, Yoshifumi Manabe, "A Byzantine Fault-Tolerant Mutual Exclusion Algorithm and Its Application to Byzantine Fault-Tolerant Storage Systems," icdcsw, vol. 1, pp.12-19, Fourth International Workshop on Assurance in Distributed Systems and Networks (ADSN) (ICDCSW'05), 2005