Early stopping: the idea. TRB for benign failures. Early Stopping: The Protocol. Termination

Size: px
Start display at page:

Download "Early stopping: the idea. TRB for benign failures. Early Stopping: The Protocol. Termination"

Transcription

1 TRB for benign failures Early stopping: the idea Sender in round : :! send m to all Process p in round! k, # k # f+!! :! if delivered m in round k- and p " sender then 2:!! send m to all 3:!! halt 4:! receive round k messages 5:! if received m then 6:!! deliver(m) 7:!! if k = f+ then halt 8:! else if k = f+ 9:!! deliver(sf) 0:!! halt Terminates in f + rounds How can we do better? find a protocol whose round complexity is proportional to! t the number of failures that actually occurred rather than to f.. the max number of failures that may occur Suppose processes can detect the set of processes that have failed by the end of round i Call that set faulty(p, i) If faulty(p, i) < ithere can be no active dangerous chains, and p can safely deliver SF Early Stopping: The Protocol failed to send a message to! p! in any round,..., k :!if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "? and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 6: if received value v "? then 7:!! value := v 8:!! deliver value 9:! else if k =f + or faulty(p, k) < k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt Termination

2 Termination Validity failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt If in any round a process receives a value, then it delivers the value in that round If a process has received only? for f + rounds, then it delivers SF in round f + failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt Validity Agreement - failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt If the sender is correct then it sends m to all in round By Validity of the underlying send and receive, every correct process will receive m by the end of round By the protocol, every correct process will deliver m by the end of round failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt Lemma :! For any r, if a process p delivers m!! SF in round r, then there exists a sequence of processes, p,..., p r such that = sender, p r = p, and in each round k, k r, p k sent m and p k received it. Furthermore, all processes in the sequence are distinct, unless r = and = p = sender Lemma 2:! For any r, if a process p sets value to SF in round r, then there exist some j r and a sequence of distinct processes! q j, q j+,..., q r = p q j! such that only receives? in rounds to j, faulty(q j, j) < j, and in each round k, j+ k r, q k sends SF to q k and q k receives SF

3 Agreement - 2 Agreement - 2 failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt Lemma 3:! It is impossible for p and q, not necessarily correct or distinct, to set value in the same round r to m and SF, respectively failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt Lemma 3:! It is impossible for p and q, not necessarily correct or distinct, to set value in the same round r to m and SF, respectively Proof By contradiction Suppose p sets value = m and q sets value = SF By Lemmas and 2 there exist,..., p r q j,..., q r with the appropriate characteristics Since q j did not receive m from process p k k j in round k q j must conclude that,..., p j are all faulty processes But then, faulty(q j, j) j CONTRADICTION Agreement - 3 Agreement - 3 failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt Proof If no correct process ever receives m, then every correct process delivers SF in round f + Let r be the earliest round in which a correct process delivers value! SF r " f By Lemma 3, no (correct) process can set value differently in round r In round r + " f +, that correct process sends its value to all Every correct process receives and delivers the value in round r + " f + r = f + By Lemma, there exists a sequence,, p f+ = p r of distinct processes Consider processes,, p f f + processes; only f faulty one of,, p f is correct-- let it be p c To send v in round c +, p c must have set its value to v and delivered v in round c < r CONTRADICTION

4 Integrity Integrity failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt failed to send a message to p in any round,..., k :! if p = sender then value := m else value:=? Process p in round! k, k f + 3:! if value "?! and delivered m in round k then halt 5:! faulty(p, k) := faulty(p, k ) { q p 9:! else if k =f + or faulty(p, k) <k then 0:!! value := SF :!! deliver value 2:!! if k =f + then halt At most one m Failures are benign, and a process executes at most one deliver event before halting If m! SF, only if m was broadcast From Lemma in the proof of Agreement A Lower Bound Views Theorem There is no algorithm that solves the consensus problem in fewer than f + rounds in the presence of f crash failures, if n f +2 Let # be an execution. The view of process in α., denoted by α p i, is the subsequence of computation and message receive events that occur in p i together with the state of p i in the initial configuration of α p p 2 p 3 p 4 p i We consider a special case! the proof technique (f =) to study p p 2 p 3 p 4

5 Views Let # be an execution. The view of process in α., denoted by α p i, is the subsequence of computation and message receive events that occur in p i together with the state of p i in the initial configuration of α p i Definition Let α and α 2 be two executions of consensus and let! p i be a correct process in both! α and α 2. α is similar to α 2 with respect to p i, denoted α pi α 2 if α p i = α 2 p i Similarity p p 2 p 3 p 4 from p. from p4. α p 3 p p 2 p 3 p 4 Definition Let α and α 2 be two executions of consensus and let! p i be a correct process in both! α and α 2. α is similar to α 2 with respect to p i, denoted α pi α 2 if α p i = α 2 p i Similarity Definition Let α and α 2 be two executions of consensus and let! p i be a correct process in both! α and α 2. α is similar to α 2 with respect to p i, denoted α pi α 2 if α p i = α 2 p i Similarity Note If α pi α 2 then p i decides the same value in both executions Note If α pi α 2 then p i decides the same value in both executions Lemma If α pi α 2 and p i is correct, then dec( α ) = dec( α 2 )

