Byzantine Fault

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 4917 Experts worldwide ranked by ideXlab platform

Wenbing Zhao - One of the best experts on this subject based on the ideXlab platform.

  • Consistency Is Not Enough in Byzantine Fault Tolerance
    Encyclopedia of Information Science and Technology Fourth Edition, 2018
    Co-Authors: Wenbing Zhao
    Abstract:

    The use of good random numbers is crucial to the security of many mission-critical systems. However, when such systems are replicated for Byzantine Fault tolerance, a serious issue arises, i.e., how do we preserve the integrity of the systems while ensuring strong replica consistency? Despite the fact that there exists a large body of work on how to render replicas deterministic under the benign Fault model, the solutions regarding the random number control are often overly simplistic without regard to the security requirement, and hence, they are not suitable for practical Byzantine Fault tolerance. In this chapter, we present a novel integrity-preserving replica coordination algorithm for Byzantine Fault tolerant systems. The central idea behind our CD-BFT algorithm is that all random numbers to be used by the replicas are collectively determined, based on the contributions made by a quorum of replicas, at least f+1 of which are not Faulty.

  • Byzantine Fault tolerance for collaborative editing with commutative operations
    Electro Information Technology, 2016
    Co-Authors: Wenbing Zhao, Mamdouh Babi, William Yang, Xiong Luo, Yueqin Zhu, Jack Y Yang, Chaomin Luo, Mary Yang
    Abstract:

    In this paper, we present a study on how to achieve Byzantine Fault tolerance for collaborative editing systems with commutative operations. Recent research suggests that Conflict-free Replicated Data Types (CRDTs) can be used to construct collaborative editing systems where concurrent update operations are commutative. This new approach is shown to avoid the complex issue of conflict resolution for concurrent updates to a shared document. The shared document is often modeled as a linear text buffer where each basic element is assigned a globally unique and totally ordered identifier. The linear text buffer constructed this way would constitute as a CRDT, which would make concurrent update operations issued by different users commutative. State convergence at all users can be achieved automatically as long as the users could receive the same set of operations irrespective of their relative ordering. However, it is not straightforward to guarantee state convergence in the presence of malicious users and external adversaries. In this paper, we carefully analyze the threats towards this type of systems, and propose a lightweight solution to achieve Byzantine Fault tolerance with low runtime overhead. We define a set of correctness properties for such systems and prove that the proposed Byzantine Fault tolerance mechanisms guarantee these properties.

  • EIT - Byzantine Fault tolerance for collaborative editing with commutative operations
    2016 IEEE International Conference on Electro Information Technology (EIT), 2016
    Co-Authors: Wenbing Zhao, Mamdouh Babi, William Yang, Xiong Luo, Yueqin Zhu, Jack Y Yang, Chaomin Luo, Mary Yang
    Abstract:

    In this paper, we present a study on how to achieve Byzantine Fault tolerance for collaborative editing systems with commutative operations. Recent research suggests that Conflict-free Replicated Data Types (CRDTs) can be used to construct collaborative editing systems where concurrent update operations are commutative. This new approach is shown to avoid the complex issue of conflict resolution for concurrent updates to a shared document. The shared document is often modeled as a linear text buffer where each basic element is assigned a globally unique and totally ordered identifier. The linear text buffer constructed this way would constitute as a CRDT, which would make concurrent update operations issued by different users commutative. State convergence at all users can be achieved automatically as long as the users could receive the same set of operations irrespective of their relative ordering. However, it is not straightforward to guarantee state convergence in the presence of malicious users and external adversaries. In this paper, we carefully analyze the threats towards this type of systems, and propose a lightweight solution to achieve Byzantine Fault tolerance with low runtime overhead. We define a set of correctness properties for such systems and prove that the proposed Byzantine Fault tolerance mechanisms guarantee these properties.

  • Optimistic Byzantine Fault tolerance
    International Journal of Parallel Emergent and Distributed Systems, 2015
    Co-Authors: Wenbing Zhao
    Abstract:

    The primary concern of traditional Byzantine Fault tolerance is to ensure strong replica consistency by executing incoming requests sequentially according to a total order. Speculative execution at both clients and server replicas has been proposed as a way of reducing the end-to-end latency. In this article, we introduce optimistic Byzantine Fault tolerance. Optimistic Byzantine Fault tolerance aims to achieve higher throughput and lower end-to-end latency by using a weaker replica consistency model. Instead of ensuring strong safety as in traditional Byzantine Fault tolerance, nonFaulty replicas are brought to a consistent state periodically and on-demand in optimistic Byzantine Fault tolerance. Not all applications are suitable for optimistic Byzantine Fault tolerance. We identify three types of applications, namely, realtime collaborative editing, event stream processing, and services constructed with conflict-free replicated data types, as good candidates for applying optimistic Byzantine Fault tolerance. Furthermore, we provide a design guideline on how to achieve eventual consistency and how to recover from conflicts at different replicas. In optimistic Byzantine Fault tolerance, a replica executes a request immediately without first establishing a total order of the message, and Byzantine agreement is used only to establish a common state synchronization point and the set of individual states needed to resolve conflicts. The recovery mechanism ensures both replica consistency and the validity of the system by identifying and removing the operations introduced by Faulty clients and server replicas.

  • application aware Byzantine Fault tolerance
    IEEE International Conference on Dependable Autonomic and Secure Computing, 2014
    Co-Authors: Wenbing Zhao
    Abstract:

    Byzantine Fault tolerance has been intensively studied over the past decade as a way to enhance the intrusion resilience of computer systems. However, state-machine-based Byzantine Fault tolerance algorithms require deterministic application processing and sequential execution of totally ordered requests. One way of increasing the practicality of Byzantine Fault tolerance is to exploit the application semantics, which we refer to as application-aware Byzantine Fault tolerance. Application-aware Byzantine Fault tolerance makes it possible to facilitate concurrent processing of requests, to minimize the use of Byzantine agreement, and to identify and control replica nondeterminism. In this paper, we provide an overview of recent works on application-aware Byzantine Fault tolerance techniques. We elaborate the need for exploiting application semantics for Byzantine Fault tolerance and the benefits of doing so, provide a classification of various approaches to application-aware Byzantine Fault tolerance, and outline the mechanisms used in achieving application-aware Byzantine Fault tolerance according to our classification.

Priya Narasimhan - One of the best experts on this subject based on the ideXlab platform.

  • Experiences with Fault-Injection in a Byzantine Fault-Tolerant Protocol
    2013
    Co-Authors: Rolando Martins, Priya Narasimhan, Rajeev Gandhi, Soila Pertet, António Casimiro, Diego Kreutz, Paulo Veríssimo
    Abstract:

    The overall performance improvement in Byzantine Fault-tolerant state machine replication algorithms has made them a viable option for critical high-performance systems. However, the construction of the proofs necessary to support these algorithms are complex and often make assumptions that may or may not be true in a particular implementation. Furthermore, the transition from theory to practice is difficult and can lead to the introduction of subtle bugs that may break the assumptions that support these algorithms. To address these issues we have developed Hermes, a Fault-injector framework that provides an infrastructure for injecting Faults in a Byzantine Fault-tolerant state machine. Our main goal with Hermes is to help practitioners in the complex process of debugging their implementations of these algorithms, and at the same time increase the confidence of possible adopters, e.g., systems researchers, industry, by allowing them to test the implementations. In this paper, we discuss our experiences with Hermes to inject Faults in BFT-SMaRt, a high-performance Byzantine Fault-tolerant state machine replication library.

  • Middleware - Experiences with Fault-Injection in a Byzantine Fault-Tolerant Protocol
    Middleware 2013, 2013
    Co-Authors: Rolando Martins, Priya Narasimhan, Rajeev Gandhi, Soila Pertet, António Casimiro, Diego Kreutz, Paulo Veríssimo
    Abstract:

    The overall performance improvement in Byzantine Fault-tolerant state machine replication algorithms has made them a viable option for critical high-performance systems. However, the construction of the proofs necessary to support these algorithms are complex and often make assumptions that may or may not be true in a particular implementation. Furthermore, the transition from theory to practice is difficult and can lead to the introduction of subtle bugs that may break the assumptions that support these algorithms. To address these issues we have developed Hermes, a Fault-injector framework that provides an infrastructure for injecting Faults in a Byzantine Fault-tolerant state machine. Our main goal with Hermes is to help practitioners in the complex process of debugging their implementations of these algorithms, and at the same time increase the confidence of possible adopters, e.g., systems researchers, industry, by allowing them to test the implementations. In this paper, we discuss our experiences with Hermes to inject Faults in BFT-SMaRt, a high-performance Byzantine Fault-tolerant state machine replication library.

  • Efficient Byzantine Fault Tolerance for Scalable Storage and Services
    2009
    Co-Authors: James Hendricks, Gregory R Ganger, Michael K Reiter, Priya Narasimhan, Miguel Castro
    Abstract:

    Abstract : Distributed systems experience and should tolerate Faults beyond simple component crashes as such systems grow in size and importance. Unfortunately, tolerating arbitrary Faults, also known as Byzantine Faults, poses several challenges to system designers, often limiting performance, requiring additional hardware, or both. This dissertation presents new protocols that provide substantially better performance than previously demonstrated. The Byzantine Fault-tolerant erasure-coded block storage protocol proposed in this thesis provides 40% higher write throughput than the best prior approach. The Byzantine Fault-tolerant replicated state machine provides a factor of 2.2-2.9 times higher throughput than the best prior approach. Furthermore, the protocols presented in this dissertation require 25-33% fewer responsive servers than the nearest competitors. To enable these results, this dissertation introduces several new techniques, including homomorphic fingerprinting, partial encoding, and Byzantine Locking, that provide unprecedented scalability, higher throughput, lower latency, and lower computational overhead. This dissertation also considers new methods for analyzing the correctness of distributed systems in the presence of Faulty clients. Distributed services and storage systems built using these techniques can provide Byzantine Fault tolerance in a more efficient, higher performance, and more scalable manner than previously thought possible.

  • thema Byzantine Fault tolerant middleware for web service applications
    Symposium on Reliable Distributed Systems, 2005
    Co-Authors: Michael G Merideth, Arun Iyengar, Thomas Mikalsen, Stefan Tai, Isabelle Rouvellou, Priya Narasimhan
    Abstract:

    Distributed applications composed of collections of Web services may call for diverse levels of reliability in different parts of the system. Byzantine Fault tolerance (BFT) is a general strategy that has recently been shown to be practical for the development of certain classes of survivable, client-server, distributed applications; however, little research has been done on incorporating it into selective parts of multi-tier, distributed applications like Web services that have heterogeneous reliability requirements. To understand the impacts of combining BFT and Web services, we have created Thema, a new BFT middleware system that extends the BFT and Web services technologies to provide a structured way to build Byzantine-Fault-tolerant, survivable Web services that application developers can use like other Web services. From a reliability perspective, our enhancements are also novel in that they allow Byzantine-Fault-tolerant services: (1) to support the multi-tiered requirements of Web services, and (2) to provide standardized Web services support for their own clients (through WSDL interfaces and SOAP communication). In this paper we study key architectural implications of combining BFT with Web services and provide a performance evaluation of Thema using the TPC-W benchmark.

  • SRDS - Thema: Byzantine-Fault-tolerant middleware for Web-service applications
    24th IEEE Symposium on Reliable Distributed Systems (SRDS'05), 1
    Co-Authors: Michael G Merideth, Arun Iyengar, Thomas Mikalsen, Stefan Tai, Isabelle Rouvellou, Priya Narasimhan
    Abstract:

    Distributed applications composed of collections of Web services may call for diverse levels of reliability in different parts of the system. Byzantine Fault tolerance (BFT) is a general strategy that has recently been shown to be practical for the development of certain classes of survivable, client-server, distributed applications; however, little research has been done on incorporating it into selective parts of multi-tier, distributed applications like Web services that have heterogeneous reliability requirements. To understand the impacts of combining BFT and Web services, we have created Thema, a new BFT middleware system that extends the BFT and Web services technologies to provide a structured way to build Byzantine-Fault-tolerant, survivable Web services that application developers can use like other Web services. From a reliability perspective, our enhancements are also novel in that they allow Byzantine-Fault-tolerant services: (1) to support the multi-tiered requirements of Web services, and (2) to provide standardized Web services support for their own clients (through WSDL interfaces and SOAP communication). In this paper we study key architectural implications of combining BFT with Web services and provide a performance evaluation of Thema using the TPC-W benchmark.

Mike Dahlin - One of the best experts on this subject based on the ideXlab platform.

  • zyzzyva speculative Byzantine Fault tolerance
    Symposium on Operating Systems Principles, 2007
    Co-Authors: Ramakrishna Kotla, Mike Dahlin, Lorenzo Alvisi, Allen Clement, Edmund L Wong
    Abstract:

    We present Zyzzyva, a protocol that uses speculation to reduce the cost and simplify the design of Byzantine Fault tolerant state machine replication. In Zyzzyva, replicas respond to a client's request without first running an expensive three-phase commit protocol to reach agreement on the order in which the request must be processed. Instead, they optimistically adopt the order proposed by the primary and respond immediately to the client. Replicas can thus become temporarily inconsistent with one another, but clients detect inconsistencies, help correct replicas converge on a single total ordering of requests, and only rely on responses that are consistent with this total order. This approach allows Zyzzyva to reduce replication overheads to near their theoretical minimal.

  • high throughput Byzantine Fault tolerance
    Dependable Systems and Networks, 2004
    Co-Authors: Ramakrishna Kotla, Mike Dahlin
    Abstract:

    This paper argues for a simple change to Byzantine Fault tolerant (BFT) state machine replication libraries. Traditional BFT state machine replication techniques provide high availability and security but fail to provide high throughput. This limitation stems from the fundamental assumption of generalized state machine replication techniques that all replicas execute requests sequentially in the same total order to ensure consistency across replicas. We propose a high throughput Byzantine Fault tolerant architecture that uses application-specific information to identify and concurrently execute independent requests. Our architecture thus provides a general way to exploit application parallelism in order to provide high throughput without compromising correctness. Although this approach is extremely simple, it yields dramatic practical benefits. When sufficient application concurrency and hardware resources exist, CBASE, our system prototype, provides orders of magnitude improvements in throughput over BASE, a traditional BFT architecture. CBASE-FS, a Byzantine Fault tolerant file system that uses CBASE, achieves twice the throughput of BASE-FS for the IOZone micro-benchmarks even in a configuration with modest available hardware parallelism.

  • DSN - High throughput Byzantine Fault tolerance
    International Conference on Dependable Systems and Networks 2004, 2004
    Co-Authors: Ramakrishna Kotla, Mike Dahlin
    Abstract:

    This paper argues for a simple change to Byzantine Fault tolerant (BFT) state machine replication libraries. Traditional BFT state machine replication techniques provide high availability and security but fail to provide high throughput. This limitation stems from the fundamental assumption of generalized state machine replication techniques that all replicas execute requests sequentially in the same total order to ensure consistency across replicas. We propose a high throughput Byzantine Fault tolerant architecture that uses application-specific information to identify and concurrently execute independent requests. Our architecture thus provides a general way to exploit application parallelism in order to provide high throughput without compromising correctness. Although this approach is extremely simple, it yields dramatic practical benefits. When sufficient application concurrency and hardware resources exist, CBASE, our system prototype, provides orders of magnitude improvements in throughput over BASE, a traditional BFT architecture. CBASE-FS, a Byzantine Fault tolerant file system that uses CBASE, achieves twice the throughput of BASE-FS for the IOZone micro-benchmarks even in a configuration with modest available hardware parallelism.

  • SOSP - Separating agreement from execution for Byzantine Fault tolerant services
    Proceedings of the nineteenth ACM symposium on Operating systems principles - SOSP '03, 2003
    Co-Authors: Jean-philippe Martin, Arun Venkataramani, Lorenzo Alvisi, Mike Dahlin
    Abstract:

    We describe a new architecture for Byzantine Fault tolerant state machine replication that separates agreement that orders requests from execution that processes requests. This separation yields two fundamental and practically significant advantages over previous architectures. First, it reduces replication costs because the new architecture can tolerate Faults in up to half of the state machine replicas that execute requests. Previous systems can tolerate Faults in at most a third of the combined agreement/state machine replicas. Second, separating agreement from execution allows a general privacy firewall architecture to protect confidentiality through replication. In contrast, replication in previous systems hurts confidentiality because exploiting the weakest replica can be sufficient to compromise the system. We have constructed a prototype and evaluated it running both microbenchmarks and an NFS server. Overall, we find that the architecture adds modest latencies to unreplicated systems and that its performance is competitive with existing Byzantine Fault tolerant systems.

  • separating agreement from execution for Byzantine Fault tolerant services
    Symposium on Operating Systems Principles, 2003
    Co-Authors: Jian Yin, Arun Venkataramani, Jean-philippe Martin, Lorenzo Alvisi, Mike Dahlin
    Abstract:

    We describe a new architecture for Byzantine Fault tolerant state machine replication that separates agreement that orders requests from execution that processes requests. This separation yields two fundamental and practically significant advantages over previous architectures. First, it reduces replication costs because the new architecture can tolerate Faults in up to half of the state machine replicas that execute requests. Previous systems can tolerate Faults in at most a third of the combined agreement/state machine replicas. Second, separating agreement from execution allows a general privacy firewall architecture to protect confidentiality through replication. In contrast, replication in previous systems hurts confidentiality because exploiting the weakest replica can be sufficient to compromise the system. We have constructed a prototype and evaluated it running both microbenchmarks and an NFS server. Overall, we find that the architecture adds modest latencies to unreplicated systems and that its performance is competitive with existing Byzantine Fault tolerant systems.

Michael G Merideth - One of the best experts on this subject based on the ideXlab platform.

  • thema Byzantine Fault tolerant middleware for web service applications
    Symposium on Reliable Distributed Systems, 2005
    Co-Authors: Michael G Merideth, Arun Iyengar, Thomas Mikalsen, Stefan Tai, Isabelle Rouvellou, Priya Narasimhan
    Abstract:

    Distributed applications composed of collections of Web services may call for diverse levels of reliability in different parts of the system. Byzantine Fault tolerance (BFT) is a general strategy that has recently been shown to be practical for the development of certain classes of survivable, client-server, distributed applications; however, little research has been done on incorporating it into selective parts of multi-tier, distributed applications like Web services that have heterogeneous reliability requirements. To understand the impacts of combining BFT and Web services, we have created Thema, a new BFT middleware system that extends the BFT and Web services technologies to provide a structured way to build Byzantine-Fault-tolerant, survivable Web services that application developers can use like other Web services. From a reliability perspective, our enhancements are also novel in that they allow Byzantine-Fault-tolerant services: (1) to support the multi-tiered requirements of Web services, and (2) to provide standardized Web services support for their own clients (through WSDL interfaces and SOAP communication). In this paper we study key architectural implications of combining BFT with Web services and provide a performance evaluation of Thema using the TPC-W benchmark.

  • SRDS - Thema: Byzantine-Fault-tolerant middleware for Web-service applications
    24th IEEE Symposium on Reliable Distributed Systems (SRDS'05), 1
    Co-Authors: Michael G Merideth, Arun Iyengar, Thomas Mikalsen, Stefan Tai, Isabelle Rouvellou, Priya Narasimhan
    Abstract:

    Distributed applications composed of collections of Web services may call for diverse levels of reliability in different parts of the system. Byzantine Fault tolerance (BFT) is a general strategy that has recently been shown to be practical for the development of certain classes of survivable, client-server, distributed applications; however, little research has been done on incorporating it into selective parts of multi-tier, distributed applications like Web services that have heterogeneous reliability requirements. To understand the impacts of combining BFT and Web services, we have created Thema, a new BFT middleware system that extends the BFT and Web services technologies to provide a structured way to build Byzantine-Fault-tolerant, survivable Web services that application developers can use like other Web services. From a reliability perspective, our enhancements are also novel in that they allow Byzantine-Fault-tolerant services: (1) to support the multi-tiered requirements of Web services, and (2) to provide standardized Web services support for their own clients (through WSDL interfaces and SOAP communication). In this paper we study key architectural implications of combining BFT with Web services and provide a performance evaluation of Thema using the TPC-W benchmark.

Kenneth Goldman - One of the best experts on this subject based on the ideXlab platform.

  • Byzantine Fault tolerant web services for n tier and service oriented architectures
    International Conference on Distributed Computing Systems, 2008
    Co-Authors: Sajeeva Lakmal Bandara Pallemulle, Haraldur D. Thorvaldsson, Kenneth Goldman
    Abstract:

    Mission-critical services must be replicated to guarantee correctness and high availability in spite of arbitrary (Byzantine) Faults. Traditional Byzantine Fault tolerance protocols suffer from several major limitations. Some protocols do not support interoperability between replicated services. Other protocols provide poor Fault isolation between services leading to cascading failures across organizational and application boundaries. Moreover, traditional protocols are unsuitable for applications with tiered architectures, long-running threads of computation, or asynchronous interaction between services. We present Perpetual, a protocol that supports Byzantine Fault-tolerant execution of replicated services while enforcing strict Fault isolation. Perpetual enables interaction between replicated services that may invoke and process remote requests asynchronously in long-running threads of computation. We present a modular implementation, an Axis2 Web Services extension, and experimental results that demonstrate only a moderate overhead due to replication.

  • ICDCS - Byzantine Fault-Tolerant Web Services for n-Tier and Service Oriented Architectures
    2008 The 28th International Conference on Distributed Computing Systems, 2008
    Co-Authors: Sajeeva Lakmal Bandara Pallemulle, Haraldur D. Thorvaldsson, Kenneth Goldman
    Abstract:

    Mission-critical services must be replicated to guarantee correctness and high availability in spite of arbitrary (Byzantine) Faults. Traditional Byzantine Fault tolerance protocols suffer from several major limitations. Some protocols do not support interoperability between replicated services. Other protocols provide poor Fault isolation between services leading to cascading failures across organizational and application boundaries. Moreover, traditional protocols are unsuitable for applications with tiered architectures, long-running threads of computation, or asynchronous interaction between services. We present Perpetual, a protocol that supports Byzantine Fault-tolerant execution of replicated services while enforcing strict Fault isolation. Perpetual enables interaction between replicated services that may invoke and process remote requests asynchronously in long-running threads of computation. We present a modular implementation, an Axis2 Web Services extension, and experimental results that demonstrate only a moderate overhead due to replication.

  • Perpetual: Byzantine Fault Tolerance for Federated Distributed Applications
    2007
    Co-Authors: Sajeeva Lakmal Bandara Pallemulle, Haraldur D. Thorvaldsson, Kenneth Goldman
    Abstract:

    Modern distributed applications rely upon the functionality of services from multiple providers. Mission-critical services, possibly shared by multiple applications, must be replicated to guarantee correct execution and availability in spite of arbitrary (Byzantine) Faults. Furthermore, shared services must enforce strict Fault isolation policies to prevent cascading failures across organizational and application boundaries. Most existing protocols for Byzantine Fault-tolerant execution do not support interoperability between replicated services while others provide poor Fault isolation. Moreover, existing protocols place impractical limitations on application development by disallowing long-running threads of computation, asynchronous operation invocation, and asynchronous request processing. We present Perpetual, a protocol that facilitates unrestricted interoperability between replicated services while enforcing strict Fault isolation criteria. Perpetual supports both asynchronous operation invocation and asynchronous request processing. Perpetual also supports long-running threads of computation, enabling Byzantine Fault-tolerant execution of services that carry out active computations. We present performance evaluations demonstrating a moderate overhead due to replication. Type of Report: Other Department of Computer Science & Engineering Washington University in St. Louis Campus Box 1045 St. Louis, MO 63130 ph: (314) 935-6160 Perpetual: Byzantine Fault Tolerance for Federated Distributed Applications Sajeeva L. Pallemulle Haraldur D. Thorvaldsson Kenneth J. Goldman Department of Computer Science and Engineering Washington University in St. Louis, St. Louis, MO 63130 USA {sajeeva, harri, kjg}@cse.wustl.edu

  • Extending Byzantine Fault Tolerance to Replicated Clients
    2006
    Co-Authors: Ian Wehrman, Sajeeva Lakmal Bandara Pallemulle, Kenneth Goldman
    Abstract:

    Byzantine agreement protocols for replicated deterministic state machines guarantee that externally requested operations continue to execute correctly even if a bounded number of replicas fail in arbitrary ways. The state machines are passive, with clients responsible for any active ongoing application behavior. However, the clients are unreplicated and outside the Fault-tolerance boundary. Consequently, agreement protocols for replicated state machines do not guarantee continued correct execution of long-running client applications. Building on the Castro and Liskov Byzantine Fault Tolerance protocol for unreplicated clients (CLBFT), we present a practical algorithm for Byzantine Fault-tolerant execution of long-running distributed applications in which replicated deterministic clients invoke operations on replicated deterministic servers. The algorithm scales well to large replica groups, with roughly double the latency and message count when compared to CLBFT, which supports only unreplicated clients. The algorithm supports both synchronous and asynchronous clients, provides Fault isolation between client and server groups with respect to both correctness and performance, and uses a novel architecture that accommodates externally requested software upgrades for long-running evolvable client applications. Type of Report: Other Department of Computer Science & Engineering Washington University in St. Louis Campus Box 1045 St. Louis, MO 63130 ph: (314) 935-6160 Extending Byzantine Fault Tolerance to Replicated Clients Ian Wehrman iwehrman@cse.wustl.edu Sajeeva L. Pallemulle sajeeva@cse.wustl.edu Computer Science and Engineering Washington University in St. Louis Kenneth J. Goldman kjg@cse.wustl.edu