Abstract
Three variants of consensus problems are consensus, Byzantine agreement, and interactive consistency. These problems are equivalent. If any of the three has a solution, we can obtain a solution for the remaining ones. Knowing impossibility results makes us aware of the limitation of solutions. Reaching a consensus with non-faulty processes is difficult. Even under a minimal set of assumptions, the consensus solutions require exponential time during which processes may experience timeouts and send wrong messages to others saying that non-responding processes have failed. Failures could block commits in distributed transactions. There may be different types of faults, such as crash, omission, timeout, value, and Byzantine. It forms the basis for the three-phase commit protocol under fail-stop assumptions. Processes experiencing Byzantine faults send arbitrary messages to others. We can focus only on the Byzantine agreement, also known as the Byzantine general problem (BGP) has a solution under certain restrictions. The solution requires many execution rounds in a synchronous distributed system and can sustain f failures with 3f+1 processes. Reaching consensus in an asynchronous distributed system is impossible. Lamport proposed the Paxos algorithm to reach an agreement in the eventual synchronous model. Paxos is a complicated protocol to understand and requires non-trivial architectural adaptations for implementation. Raft is a simpler alternative that is as efficient as Paxos and more amenable to building practical systems.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.