6 Definition Let α and α 2 be two executions of consensus and let! p i be a correct process in both! α and α 2. α is similar to α 2 with respect to p i, denoted α pi α 2 if α p i = α 2 p i Similarity The transitive closure of! α pi α 2 is denoted! α α 2. We say that! α α 2 if there exist executions β!, β 2,.!.., β k+ such that α = β pi β 2 pi2..., pik β k+ = α 2 Definition Let α and α 2 be two executions of consensus and let! p i be a correct process in both! α and α 2. α is similar to α 2 with respect to p i, denoted α pi α 2 if α p i = α 2 p i Similarity The transitive closure of! α pi α 2 is denoted! α α 2. We say that! α α 2 if there exist executions β!, β 2,.!.., β k+ such that α = β pi β 2 pi2..., pik β k+ = α 2 Note If α pi α 2 then p i decides the same value in both executions Note If α pi α 2 then p i decides the same value in both executions Lemma If α α 2 then! dec( α ) = dec( α 2 ) Lemma If α pi α 2 and p i is correct, then dec( α ) = dec( α 2 ) Lemma If α pi α 2 and p i is correct, then dec( α ) = dec( α 2 ) Single-Failure Case The Idea By contradiction There is no algorithm that solves consensus in fewer than two rounds in the presence of one crash failure, if n 3 Consider a one-round execution in which each process proposes 0. What is the decision value? Consider another one-round execution in which each process proposes. What is the decision value? So what? Show that there is a chain of similar executions that relate the two executions.

7 s Adjacent s are similar! Definition is the execution of the algorithm in which no failures occur only processes,..., p i propose 0 p i 0 α 0 i p i p i+ p n p i α n + Starting from, we build a set of executions! where 0 j n as follows: j αj i is obtained from after removing the messages that p i sends to the j-th highest numbered processors (excluding itself) The executions 0 n 0

8 2 p i n n β i n

9 p i p i n β i n 2 n β i n 3 p i p i + n β i 0 n β i 0

10 Arbitrary failures with message authentication Fail-stop Crash p i Send Omission Receive Omission + Process can send conflicting messages to different receivers Messages signed with unforgeable signatures General Omission Arbitrary failures with message authentication Arbitrary (Byzantine) failures Valid messages AFMA: The Idea A valid message m has the following form: in round : m.: s id ( m is signed by the sender) in round r >, if received by p from q : m : p : p 2 :... : p r where p = sender; p r = q p,..., p r are distinct from each other and from message has not been tampered with p A correct process p discards all non-valid messages it receives If a message is valid, it extracts the value from the message it relays the message, with its own signature appended At round f +: if it extracted exactly one message, p delivers it otherwise, p delivers SF

11 AFMA: The Protocol Termination Initialization for process p :! if p = sender and p wishes to broadcast m then!! extracted := relay := {m} Process p in round k, k f +! for each s relay!! send s : p to all! receive round k messages from all processes! relay :=! for each valid message received s = m : p : p 2 :... : p k!! if m extracted then!!! extracted := extracted {m}!!! relay := relay {s} At the end of round f +!! if m such that extracted = {m} then!!! deliver m!! else deliver SF Initialization for process p :! if p = sender and p wishes to broadcast m then!! extracted := relay := {m} Process p in round k, k f +! for each s relay!! send s : p to all! receive round k messages from all processes! relay :=! for each valid message received s = m : p : p2 :... : pk!! if m extracted then!!! extracted := extracted {m}!!! relay := relay {s} At the end of round f +!! if m such that extracted = {m} then!!! deliver m!! else deliver SF In round f +, every correct process delivers either m or SF and then halts Initialization for process p :! if p = sender and p wishes to broadcast m then!! extracted := relay := {m} Process p in round k, k f +! for each s relay!! send s : p to all! receive round k messages from all processes! relay :=! for each valid message received s = m : p : p2 :... : pk!! if m extracted then!!! extracted := extracted {m}!!! relay := relay {s} At the end of round f +!! if m such that extracted = {m} then!!! deliver m!! else deliver SF Lemma. If a correct process extracts m, then every correct process eventually extracts m Agreement Proof Let r be the earliest round in which some correct process extracts m. Let that process be p. if p is the sender, then in round p sends a valid message to all. All correct processes extract that message in round otherwise, p has received in round r a message!! m : p : p2 :... : pr Claim: p, p2,..., pr are all faulty true for p = s Suppose pj, j r, were correct pj signed and relayed message in round j pj extracted message in round j CONTRADICTION If r f, p will send a valid message! m : p : p2 :... : pr : p! in round r+ f + and every correct process will extract it in round r+ f + If r =f +, by Claim above, p, p2,..., pf+ faulty At most f faulty processes CONTRADICTiON Initialization for process p :! if p = sender and p wishes to broadcast m then!! extracted := relay := {m} Process p in round k, k f +! for each s relay!! send s : p to all! receive round k messages from all processes! relay :=! for each valid message received s = m : p : p2 :... : pk!! if m extracted then!!! extracted := extracted {m}!!! relay := relay {s} At the end of round f +!! if m such that extracted = {m} then!!! deliver m!! else deliver SF Validity From Agreement and the observation that the sender, if correct, delivers its own message.

Agreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

Agreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Agreement Protocols CS60002: Distributed Systems Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Classification of Faults Based on components that failed Program

More information

Asynchronous Models For Consensus

Asynchronous Models For Consensus Distributed Systems 600.437 Asynchronous Models for Consensus Department of Computer Science The Johns Hopkins University 1 Asynchronous Models For Consensus Lecture 5 Further reading: Distributed Algorithms

More information

Distributed Systems Byzantine Agreement

Distributed Systems Byzantine Agreement Distributed Systems Byzantine Agreement He Sun School of Informatics University of Edinburgh Outline Finish EIG algorithm for Byzantine agreement. Number-of-processors lower bound for Byzantine agreement.

