1 2 3 24 Agreement no two correct processes decide differently Termination

1 2 3 24 agreement no two correct processes decide

This preview shows page 24 - 34 out of 60 pages.

1 2 3 24 Agreement: no two correct processes decide differently Termination: every correct process decides Validity: the decided value is proposed by a correct process Each correct process invokes propose(v) with its value v and decides the returned value such that:
Image of page 24
Byzantine Consensus? 1 2 3 25 Agreement: no two correct processes decide differently Termination: every correct process decides Validity: the decided value is proposed by a correct process Each correct process invokes propose(v) with its value v and decides the returned value such that:
Image of page 25
Blockchain Consensus [AlgoTel’17] 1 2 3 26 Agreement: no two correct processes decide differently Termination: every correct process decides Validity: the decided value satisfies the predicate valid() Provided an application-specific valid() predicate, each correct process invokes propose(v) and decides the returned value such that:
Image of page 26
Democratic BFT 27
Image of page 27
Binary Byzantine Consensus 1 2 3 28 Agreement: no two correct processes decide differently Termination: every correct process decides Validity: if all correct processes propose the same value, then no other value can be decided Each correct process invokes propose(v) with its value v {0,1} and decides the returned value such that:
Image of page 28
29 Safe DBFT [CGLR’17] est: local current estimate of the value to decide r: local round number, initially 0 bin-values[]: array of binary values for all rounds b, auxiliary binary value values i , auxiliary set of values The algorithm uses two message types EST[r]() used at round r to BV-bcast est. AUX[r]() used at round r to broadcast bin-values[r]
Image of page 29
30 Safe DBFT (con’t) BV-broadcast [JACM’15] BV-obligation: if t+1 correct BV-bcast v, then v is eventually added to the set bin-values of all correct processes BV-justification: if pi is correct and v in bin-values i , then v was BV-bcast by a correct process BV-uniformity: if v is added to bin-values i of correct p i , then eventually v will be in bin-values j for all correct p j BV-termination: eventually bin-values of correct p i is not empty
Image of page 30
31 Safe DBFT (con’t) est v r 0 while ( true ) { r r+1 BV-bcast EST[r](est) wait until (bin-values[r] ) bcast AUX[r](bin-values[r]) wait until (messages AUX[r](bval p1 ), …, AUX[r](bval p(n-t) ) received from (n-t) distinct processes p(x), 1 x n-t, and their content is such that: a non-empty set values i such that (i) values i in bin-values[r] i and (ii) values i = U b_val x b r mod 2 if (values i = {v}) { est v if (v=b) then decide(v) if not done yet } else { est b } }
Image of page 31
32 Safe DBFT (con’t) est v r 0 while ( true ) { r r+1 BV-bcast EST[r](est) wait until (bin-values[r] ) bcast AUX[r](bin-values[r]) wait until (messages AUX[r](bval p1 ), …, AUX[r](bval p(n-t) ) received from (n-t) distinct processes p(x), 1 x n-t, and their content is such that: a non-empty set values i such that (i) values i in bin-values[r] i and (ii) values i = U b_val x b r mod 2 if (values i = {v}) { est v if (v=b) then decide(v) if not done yet } else { est b } } Filter out values proposed only by Byzantine processes
Image of page 32
33 Safe DBFT (con’t) Lemma 1: If at the beginning of a round, all correct processes have the same estimate, they never change their estimate thereafter.
Image of page 33
Image of page 34

You've reached the end of your free preview.

Want to read all 60 pages?

  • '19
  • Cryptography, Binary numeral system, Byzantine fault tolerance, Quantum Byzantine agreement, Barbara Liskov, blockchain

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes
A+ icon
Ask Expert Tutors