Byzantine Agreement Problem In Distributed System Ppt
September 13, 2021 | Leave a comment
8 Agreement in defective systems – 3 circumstances in which a distributed agreement can be concluded. Note that most distributed systems assume that processes behave asynchronous Messages are Unicast communication delays are unlimited (see red blocks) 36 main ideas PBFT Static configuration (3f + 1 nodes) To deal with malicious primary nodes Use a 3-phase protocol, to agree on the sequence number To cope with the loss of agreement, use a larger quorum (2f + 1 of 3f + 1 nodes) Need to communicate authenticate 3 Error tolerance Error tolerance Error tolerance is strongly related to so-called reliable systems. Reliability implies: Availability: Probability that the system will function properly at a given time Reliability: Ability to function properly over a long period of time Security: Error in correct use does not lead to catastrophic failures Ability to repair an unusual “easy” system 5 process resilience – 2 agreement: Calculation results Choose a peak synchronization that goes to a tra tra ns action requires . How much replication is needed? A k system supports errors if it can overcome errors in k-components while meeting its specifications. 34 Distributed systems FLP-impossibility: The Async consensus should not be completed Proof sketch: the system starts in the “bivalent” state (can decide 0 or 1). At some point, the system is one message away from opting for 0 or 1. If this message is delayed, another message may hijack the system from the decision. Stops even if the servers can only crash (not Byzantine)! Therefore, the protocol cannot always be live (but there are randomized BFT variants that are probably live) [See Fischer, M. J., Lynch, N.A., and Paterson, M.
S. Inability to reach a distributed consensus with a flawed process. J. ACM 32, 2 (Apr. 1985), ] 4 Failure Models A system must fail if it is unable to keep its promises. A system state error can lead to an error. The cause of an error is called an error. 12 Agreement in faulty systems – 5 Process system N, each process i providing each other with a value vi.
Some of these processes can be false (or malicious) its purpose: Each process learns the true values sent by each of the right processes The bizantin arrangement problem for three non-cult processes and one faulty process. 33 Practical Byzantine Error ToleranceWhy BFT Asynchronous? BFT: Malicious attacks, software errors Do you need N version programming? The faulty client can write garbage data, but not make the system inconsistent (which hurts the semantics of the company) Why asynchronous? Faulty network can violate timing assumptions, but can also prevent 7 live agreement in faulty systems – 2 Features of the underlying system: Synchronous versus asynchronous systems. A system is synchronized when the process takes place in Lock-Step mode. Otherwise, it is asynchronous. The delay in communication is limited or not. Message delivery is ordered or not. The transmission of messages is done by unicasting or multicasting. 13 The problem of the Bizantin generalThe problem: “Several divisions of the Byzantine army camp out of an enemy city, each division being commanded by its own general. After observing the enemy, they must opt for a common plan of action. Some of these generals could be traitors and try to prevent loyal generals from reaching an agreement. » Objective: all loyal generals decide on the same course of action. A small number of traitors cannot push loyal generals to adopt a bad plan.