1 / 12

Approximate Consensus with Crash Failures in Asynchronous Systems

Approximate Consensus with Crash Failures in Asynchronous Systems. Approximate Consensus with Crash Failures & Asynchrony. Validity: Output in the convex hull of inputs Agreement: Outputs within ε of each other, for a constant ε > 0. Termination in finite time. Asynchronous system

jared
Download Presentation

Approximate Consensus with Crash Failures in Asynchronous Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Approximate Consensus with Crash Failures in Asynchronous Systems

  2. Approximate Consensus withCrash Failures & Asynchrony • Validity: Output in the convex hull of inputs • Agreement: Outputs within ε of each other, for a constant ε > 0. • Termination in finite time

  3. Asynchronous system • Up to f processors crash • n > 2f

  4. Algorithm for each processor Initial state = input Asynchronous rounds: Each message is indexed by the round number in which it is sent. For the first round, round (r) = 1

  5. Algorithm for each processor Initial state = input In r-th round: • Send current state to all processors as a round-r message • Wait until round-r messages (state) received from n-f processors • New state = average of values in the above n-f messages

  6. Liveness By induction • At least n-f non-faulty processors start round r > 0 • They send messages to everyone • Thus, all non-faulty processors eventually receive at least n-f round r messages • And progress to round r+1

  7. Agreement Let M[r] = maximum state value over all processors that have not crashed at the end of r rounds M[0] = maximum over processors that send at least one message before crashing M[r] = minimum … (similar to M[r] but minimum instead of maximum)

  8. M[0] – m[0] max difference between input values at processors that do not crash at the start of the algorithm We will show that M[r] – m[r] is bounded by a monotonically decreasing function of round index.

  9. n > 2f • n – f > n/2 • Processors i and j that complete round r+1 receive state from at least one identical processor, say k

  10. Let Vi[r] denote the state of processor i at the end of round r (if processor is is non-faulty at that time) • Vi[0] = input of processor I • Round r > 0 Vi[r] = average of n-f values, all upper bounded by M[r-1] Vj[r] = average of n-f values, all lower bounded by m[r-1]

  11. Vi[r] & Vj[r] weighted average of n-f values. Determine an upper bound on Vi[r]-Vj[r] noting that at least one of the n-f values used in each case is common, and has weight 1/(n-f)

  12. Termination • Algorithm as specified does not specify when processors terminate • Two alternatives: • If a bound is known on initial inputs, then we can statically determine the maximum number of rounds required to reach agreement within ε. • Otherwise, nodes can estimate the range of inputs initially, and use that to determine how many rounds are sufficient[Abraham,Amit,Dolev] use this approach for approximate Byzantine consensus.

More Related