Proof sketch Assume all correct have the same estimate v at round r BV

Proof sketch assume all correct have the same

This preview shows page 33 - 46 out of 60 pages.

change their estimate thereafter. Proof sketch. Assume all correct have the same estimate v at round r. BV-Obligation and BV- Justification => bin_values[r] = {v}. Hence, at every correct we have values = {v}, so that est becomes v.
Image of page 33
34 Safe DBFT (con’t) Lemma 2: Let pi and pj be correct. If their values are singletons, then they are the same. Proof sketch. If a correct process has values = {v} then it received AUX[r]{v} from n-t distinct processes and t+1 correct. For two correct processes to have w and v as this singleton, it would mean they received these distinct values from n-t processes each. As (n- t)+(t+1) > n, one correct process must have sent the same value to both, and we have v=w.
Image of page 34
35 Safe DBFT (con’t) Theorem [Agreement]: No two correct processes decide different values. Proof sketch. Let r be the 1st round where a correct process decides, hence values[r] = {v=r mod 2}. If another correct process decides w in the same round, then v=w by Lemma 2. Let pj be a correct that does not decide in round r. By Lemma 2, values j {w} so values j = {0,1}. Thus est j = v. All correct have thus the same estimate in round r+1, and stick to it (Lemma 1).
Image of page 35
36 Safe DBFT (con’t) BC, binary consensus instance mv-propose(v) { // similar to [PODC'94] RB-bcast VAL(v) // reliable broadcast [Bra’87] repeat if ( k : proposals[k] BC[k].binpropose() not invoked) BC[k].binpropose(1) until ( l: bin-decisions[l]=1) for each k such that BC[k].binpropose() not invoked: BC[k].binpropose(0) wait until ( 1 x n bin-decisions[x] ) j = min{x : bin-decisions[j] = 1} wait until proposals[j] decide( j:bin-decisions[j]=1 proposals[j]) } when val(v) is RB-delivered from pj do // reliable broadcast delivery if valid(v) then proposals i [j] <- v; BV-deliver b-val[1](1) to BC[j] when BC[k].binpropose() returns b do bin-decisions[k] <- b
Image of page 36
37 Safe DBFT (con’t) BC, binary consensus instance mv-propose(v) { // similar to [PODC'94] RB-bcast VAL(v) // reliable broadcast [Bra’87] repeat if ( k : proposals[k] BC[k].binpropose(1) until ( l: bin-decisions[l]=1) for each k such that BC[k].binpropose() not invoked: BC[k].binpropose(0) wait until ( 1 x n bin-decisions[x] ) j = min{x : bin-decisions[j] = 1} wait until proposals[j] decide( j:bin-decisions[j]=1 proposals[j]) } when val(v) is RB-delivered from pj do if valid(v) then proposals i [j] <- v; BV-deliver b-val[1](1) to BC[j] when BC[k].binpropose() returns b do bin-decisions[k] <- b Spawn multiple binary cons. instances Use binary decisions as a bitmask
Image of page 37
Red Belly Blockchain 38
Image of page 38
The Red Belly Blockchain 39 All nodes communicate through TCP + SSL Certificates are given in blocks genesis
Image of page 39
The Red Belly Blockchain 40 The genesis block also contains a list of n participants genesis
Image of page 40
A tx is committed if t+1 participants say so. The Red Belly Blockchain 41 External nodes (clients) access the blockchain through these participants
Image of page 41
are regularly changed: n, n’, n’’… but t’<n’/3, t’’<n’’/3… The Red Belly Blockchain 42 The n nodes running the consensus…
Image of page 42
The Red Belly Blockchain 43 And encoded in the next block genesis if the correct n participants agree (consensus)
Image of page 43
The Red Belly Blockchain 44 Signature verification uses ECDSA and is sharded …each transaction is verified by t+1 k 2t+1 nodes
Image of page 44
How does it perform?
Image of page 45
Image of page 46

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