More information

Section 6 Fault-Tolerant Consensus

Section 6 Fault-Tolerant Consensus Section 6 Fault-Tolerant Consensus CS586 - Panagiota Fatourou 1 Description of the Problem Consensus Each process starts with an individual input from a particular value set V. Processes may fail by crashing.

More information

CS505: Distributed Systems

CS505: Distributed Systems Cristina Nita-Rotaru CS505: Distributed Systems. Required reading for this topic } Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson for "Impossibility of Distributed with One Faulty Process,

More information

Fault-Tolerant Consensus

Fault-Tolerant Consensus Fault-Tolerant Consensus CS556 - Panagiota Fatourou 1 Assumptions Consensus Denote by f the maximum number of processes that may fail. We call the system f-resilient Description of the Problem Each process

More information

Distributed Consensus

Distributed Consensus Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit or Abort in distributed transactions Reaching agreement

More information

AGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications:

AGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications: AGREEMENT PROBLEMS (1) AGREEMENT PROBLEMS Agreement problems arise in many practical applications: agreement on whether to commit or abort the results of a distributed atomic action (e.g. database transaction)

More information

Reliable Broadcast for Broadcast Busses

Reliable Broadcast for Broadcast Busses Reliable Broadcast for Broadcast Busses Ozalp Babaoglu and Rogerio Drummond. Streets of Byzantium: Network Architectures for Reliable Broadcast. IEEE Transactions on Software Engineering SE- 11(6):546-554,

More information

Impossibility of Distributed Consensus with One Faulty Process

