federated byzantine
play

Federated Byzantine Quorum Systems lvaro Garca-Prez and Alexey - PowerPoint PPT Presentation

Federated Byzantine Quorum Systems lvaro Garca-Prez and Alexey Gotsman IMDEA Software Institute Blockchains Append-only, distributed ledger. Uses a Byzantine fault-tolerant (BFT) consensus algorithm to ensure that distributed nodes


  1. Federated Byzantine Quorum Systems Álvaro García-Pérez and Alexey Gotsman IMDEA Software Institute

  2. Blockchains  Append-only, distributed ledger.  Uses a Byzantine fault-tolerant (BFT) consensus algorithm to ensure that distributed nodes agree on the next block to append. header header header ... transaction transaction transaction hash hash

  3. Permissioned and permissionless blockchains  Permissioned blockchains assume a fixed set of participants:  classic consensus algorithms, decisions rely on a quorum, I.e., 3 f +1.  Permissionless blockchains have open membership:  often rely on proof-of-work, high energy consumption.

  4. Flexible trust  Combines quorum systems with decentralisation:  The set of participants is fixed, the choice of trust is not.

  5. Flexible trust  Combines quorum systems with decentralisation:  The set of participants is fixed, the choice of trust is not.  Classic quorum systems:  Dissemination quorum systems (DQS) [Malkhi and Reiter, 1998].  Allow to choose a tailor-made quorum system.  Stellar's federated systems [Mazières, 2016]:  Federated Byzantine quorum systems (FBQS) [Mazières, 2016].  Each participant decides who to trust, and participants may not know the whole system.

  6. Broadcast and quorum systems classic quorum systems Stellar'sfederated systems

  7. Broadcast and quorum systems classic quorum systems Stellar'sfederated systems Dissemination quorum systems [Malkhi and Reiter, 1998] Bracha broadcast [Bracha, 1987]

  8. Broadcast and quorum systems classic quorum systems Stellar'sfederated systems Dissemination quorum systems [Malkhi and Reiter, 1998] Bracha broadcast [Bracha, 1987] Reliable Byzantine broadcast abstraction

  9. Broadcast and quorum systems classic quorum systems Stellar'sfederated systems Dissemination quorum Federated Byzantine systems quorum systems [Malkhi and Reiter, 1998] [Mazières, 2016] Stellar broadcast Bracha broadcast [Bracha, 1987] [Mazières,2016] Reliable Byzantine broadcast abstraction

  10. Our contribution classic quorum systems Stellar'sfederated systems Dissemination quorum Federated Byzantine systems quorum systems [Malkhi and Reiter, 1998] [Mazières, 2016] ✓ Stellar broadcast Bracha broadcast [Bracha, 1987] [Mazières,2016] Reliable Byzantine broadcast Weakly reliable Byzantine abstraction broadcast abstraction

  11. Dissemination Quroum System (DQS)

  12. DQS 𝕎 = {1,2,3,4} ( ℚ : 2 , 𝔺 : 2 ) 𝕎 𝕎 U 1 = {1,2} ∈ ℚ 2 2 U 2 = {1,3,4} ∈ ℚ U 3 = {1,2,3} ∈ ℚ U 4 = {1,2,3,4} ∈ ℚ 1 2 B 1 = {2} ∈ 𝔺 B 2 = {3,4} ∈ 𝔺 4 3  (Consistency) The intersection of any two quorums U and U' in ℚ cannot lie within any element B of 𝔺 .  (Availability) For any element B of 𝔺 there exists some quorum U in ℚ that has empty intersection with B .

  13. DQS 𝕎 = {1,2,3,4} ( ℚ : 2 , 𝔺 : 2 ) 𝕎 𝕎 U 1 = {1,2} ∈ ℚ 2 2 U 2 = {1,3,4} ∈ ℚ U 3 = {1,2,3} ∈ ℚ U 4 = {1,2,3,4} ∈ ℚ 1 U 1 2 B 1 = {2} ∈ 𝔺 B 2 = {3,4} ∈ 𝔺 4 3  (Consistency) The intersection of any two quorums U and U' in ℚ cannot lie within any element B of 𝔺 .  (Availability) For any element B of 𝔺 there exists some quorum U in ℚ that has empty intersection with B .

  14. DQS 𝕎 = {1,2,3,4} ( ℚ : 2 , 𝔺 : 2 ) 𝕎 𝕎 U 1 = {1,2} ∈ ℚ 2 2 U 2 = {1,3,4} ∈ ℚ U 3 = {1,2,3} ∈ ℚ U 4 = {1,2,3,4} ∈ ℚ 1 U 1 2 B 1 = {2} ∈ 𝔺 U 2 B 2 = {3,4} ∈ 𝔺 4 3  (Consistency) The intersection of any two quorums U and U' in ℚ cannot lie within any element B of 𝔺 .  (Availability) For any element B of 𝔺 there exists some quorum U in ℚ that has empty intersection with B .

  15. DQS 𝕎 = {1,2,3,4} ( ℚ : 2 , 𝔺 : 2 ) 𝕎 𝕎 U 1 = {1,2} ∈ ℚ 2 2 U 2 = {1,3,4} ∈ ℚ U 3 = {1,2,3} ∈ ℚ U 4 = {1,2,3,4} ∈ ℚ 1 2 B 1 = {2} ∈ 𝔺 U 3 U 2 B 2 = {3,4} ∈ 𝔺 4 3  (Consistency) The intersection of any two quorums U and U' in ℚ cannot lie within any element B of 𝔺 .  (Availability) For any element B of 𝔺 there exists some quorum U in ℚ that has empty intersection with B .

  16. DQS 𝕎 = {1,2,3,4} ( ℚ : 2 , 𝔺 : 2 ) 𝕎 𝕎 U 1 = {1,2} ∈ ℚ 2 2 U 2 = {1,3,4} ∈ ℚ U 3 = {1,2,3} ∈ ℚ U 4 = {1,2,3,4} ∈ ℚ 1 2 B 1 = {2} ∈ 𝔺 B 2 = {3,4} ∈ 𝔺 U 4 4 3  (Consistency) The intersection of any two quorums U and U' in ℚ cannot lie within any element B of 𝔺 .  (Availability) For any element B of 𝔺 there exists some quorum U in ℚ that has empty intersection with B .

  17. DQS 𝕎 = {1,2,3,4} ( ℚ : 2 , 𝔺 : 2 ) 𝕎 𝕎 U 1 = {1,2} ∈ ℚ 2 2 U 2 = {1,3,4} ∈ ℚ U 3 = {1,2,3} ∈ ℚ U 4 = {1,2,3,4} ∈ ℚ 1 2 B 1 = {2} ∈ 𝔺 B 2 = {3,4} ∈ 𝔺 U 4 4 3  (Consistency) The intersection of any two quorums U and U' in ℚ cannot lie within any element B of 𝔺 .  (Availability) For any element B of 𝔺 there exists some quorum U in ℚ that has empty intersection with B .

  18. DQS 𝕎 = {1,2,3,4} ( ℚ : 2 , 𝔺 : 2 ) 𝕎 𝕎 U 1 = {1,2} ∈ ℚ 2 2 U 2 = {1,3,4} ∈ ℚ U 3 = {1,2,3} ∈ ℚ U 4 = {1,2,3,4} ∈ ℚ 1 2 B 1 = {2} ∈ 𝔺 B 2 = {3,4} ∈ 𝔺 U 4 4 3  (Consistency) The intersection of any two quorums U and U' in ℚ cannot lie within any element B of 𝔺 .  (Availability) For any element B of 𝔺 there exists some quorum U in ℚ that has empty intersection with B .

  19. DQS and threshold models  DQS generalises usual BFT models with threshold f and n = 3 f +1 servers.

  20. DQS and threshold models  DQS generalises usual BFT models with threshold f and n = 3 f +1 servers. f = 1, n = 4 3 1 2 4

  21. DQS and threshold models  DQS generalises usual BFT models with threshold f and n = 3 f +1 servers. f = 1, n = 4 3 1 2 4 ℚ = { {1,2,3}, {1,2,4}, {1,3,4}, {2,3,4}, {1,2,3,4} } Quorums equal or bigger than 2 f +1 = 3 𝔺 = { {1}, {2}, {3}, {4} } Fail-prone sets exactly f = 1

  22. DQS and threshold models  DQS generalises usual BFT models with threshold f and n = 3 f +1 servers. f = 1, n = 4 3 1 2 4 ℚ = { {1,2,3}, {1,2,4}, {1,3,4}, {2,3,4}, {1,2,3,4} } Quorums equal or bigger than 2 f +1 = 3 𝔺 = { {1}, {2}, {3}, {4} } Fail-prone sets exactly f = 1  (Consistency) Every two quorums intersect in at least f +1 servers.  (Availability) If f servers fail, the remaining ones constitutes a quorum.

  23. BrachaBroadcast

  24. Example: 3 f +1 client 3 1 2 4

  25. Example: 3 f +1 client 3 1 2 4

  26. Example: 3 f +1 client 3 1 2 4 receive [ BCAST a ] receive [ BCAST a ] receive [ BCAST b ] To broadcast a value a , the client sends [BCAST a ] to every server.

  27. Example: 3 f +1 client 3 1 2 4 receive [ BCAST a ] receive [ BCAST a ] receive [ BCAST b ] send [ ECHO a ] to all send [ ECHO a ] to all send [ ECHO b ] to all After receiving [BCAST a ] , a server sends [ECHO a ] to every server.

  28. Example: 3 f +1 client 3 1 2 4 receive [ BCAST a ] receive [ BCAST a ] receive [ BCAST b ] send [ ECHO a ] to all send [ ECHO a ] to all send [ ECHO a ] to 1,2 send [ ECHO b ] to all

  29. Example: 3 f +1 client 3 1 2 4 receive [ BCAST a ] receive [ BCAST a ] receive [ BCAST b ] send [ ECHO a ] to all send [ ECHO a ] to all send [ ECHO a ] to 1,2 send [ ECHO b ] to all send [ READY a ] to all send [ READY a ] to all After receiving [ECHO a ] from a quorum, a server sends [READY a ] to every server.

  30. Example: 3 f +1 client 3 1 2 4 receive [ BCAST a ] receive [ BCAST a ] receive [ BCAST b ] send [ ECHO a ] to all send [ ECHO a ] to all send [ ECHO a ] to 1,2 send [ ECHO b ] to all send [ READY a ] to all send [ READY a ] to all send [ READY a ] to all After receiving [READY a ] from a set B such that ∀ B' ∈ 𝔺 , B ⊈ B' , a server sends [READY a ] to every server.

  31. Example: 3 f +1 client 3 1 2 4 receive [ BCAST a ] receive [ BCAST a ] receive [ BCAST b ] send [ ECHO a ] to all send [ ECHO a ] to all send [ ECHO a ] to 1,2 send [ ECHO b ] to all send [ READY a ] to all send [ READY a ] to all send [ READY a ] to all deliver ( a ) deliver ( a ) deliver ( a ) After receiving [READY a ] from a quorum, a server delivers value a .

  32. Reliable Byzantine broadcast broadcast when all faulty servers belong to some element of 𝔺 : Bracha broadcast satisfies the specification of reliable Byzantine  Safety: If some correct server delivers a value a and another correct server delivers a value b , then a = b .  Liveness: If a correct server delivers a value, then every correct server eventually delivers a value.

  33. Reliable Byzantine broadcast broadcast when all faulty servers belong to some element of 𝔺 : Bracha broadcast satisfies the specification of reliable Byzantine  Safety: If some correct server delivers a value a and another correct server delivers a value b , then a = b .  Liveness: If a correct server delivers a value, then every correct server eventually delivers a value. The protocol needs to compute 𝔺 , which requires global information!

  34. Federated Byzantine Quroum Systems (FBQS)

  35. FBQS 𝕎 = {1,2,3,4} 𝕋 : 𝕎 → 2 𝕎 𝕋 (1) = {{1,2},{1,4}} 2 𝕋 (2) = {{1,2}} 𝕋 (3) = {{1,3}} 2 𝕋 (4) = {{3,4}} 1 4 3

  36. FBQS 𝕎 = {1,2,3,4} 𝕋 : 𝕎 → 2 𝕎 𝕋 (1) = {{1,2},{1,4}} 2 𝕋 (2) = {{1,2}} 𝕋 (3) = {{1,3}} 1 2 𝕋 (4) = {{3,4}} 4 3

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend