53 research outputs found

    Implementing Trustworthy Services Using Replicated State Machines

    Full text link

    BigDipper: A hyperscale BFT system with short term censorship resistance

    Full text link
    Byzantine-fault-tolerant (BFT) protocols underlie a variety of decentralized applications including payments, auctions, data feed oracles, and decentralized social networks. In most leader-based BFT protocols, an important property that has been missing is the censorship resistance of transaction in the short term. The protocol should provide inclusion guarantees in the next block height even if the current and future leaders have the intent of censoring. In this paper, we present a BFT system, BigDipper, that achieves censorship resistance while providing fast confirmation for clients and hyperscale throughput. The core idea is to decentralize inclusion of transactions by allowing every BFT replica to create their own mini-block, and then enforcing the leader on their inclusions. To achieve this, BigDipper creates a modular system made of three components. First, we provide a transaction broadcast protocol used by clients as an interface to achieve a spectrum of probabilistic inclusion guarantees. Afterwards, a distribution of BFT replicas will receive the client's transactions and prepare mini-blocks to send to the data availability (DA) component. The DA component characterizes the censorship resistant properties of the whole system. We design three censorship resistant DA (DA-CR) protocols with distinct properties captured by three parameters and demonstrate their trade-offs. The third component interleaves the DA-CR protocols into the consensus path of leader based BFT protocols, it enforces the leader to include all the data from the DA-CR into the BFT block. We demonstrate an integration with a two-phase Hotstuff-2 BFT protocol with minimal changes. BigDipper is a modular system that can switch the consensus to other leader based BFT protocol including Tendermint

    Hardening Cassandra Against Byzantine Failures

    Get PDF

    Application Aware for Byzantine Fault Tolerance

    Get PDF
    Driven by the need for higher reliability of many distributed systems, various replication-based fault tolerance technologies have been widely studied. A prominent technology is Byzantine fault tolerance (BFT). BFT can help achieve high availability and trustworthiness by ensuring replica consistency despite the presence of hardware failures and malicious faults on a small portion of the replicas. However, most state-of-the-art BFT algorithms are designed for generic stateful applications that require the total ordering of all incoming requests and the sequential execution of such requests. In this dissertation research, we recognize that a straightforward application of existing BFT algorithms is often inappropriate for many practical systems: (1) not all incoming requests must be executed sequentially according to some total order and doing so would incur unnecessary (and often prohibitively high) runtime overhead and (2) a sequential execution of all incoming requests might violate the application semantics and might result in deadlocks for some applications. In the past four and half years of my dissertation research, I have focused on designing lightweight BFT solutions for a number of Web services applications (including a shopping cart application, an event stream processing application, Web service business activities (WS-BA), and Web service atomic transactions (WS-AT)) by exploiting application semantics. The main research challenge is to identify how to minimize the use of Byzantine agreement steps and enable concurrent execution of requests that are commutable or unrelated. We have shown that the runtime overhead can be significantly reduced by adopting our lightweight solutions. One limitation for our solutions is that it requires intimate knowledge on the application design and implementation, which may be expensive and error-prone to design such BFT solutions on complex applications. Recognizing this limitation, we investigated the use of Conflict-free Replicated Data Types (CRDTs) to

    Application Aware for Byzantine Fault Tolerance

    Get PDF
    Driven by the need for higher reliability of many distributed systems, various replication-based fault tolerance technologies have been widely studied. A prominent technology is Byzantine fault tolerance (BFT). BFT can help achieve high availability and trustworthiness by ensuring replica consistency despite the presence of hardware failures and malicious faults on a small portion of the replicas. However, most state-of-the-art BFT algorithms are designed for generic stateful applications that require the total ordering of all incoming requests and the sequential execution of such requests. In this dissertation research, we recognize that a straightforward application of existing BFT algorithms is often inappropriate for many practical systems: (1) not all incoming requests must be executed sequentially according to some total order and doing so would incur unnecessary (and often prohibitively high) runtime overhead and (2) a sequential execution of all incoming requests might violate the application semantics and might result in deadlocks for some applications. In the past four and half years of my dissertation research, I have focused on designing lightweight BFT solutions for a number of Web services applications (including a shopping cart application, an event stream processing application, Web service business activities (WS-BA), and Web service atomic transactions (WS-AT)) by exploiting application semantics. The main research challenge is to identify how to minimize the use of Byzantine agreement steps and enable concurrent execution of requests that are commutable or unrelated. We have shown that the runtime overhead can be significantly reduced by adopting our lightweight solutions. One limitation for our solutions is that it requires intimate knowledge on the application design and implementation, which may be expensive and error-prone to design such BFT solutions on complex applications. Recognizing this limitation, we investigated the use of Conflict-free Replicated Data Types (CRDTs) to

    Towards Efficient File Sharing and Packet Routing in Mobile Opportunistic Networks

    Get PDF
    With the increasing popularity of portable digital devices (e.g., smartphones, laptops, and tablets), mobile opportunistic networks (MONs) [40, 90] consisting of portable devices have attracted much attention recently. MONs are also known as pocket switched networks (PSNs) [52]. MONs can be regarded as a special form of mobile ad hoc networks (MANETs) [7] or delay tolerant networks (DTNs) [35, 56]. In such networks, mobile nodes (devices) move continuously and meet opportunistically. Two mobile nodes can communicate with each other only when they are within the communication range of each other in a peer-to-peer (P2P) manner (i.e., without the need of infrastructures). Therefore, such a network structure can potentially provide file sharing or packet routing services among portable devices without the support of network infrastructures. On the other hand, mobile opportunistic networks often experience frequent network partition, and no end-to-end contemporaneous path can be ensured in the network. These distinctive properties make traditional file sharing or packet routing algorithms in Internet or mobile networks a formidable challenge in MONs. In summary, it is essential and important to achieve efficient file sharing and packet routing algorithms in MONs, which are the key for providing practical and novel services and applications over such networks. In this Dissertation, we develop several methods to resolve the aforementioned challenges. Firstly, we propose two methods to enhance file sharing efficiency in MONs by creating replicas and by leveraging social network properties, respectively. In the first method, we investigate how to create file replicas to optimize file availability for file sharing in MONs. We introduce a new concept of resource for file replication, which considers both node storage and meeting frequency with other nodes. We theoretically study the influence of resource allocation on the average file access delay and derive a resource allocation rule to minimize the average file access delay. We also propose a distributed file replication protocol to realize the deduced optimal file replication rule. In the second method, we leverage social network properties to improve the file searching efficiency in MONs. This method groups common-interest nodes that frequently meet with each other into a community. It takes advantage of node mobility by designating stable nodes, which have the most frequent contact with community members, as community coordinators for intra-community file request forwarding, and highly-mobile nodes that visit other communities frequently as community ambassadors for inter-community file request forwarding. Based on such a community structure, an interest-oriented file searching scheme is proposed to first search local community and then search the community that is most likely to contain the requested file, leading to highly efficient file sharing in MONs. Secondly, we propose two methods to realize efficient packet routing among mobile nodes and among different landmarks in MONs, respectively. The first method utilizes distributed social map to route packets to mobile nodes efficiently with a low-cost in MONs. Each node builds its own social map consisting of nodes it has met and their frequently encountered nodes in a distributed manner. Based on both encountering frequency and social closeness of two linked nodes in the social map, we decide the weight of each link to reflect the packet delivery ability between the two nodes. The social map enables more accurate forwarder selection through a broader view and reduces the cost on information exchange. The second method realizes high-throughput packet routing among different landmarks in MONs. It selects popular places that nodes visit frequently as landmarks and divides the entire MON area into sub-areas represented by landmarks. Nodes transiting between two landmarks relay packets between the two landmarks. The frequency of node transits between two landmarks is measured to represent the forwarding capacity between them, based on which routing tables are built on each landmark to guide packet routing. Finally, packets are routed landmark by landmark to reach their destination landmarks. Extensive analysis and real-trace based experiments are conducted to support the designs in this Dissertation and demonstrate the effectiveness of the proposed methods in comparison with the state-of-art methods. In the future, we plan to further enhance the file sharing and packet routing efficiency by considering more realistic scenarios or including more useful information. We will also investigate the security and privacy issues in the proposed methods
    • …
    corecore