170 likes | 282 Vues
Reaching Approximate Agreement in an Asynchronous Environment. And what does it have to do with the Witness Protection Program. Today’s Lecture. What approximately happened at Byzantine The Byzantine Agreement Problem BA - Known Results The Approximate Byzantine Agreement Problem
E N D
Reaching Approximate Agreementin an Asynchronous Environment And what does it have to do with the Witness Protection Program
Today’s Lecture • What approximately happened at Byzantine • The Byzantine Agreement Problem • BA - Known Results • The Approximate Byzantine Agreement Problem • Formal Definition • Previous Work • Our Algorithm, Two Versions.
What “approximately” happened at Byzantine • May 29th, 1453 • The Turks are besieging the city of Constantinople, A.K.A Byzantine. • The Muslim generalsAre trying to coordinate an attack.
The Byzantine Agreement Problem • Introduced by Lamport, Pease and Shostak, 80-82 • A world of n processes/generals, t of them are faulty/traitors. The generals are trying to coordinate. • Can this be solved? • Depends on the model. • Computational Bounds / Cryptography • Network Topology • Synchronous VS. Asynchronous
BA - Known Results • Synchronous – 3t+1 deterministic algorithm • Asynchronous – No Deterministic Algorithm Exists – FLP 85 • Randomized Algorithms Exists – Benor, Bracha and more.
The Approximate Byzantine Agreement Problem • Introduced by Dolev et al, 82 • How “Approximate”? • Each process has a Real initial value • A predetermined Epsilon. • All processes must halt within Epsilon from each-other.
Formal Definition • Agreement - All non-faulty processes halt with values within Epsilon of each other; • Validity - The value of each non-faulty process must be within the range of the initial values of non-faulty processes. • Termination – All non-faulty processes must eventually halt.
Previous Work • Dolev. 82 • The family of algorithms. • Trimming Functions. • 3t+1 Synchronous • 5t+1 Asynchronous • Fekete – 86,94 • Work on asynchronous, failure-by-omission. • Proven Asymptotically optimal algorithms.
Our Algorithm • Using Reliable Broadcast with FIFO channels. • Correctness – If a non-faulty process p broadcasts m, all non-faulty processes will accept m from p. • Unforgeability – if a non-faulty process doesn’t broadcast m, no non-faulty process accept m from p • Relay – If a non-faulty process accepts m from p, all non-faulty processes eventually accept m from p. • Using Reliable Broadcast we can lower the requirement to 4t+1
Our Algorithm, Cont… • The range of the non-faulty processes is cut in half in every round – intuition. • Note that each pair of processes have in common atleast 2t+1 values. • The worst the adversary can do, is “pick a side”. • After the trimming, there’s enough in common.
Our Algorithm, cont… • To reach 3t+1 we do the following: • Each process broadcasts its value • Collect values • Report what you’ve heard to all processes • Collects other’s reports. • When sufficient reports are obtained, • Trim the values, and calculate a new value
Our Algorithm, cont… What’s sufficient? • When we have n-t witnesses. • A witness for process q is a process p, whose first n-t values were also explicitly heard by q. • Common witnesses - Quorums
Our Algorithm, Cont… Initialization & Termination • Each round we trim the range in half. • Initial declarative round, where the bounds are set. • We run for log(range) rounds.
Our Algorithm, Cont… • The range of the non-faulty processes is cut in half in every round: • Every two processes have at least n-t common values. • The Median of the common values is remains after trimming in both processes. • Thus, after averaging, the range is cut.
Our Algorithm, Conclusion. • We have devised a t-resilient algorithm, where n>3t, and thus is Optimal • Convergence rate is bound by the non-faulty processes’ initial range. • The Witness concept may be useful for other problems as well.