Impossibility of Distributed Consensus with One Faulty Process Impossibility of Distributed Consensus with One Faulty Process Journal of the ACM 32(2):374-382, April 1985. MJ Fischer, NA Lynch, MS Peterson. Won the 2002 Dijkstra Award (for influential paper in distributed

More information

Unreliable Failure Detectors for Reliable Distributed Systems

Unreliable Failure Detectors for Reliable Distributed Systems Unreliable Failure Detectors for Reliable Distributed Systems A different approach Augment the asynchronous model with an unreliable failure detector for crash failures Define failure detectors in terms

More information

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1.

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1. Coordination Failures and Consensus If the solution to availability and scalability is to decentralize and replicate functions and data, how do we coordinate the nodes? data consistency update propagation

More information

Lower Bounds for Achieving Synchronous Early Stopping Consensus with Orderly Crash Failures

Lower Bounds for Achieving Synchronous Early Stopping Consensus with Orderly Crash Failures Lower Bounds for Achieving Synchronous Early Stopping Consensus with Orderly Crash Failures Xianbing Wang 1, Yong-Meng Teo 1,2, and Jiannong Cao 3 1 Singapore-MIT Alliance, 2 Department of Computer Science,

More information

Implementing Uniform Reliable Broadcast with Binary Consensus in Systems with Fair-Lossy Links

Implementing Uniform Reliable Broadcast with Binary Consensus in Systems with Fair-Lossy Links Implementing Uniform Reliable Broadcast with Binary Consensus in Systems with Fair-Lossy Links Jialin Zhang Tsinghua University zhanggl02@mails.tsinghua.edu.cn Wei Chen Microsoft Research Asia weic@microsoft.com

More information

Consensus when failstop doesn't hold

Consensus when failstop doesn't hold Consensus when failstop doesn't hold FLP shows that can't solve consensus in an asynchronous system with no other facility. It can be solved with a perfect failure detector. If p suspects q then q has

More information

Optimal Resilience Asynchronous Approximate Agreement

Optimal Resilience Asynchronous Approximate Agreement Optimal Resilience Asynchronous Approximate Agreement Ittai Abraham, Yonatan Amit, and Danny Dolev School of Computer Science and Engineering, The Hebrew University of Jerusalem, Israel {ittaia, mitmit,

More information

Failure detectors Introduction CHAPTER

Failure detectors Introduction CHAPTER CHAPTER 15 Failure detectors 15.1 Introduction This chapter deals with the design of fault-tolerant distributed systems. It is widely known that the design and verification of fault-tolerent distributed

More information

On the Number of Synchronous Rounds Required for Byzantine Agreement

On the Number of Synchronous Rounds Required for Byzantine Agreement On the Number of Synchronous Rounds Required for Byzantine Agreement Matthias Fitzi 1 and Jesper Buus Nielsen 2 1 ETH Zürich 2 University pf Aarhus Abstract. Byzantine agreement is typically considered

More information

Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems

Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems Xianbing Wang, Yong-Meng Teo, and Jiannong Cao Singapore-MIT Alliance E4-04-10, 4 Engineering Drive 3, Singapore 117576 Abstract

More information

Consensus. Consensus problems

Consensus. Consensus problems Consensus problems 8 all correct computers controlling a spaceship should decide to proceed with landing, or all of them should decide to abort (after each has proposed one action or the other) 8 in an

More information

Byzantine agreement with homonyms

Byzantine agreement with homonyms Distrib. Comput. (013) 6:31 340 DOI 10.1007/s00446-013-0190-3 Byzantine agreement with homonyms Carole Delporte-Gallet Hugues Fauconnier Rachid Guerraoui Anne-Marie Kermarrec Eric Ruppert Hung Tran-The

More information

Deterministic Consensus Algorithm with Linear Per-Bit Complexity

Deterministic Consensus Algorithm with Linear Per-Bit Complexity Deterministic Consensus Algorithm with Linear Per-Bit Complexity Guanfeng Liang and Nitin Vaidya Department of Electrical and Computer Engineering, and Coordinated Science Laboratory University of Illinois

More information

CS505: Distributed Systems

CS505: Distributed Systems Department of Computer Science CS505: Distributed Systems Lecture 10: Consensus Outline Consensus impossibility result Consensus with S Consensus with Ω Consensus Most famous problem in distributed computing

More information

Tolerating Permanent and Transient Value Faults

Tolerating Permanent and Transient Value Faults Distributed Computing manuscript No. (will be inserted by the editor) Tolerating Permanent and Transient Value Faults Zarko Milosevic Martin Hutle André Schiper Abstract Transmission faults allow us to

More information

How to solve consensus in the smallest window of synchrony

How to solve consensus in the smallest window of synchrony How to solve consensus in the smallest window of synchrony Dan Alistarh 1, Seth Gilbert 1, Rachid Guerraoui 1, and Corentin Travers 2 1 EPFL LPD, Bat INR 310, Station 14, 1015 Lausanne, Switzerland 2 Universidad

More information

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit Finally the Weakest Failure Detector for Non-Blocking Atomic Commit Rachid Guerraoui Petr Kouznetsov Distributed Programming Laboratory EPFL Abstract Recent papers [7, 9] define the weakest failure detector

More information

Do we have a quorum?

Do we have a quorum? Do we have a quorum? Quorum Systems Given a set U of servers, U = n: A quorum system is a set Q 2 U such that Q 1, Q 2 Q : Q 1 Q 2 Each Q in Q is a quorum How quorum systems work: A read/write shared register

More information

Time. Lakshmi Ganesh. (slides borrowed from Maya Haridasan, Michael George)

Time. Lakshmi Ganesh. (slides borrowed from Maya Haridasan, Michael George) Time Lakshmi Ganesh (slides borrowed from Maya Haridasan, Michael George) The Problem Given a collection of processes that can... only communicate with significant latency only measure time intervals approximately

More information

Degradable Agreement in the Presence of. Byzantine Faults. Nitin H. Vaidya. Technical Report #

Degradable Agreement in the Presence of. Byzantine Faults. Nitin H. Vaidya. Technical Report # Degradable Agreement in the Presence of Byzantine Faults Nitin H. Vaidya Technical Report # 92-020 Abstract Consider a system consisting of a sender that wants to send a value to certain receivers. Byzantine

More information

The Weakest Failure Detector to Solve Mutual Exclusion

The Weakest Failure Detector to Solve Mutual Exclusion The Weakest Failure Detector to Solve Mutual Exclusion Vibhor Bhatt Nicholas Christman Prasad Jayanti Dartmouth College, Hanover, NH Dartmouth Computer Science Technical Report TR2008-618 April 17, 2008

More information

Eventually consistent failure detectors

Eventually consistent failure detectors J. Parallel Distrib. Comput. 65 (2005) 361 373 www.elsevier.com/locate/jpdc Eventually consistent failure detectors Mikel Larrea a,, Antonio Fernández b, Sergio Arévalo b a Departamento de Arquitectura

More information

Colorless Wait-Free Computation

Colorless Wait-Free Computation Colorless Wait-Free Computation Companion slides for Distributed Computing Through Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum Distributed Computing through 1 Colorless Tasks 32 19 21 19-Apr-14 2

More information

C 1. Recap: Finger Table. CSE 486/586 Distributed Systems Consensus. One Reason: Impossibility of Consensus. Let s Consider This

C 1. Recap: Finger Table. CSE 486/586 Distributed Systems Consensus. One Reason: Impossibility of Consensus. Let s Consider This Recap: Finger Table Finding a using fingers Distributed Systems onsensus Steve Ko omputer Sciences and Engineering University at Buffalo N102 86 + 2 4 N86 20 + 2 6 N20 2 Let s onsider This

More information

Common Knowledge and Consistent Simultaneous Coordination

Common Knowledge and Consistent Simultaneous Coordination Common Knowledge and Consistent Simultaneous Coordination Gil Neiger College of Computing Georgia Institute of Technology Atlanta, Georgia 30332-0280 gil@cc.gatech.edu Mark R. Tuttle DEC Cambridge Research

More information

Model Checking of Fault-Tolerant Distributed Algorithms

Model Checking of Fault-Tolerant Distributed Algorithms Model Checking of Fault-Tolerant Distributed Algorithms Part I: Fault-Tolerant Distributed Algorithms Annu Gmeiner Igor Konnov Ulrich Schmid Helmut Veith Josef Widder LOVE 2016 @ TU Wien Josef Widder (TU

More information

Optimal Clock Synchronization

Optimal Clock Synchronization Optimal Clock Synchronization T. K. SRIKANTH AND SAM TOUEG Cornell University, Ithaca, New York Abstract. We present a simple, efficient, and unified solution to the problems of synchronizing, initializing,

More information

Byzantine Agreement. Gábor Mészáros. Tatracrypt 2012, July 2 4 Smolenice, Slovakia. CEU Budapest, Hungary

Byzantine Agreement. Gábor Mészáros. Tatracrypt 2012, July 2 4 Smolenice, Slovakia. CEU Budapest, Hungary CEU Budapest, Hungary Tatracrypt 2012, July 2 4 Smolenice, Slovakia Byzantium, 1453 AD. The Final Strike... Communication via Messengers The Byzantine Generals Problem Communication System Model Goal G

More information

Uniform consensus is harder than consensus

Uniform consensus is harder than consensus R Available online at www.sciencedirect.com Journal of Algorithms 51 (2004) 15 37 www.elsevier.com/locate/jalgor Uniform consensus is harder than consensus Bernadette Charron-Bost a, and André Schiper

More information

Optimal and Player-Replaceable Consensus with an Honest Majority Silvio Micali and Vinod Vaikuntanathan

Optimal and Player-Replaceable Consensus with an Honest Majority Silvio Micali and Vinod Vaikuntanathan Computer Science and Artificial Intelligence Laboratory Technical Report MIT-CSAIL-TR-2017-004 March 31, 2017 Optimal and Player-Replaceable Consensus with an Honest Majority Silvio Micali and Vinod Vaikuntanathan

More information

Randomized Protocols for Asynchronous Consensus

Randomized Protocols for Asynchronous Consensus Randomized Protocols for Asynchronous Consensus Alessandro Panconesi DSI - La Sapienza via Salaria 113, piano III 00198 Roma, Italy One of the central problems in the Theory of (feasible) Computation is

More information

Self-stabilizing Byzantine Agreement

Self-stabilizing Byzantine Agreement Self-stabilizing Byzantine Agreement Ariel Daliot School of Engineering and Computer Science The Hebrew University, Jerusalem, Israel adaliot@cs.huji.ac.il Danny Dolev School of Engineering and Computer

More information

The Weighted Byzantine Agreement Problem

The Weighted Byzantine Agreement Problem The Weighted Byzantine Agreement Problem Vijay K. Garg and John Bridgman Department of Electrical and Computer Engineering The University of Texas at Austin Austin, TX 78712-1084, USA garg@ece.utexas.edu,

More information

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas Slides are partially based on the joint work of Christos Litsas, Aris Pagourtzis,

More information

Bee s Strategy Against Byzantines Replacing Byzantine Participants

Bee s Strategy Against Byzantines Replacing Byzantine Participants Bee s Strategy Against Byzantines Replacing Byzantine Participants by Roberto Baldoni, Silvia Banomi, Shlomi Dolev, Michel Raynal, Amitay Shaer Technical Report #18-05 September 21, 2018 The Lynne and

More information

Byzantine Agreement. Gábor Mészáros. CEU Budapest, Hungary

Byzantine Agreement. Gábor Mészáros. CEU Budapest, Hungary CEU Budapest, Hungary 1453 AD, Byzantium Distibuted Systems Communication System Model Distibuted Systems Communication System Model G = (V, E) simple graph Distibuted Systems Communication System Model

More information

Shared Memory vs Message Passing

Shared Memory vs Message Passing Shared Memory vs Message Passing Carole Delporte-Gallet Hugues Fauconnier Rachid Guerraoui Revised: 15 February 2004 Abstract This paper determines the computational strength of the shared memory abstraction

More information

Signature-Free Broadcast-Based Intrusion Tolerance: Never Decide a Byzantine Value

Signature-Free Broadcast-Based Intrusion Tolerance: Never Decide a Byzantine Value Signature-Free Broadcast-Based Intrusion Tolerance: Never Decide a Byzantine Value Achour Mostefaoui, Michel Raynal To cite this version: Achour Mostefaoui, Michel Raynal. Signature-Free Broadcast-Based

More information

LOWER BOUNDS FOR RANDOMIZED CONSENSUS UNDER A WEAK ADVERSARY

LOWER BOUNDS FOR RANDOMIZED CONSENSUS UNDER A WEAK ADVERSARY LOWER BOUNDS FOR RANDOMIZED CONSENSUS UNDER A WEAK ADVERSARY HAGIT ATTIYA AND KEREN CENSOR-HILLEL Abstract. This paper studies the inherent trade-off between termination probability and total step complexity

More information

(Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains

(Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains (Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains Tyler Crain Vincent Gramoli, Mikel Larrea, Michel Raynal, University of Sydney, Australia {tyler.crain,vincent.gramoli}@sydney.edu.au

More information

Consensus and Universal Construction"

Consensus and Universal Construction Consensus and Universal Construction INF346, 2015 So far Shared-memory communication: safe bits => multi-valued atomic registers atomic registers => atomic/immediate snapshot 2 Today Reaching agreement

More information

Byzantine behavior also includes collusion, i.e., all byzantine nodes are being controlled by the same adversary.

Byzantine behavior also includes collusion, i.e., all byzantine nodes are being controlled by the same adversary. Chapter 17 Byzantine Agreement In order to make flying safer, researchers studied possible failures of various sensors and machines used in airplanes. While trying to model the failures, they were confronted

More information

Byzantine Agreement. Chapter Validity 190 CHAPTER 17. BYZANTINE AGREEMENT

Byzantine Agreement. Chapter Validity 190 CHAPTER 17. BYZANTINE AGREEMENT 190 CHAPTER 17. BYZANTINE AGREEMENT 17.1 Validity Definition 17.3 (Any-Input Validity). The decision value must be the input value of any node. Chapter 17 Byzantine Agreement In order to make flying safer,

More information

Authenticated Broadcast with a Partially Compromised Public-Key Infrastructure

Authenticated Broadcast with a Partially Compromised Public-Key Infrastructure Authenticated Broadcast with a Partially Compromised Public-Key Infrastructure S. Dov Gordon Jonathan Katz Ranjit Kumaresan Arkady Yerukhimovich Abstract Given a public-key infrastructure (PKI) and digital

More information

How can one get around FLP? Around FLP in 80 Slides. How can one get around FLP? Paxos. Weaken the problem. Constrain input values

How can one get around FLP? Around FLP in 80 Slides. How can one get around FLP? Paxos. Weaken the problem. Constrain input values How can one get around FLP? Around FLP in 80 Slides Weaken termination Weaken the problem use randomization to terminate with arbitrarily high probability guarantee termination only during periods of synchrony

More information

DEXON Consensus Algorithm

DEXON Consensus Algorithm DEXON Consensus Algorithm Infinitely Scalable, Low-Latency Byzantine Fault Tolerant Blocklattice DEXON Foundation Aug 9 2018, v1.0 Abstract A blockchain system is a replicated state machine that must be

More information

Distributed Computing in Shared Memory and Networks

Distributed Computing in Shared Memory and Networks Distributed Computing in Shared Memory and Networks Class 2: Consensus WEP 2018 KAUST This class Reaching agreement in shared memory: Consensus ü Impossibility of wait-free consensus 1-resilient consensus

More information

Early-Deciding Consensus is Expensive

Early-Deciding Consensus is Expensive Early-Deciding Consensus is Expensive ABSTRACT Danny Dolev Hebrew University of Jerusalem Edmond Safra Campus 9904 Jerusalem, Israel dolev@cs.huji.ac.il In consensus, the n nodes of a distributed system

More information

Replication predicates for dependent-failure algorithms

Replication predicates for dependent-failure algorithms Replication predicates for dependent-failure algorithms Flavio Junqueira and Keith Marzullo Department of Computer Science and Engineering University of California, San Diego La Jolla, CA USA {flavio,

More information

Valency Arguments CHAPTER7

Valency Arguments CHAPTER7 CHAPTER7 Valency Arguments In a valency argument, configurations are classified as either univalent or multivalent. Starting from a univalent configuration, all terminating executions (from some class)

More information

ROBUST & SPECULATIVE BYZANTINE RANDOMIZED CONSENSUS WITH CONSTANT TIME COMPLEXITY IN NORMAL CONDITIONS

ROBUST & SPECULATIVE BYZANTINE RANDOMIZED CONSENSUS WITH CONSTANT TIME COMPLEXITY IN NORMAL CONDITIONS ROBUST & SPECULATIVE BYZANTINE RANDOMIZED CONSENSUS WITH CONSTANT TIME COMPLEXITY IN NORMAL CONDITIONS Bruno Vavala University of Lisbon, Portugal Carnegie Mellon University, U.S. Nuno Neves University

More information

Almost-Surely Terminating Asynchronous Byzantine Agreement Revisited

Almost-Surely Terminating Asynchronous Byzantine Agreement Revisited Almost-Surely Terminating Asynchronous Byzantine Agreement Revisited Laasya Bangalore Ashish Choudhury Arpita Patra Abstract The problem of Byzantine Agreement (BA) is of interest to both distributed computing

More information

SYNCHRONOUS SET AGREEMENT: A CONCISE GUIDED TOUR (WITH OPEN PROBLEMS)

SYNCHRONOUS SET AGREEMENT: A CONCISE GUIDED TOUR (WITH OPEN PROBLEMS) I R I P U B L I C A T I O N I N T E R N E N o 1791 S INSTITUT DE RECHERCHE EN INFORMATIQUE ET SYSTÈMES ALÉATOIRES A SYNCHRONOUS SET AGREEMENT: A CONCISE GUIDED TOUR (WITH OPEN PROBLEMS) MICHEL RAYNAL CORENTIN

More information

A Realistic Look At Failure Detectors

A Realistic Look At Failure Detectors A Realistic Look At Failure Detectors C. Delporte-Gallet, H. Fauconnier, R. Guerraoui Laboratoire d Informatique Algorithmique: Fondements et Applications, Université Paris VII - Denis Diderot Distributed

More information

Crashed router. Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Pearson Education

Crashed router. Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Pearson Education Figure 11.1 A network artition Crashed router Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concets and Design Edn. 3 Pearson Education 2001 1 Figure 11.2 Server managing

More information

The Byzantine Generals Problem Leslie Lamport, Robert Shostak and Marshall Pease. Presenter: Jose Calvo-Villagran

The Byzantine Generals Problem Leslie Lamport, Robert Shostak and Marshall Pease. Presenter: Jose Calvo-Villagran + The Byzantine Generals Problem Leslie Lamport, Robert Shostak and Marshall Pease Presenter: Jose Calvo-Villagran jcalvovi@uwaterloo.ca + Overview n The Byzantine Generals Problem n A solution: Oral Messages

More information

Silence. Guy Goren Viterbi Faculty of Electrical Engineering, Technion

Silence. Guy Goren Viterbi Faculty of Electrical Engineering, Technion Silence Guy Goren Viterbi Faculty of Electrical Engineering, Technion sgoren@campus.technion.ac.il Yoram Moses Viterbi Faculty of Electrical Engineering, Technion moses@ee.technion.ac.il arxiv:1805.07954v1

More information

Protocol for Asynchronous, Reliable, Secure and Efficient Consensus (PARSEC)

Protocol for Asynchronous, Reliable, Secure and Efficient Consensus (PARSEC) Protocol for Asynchronous, Reliable, Secure and Efficient Consensus (PARSEC) Pierre Chevalier, Bart lomiej Kamiński, Fraser Hutchison, Qi Ma, Spandan Sharma June 20, 2018 Abstract In this paper we present

More information

Easy Consensus Algorithms for the Crash-Recovery Model

Easy Consensus Algorithms for the Crash-Recovery Model Reihe Informatik. TR-2008-002 Easy Consensus Algorithms for the Crash-Recovery Model Felix C. Freiling, Christian Lambertz, and Mila Majster-Cederbaum Department of Computer Science, University of Mannheim,

More information

Concurrent Non-malleable Commitments from any One-way Function

Concurrent Non-malleable Commitments from any One-way Function Concurrent Non-malleable Commitments from any One-way Function Margarita Vald Tel-Aviv University 1 / 67 Outline Non-Malleable Commitments Problem Presentation Overview DDN - First NMC Protocol Concurrent

More information

Round Complexity of Authenticated Broadcast with a Dishonest Majority

Round Complexity of Authenticated Broadcast with a Dishonest Majority Round Complexity of Authenticated Broadcast with a Dishonest Majority Juan A. Garay Jonathan Katz Chiu-Yuen Koo Rafail Ostrovsky Abstract Broadcast among n parties in the presence of t n/3 malicious parties

More information

Causality and Time. The Happens-Before Relation

Causality and Time. The Happens-Before Relation Causality and Time The Happens-Before Relation Because executions are sequences of events, they induce a total order on all the events It is possible that two events by different processors do not influence

More information

CS3110 Spring 2017 Lecture 21: Distributed Computing with Functional Processes

CS3110 Spring 2017 Lecture 21: Distributed Computing with Functional Processes CS3110 Spring 2017 Lecture 21: Distributed Computing with Functional Processes Robert Constable Date for Due Date PS6 Out on April 24 May 8 (day of last lecture) 1 Introduction In the next two lectures,

More information

Early consensus in an asynchronous system with a weak failure detector*

Early consensus in an asynchronous system with a weak failure detector* Distrib. Comput. (1997) 10: 149 157 Early consensus in an asynchronous system with a weak failure detector* André Schiper Ecole Polytechnique Fe dérale, De partement d Informatique, CH-1015 Lausanne, Switzerland

More information

On Equilibria of Distributed Message-Passing Games

On Equilibria of Distributed Message-Passing Games On Equilibria of Distributed Message-Passing Games Concetta Pilotto and K. Mani Chandy California Institute of Technology, Computer Science Department 1200 E. California Blvd. MC 256-80 Pasadena, US {pilotto,mani}@cs.caltech.edu

More information

On the weakest failure detector ever

On the weakest failure detector ever On the weakest failure detector ever The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation As Published Publisher Guerraoui, Rachid

More information

Failure Detectors. Seif Haridi. S. Haridi, KTHx ID2203.1x

Failure Detectors. Seif Haridi. S. Haridi, KTHx ID2203.1x Failure Detectors Seif Haridi haridi@kth.se 1 Modeling Timing Assumptions Tedious to model eventual synchrony (partial synchrony) Timing assumptions mostly needed to detect failures Heartbeats, timeouts,

More information

A Message-Passing and Adaptive Implementation of the Randomized Test-and-Set Object

A Message-Passing and Adaptive Implementation of the Randomized Test-and-Set Object A Message-Passing and Adaptive Implementation of the Randomized Test-and-Set Object Emmanuelle Anceaume, François Castella, Achour Mostefaoui, Bruno Sericola To cite this version: Emmanuelle Anceaume,

More information

Failure Detection and Consensus in the Crash-Recovery Model

Failure Detection and Consensus in the Crash-Recovery Model Failure Detection and Consensus in the Crash-Recovery Model Marcos Kawazoe Aguilera Wei Chen Sam Toueg Department of Computer Science Upson Hall, Cornell University Ithaca, NY 14853-7501, USA. aguilera,weichen,sam@cs.cornell.edu

More information

How to Elect a Leader Faster than a Tournament

How to Elect a Leader Faster than a Tournament How to Elect a Leader Faster than a Tournament Dan Alistarh Microsoft Research dan.alistarh@microsoft.com Rati Gelashvili MIT gelash@mit.edu Adrian Vladu MIT avladu@mit.edu ABSTRACT The problem of electing

More information

Multi-join Query Evaluation on Big Data Lecture 2

Multi-join Query Evaluation on Big Data Lecture 2 Multi-join Query Evaluation on Big Data Lecture 2 Dan Suciu March, 2015 Dan Suciu Multi-Joins Lecture 2 March, 2015 1 / 34 Multi-join Query Evaluation Outline Part 1 Optimal Sequential Algorithms. Thursday

More information

Resolving Message Complexity of Byzantine. Agreement and Beyond. 1 Introduction

Resolving Message Complexity of Byzantine. Agreement and Beyond. 1 Introduction Resolving Message Complexity of Byzantine Agreement and Beyond Zvi Galil Alain Mayer y Moti Yung z (extended summary) Abstract Byzantine Agreement among processors is a basic primitive in distributed computing.

More information

Generic Broadcast. 1 Introduction

Generic Broadcast. 1 Introduction Generic Broadcast Fernando Pedone André Schiper Département d Informatique Ecole Polytechnique Fédérale delausanne 1015 Lausanne, Switzerland {Fernando.Pedone, Andre.Schiper@epfl.ch} Abstract Message ordering

More information

6.852: Distributed Algorithms Fall, Class 10

6.852: Distributed Algorithms Fall, Class 10 6.852: Distributed Algorithms Fall, 2009 Class 10 Today s plan Simulating synchronous algorithms in asynchronous networks Synchronizers Lower bound for global synchronization Reading: Chapter 16 Next:

More information

Time. To do. q Physical clocks q Logical clocks

Time. To do. q Physical clocks q Logical clocks Time To do q Physical clocks q Logical clocks Events, process states and clocks A distributed system A collection P of N single-threaded processes (p i, i = 1,, N) without shared memory The processes in

More information

Basic Theorems about Independence, Spanning, Basis, and Dimension

Basic Theorems about Independence, Spanning, Basis, and Dimension Basic Theorems about Independence, Spanning, Basis, and Dimension Theorem 1 If v 1 ; : : : ; v m span V; then every set of vectors in V with more than m vectors must be linearly dependent. Proof. Let w

More information

The Heard-Of Model: Computing in Distributed Systems with Benign Failures

The Heard-Of Model: Computing in Distributed Systems with Benign Failures The Heard-Of Model: Computing in Distributed Systems with Benign Failures Bernadette Charron-Bost Ecole polytechnique, France André Schiper EPFL, Switzerland Abstract Problems in fault-tolerant distributed

More information

Byzantine Agreement in Polynomial Expected Time

Byzantine Agreement in Polynomial Expected Time Byzantine Agreement in Polynomial Expected Time [Extended Abstract] Valerie King Dept. of Computer Science, University of Victoria P.O. Box 3055 Victoria, BC, Canada V8W 3P6 val@cs.uvic.ca ABSTRACT In

More information

THE chase for the weakest system model that allows

THE chase for the weakest system model that allows 1 Chasing the Weakest System Model for Implementing Ω and Consensus Martin Hutle, Dahlia Malkhi, Ulrich Schmid, Lidong Zhou Abstract Aguilera et al. and Malkhi et al. presented two system models, which

More information

Byzantine Vector Consensus in Complete Graphs

Byzantine Vector Consensus in Complete Graphs Byzantine Vector Consensus in Complete Graphs Nitin H. Vaidya University of Illinois at Urbana-Champaign nhv@illinois.edu Phone: +1 217-265-5414 Vijay K. Garg University of Texas at Austin garg@ece.utexas.edu

More information

Failure detection and consensus in the crash-recovery model

Failure detection and consensus in the crash-recovery model Distrib. Comput. (2000) 13: 99 125 c Springer-Verlag 2000 Failure detection and consensus in the crash-recovery model Marcos Kawazoe Aguilera 1, Wei Chen 2, Sam Toueg 1 1 Department of Computer Science,

More information

Dynamic Group Communication

Dynamic Group Communication Dynamic Group Communication André Schiper Ecole Polytechnique Fédérale de Lausanne (EPFL) 1015 Lausanne, Switzerland e-mail: andre.schiper@epfl.ch Abstract Group communication is the basic infrastructure

More information

Realistic Failures in Secure Multi-Party Computation

Realistic Failures in Secure Multi-Party Computation Realistic Failures in Secure Multi-Party Computation Vassilis Zikas 1, Sarah Hauser 2, and Ueli Maurer 1 Department of Computer Science, ETH Zurich, 8092 Zurich, Switzerland 1 {vzikas,maurer}@inf.ethz.ch,

More information

Chapter 11 Time and Global States

Chapter 11 Time and Global States CSD511 Distributed Systems 分散式系統 Chapter 11 Time and Global States 吳俊興 國立高雄大學資訊工程學系 Chapter 11 Time and Global States 11.1 Introduction 11.2 Clocks, events and process states 11.3 Synchronizing physical

More information

Lecture 18: Message Authentication Codes & Digital Signa

Lecture 18: Message Authentication Codes & Digital Signa Lecture 18: Message Authentication Codes & Digital Signatures MACs and Signatures Both are used to assert that a message has indeed been generated by a party MAC is the private-key version and Signatures

More information

Private and Verifiable Interdomain Routing Decisions. Proofs of Correctness

Private and Verifiable Interdomain Routing Decisions. Proofs of Correctness Technical Report MS-CIS-12-10 Private and Verifiable Interdomain Routing Decisions Proofs of Correctness Mingchen Zhao University of Pennsylvania Andreas Haeberlen University of Pennsylvania Wenchao Zhou

More information

Unreliable Failure Detectors for Reliable Distributed Systems

Unreliable Failure Detectors for Reliable Distributed Systems Unreliable Failure Detectors for Reliable Distributed Systems Tushar Deepak Chandra I.B.M Thomas J. Watson Research Center, Hawthorne, New York and Sam Toueg Cornell University, Ithaca, New York We introduce

More information

Time Free Self-Stabilizing Local Failure Detection

Time Free Self-Stabilizing Local Failure Detection Research Report 33/2004, TU Wien, Institut für Technische Informatik July 6, 2004 Time Free Self-Stabilizing Local Failure Detection Martin Hutle and Josef Widder Embedded Computing Systems Group 182/2

More information

Byzantine Agreement with Homonyms

Byzantine Agreement with Homonyms Byzantine Agreement with Homonyms Carole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui, Anne-Marie Kermarrec, Eric Ruppert, Hung Tran-The To cite this version: Carole Delporte-Gallet, Hugues Fauconnier,

More information

Combining Shared Coin Algorithms

Combining Shared Coin Algorithms Combining Shared Coin Algorithms James Aspnes Hagit Attiya Keren Censor Abstract This paper shows that shared coin algorithms can be combined to optimize several complexity measures, even in the presence

More information

Abstract. The paper considers the problem of implementing \Virtually. system. Virtually Synchronous Communication was rst introduced

Abstract. The paper considers the problem of implementing \Virtually. system. Virtually Synchronous Communication was rst introduced Primary Partition \Virtually-Synchronous Communication" harder than Consensus? Andre Schiper and Alain Sandoz Departement d'informatique Ecole Polytechnique Federale de Lausanne CH-1015 Lausanne (Switzerland)

More information