Byzantine Quorums and Hyperledger Fabric and a few
Author : phoebe-click | Published Date : 2025-05-14
Description: Byzantine Quorums and Hyperledger Fabric and a few more things on Byzantine FaultTolerance BFT and Blockchains virtually EPFL November 16 2020 Dr Marko Vukolić IBM Research Zurich Byzantine Fault Tolerance BFT 2 replica replica
Presentation Embed Code
Download Presentation
Download
Presentation The PPT/PDF document
"Byzantine Quorums and Hyperledger Fabric and a few" is the property of its rightful owner.
Permission is granted to download and print the materials on this website for personal, non-commercial use only,
and to display it on your personal computer provided you do not modify the materials and that you retain all
copyright notices contained in the materials. By downloading content from our website, you accept the terms of
this agreement.
Transcript:Byzantine Quorums and Hyperledger Fabric and a few:
Byzantine Quorums and Hyperledger Fabric and a few more things on Byzantine Fault-Tolerance (BFT) and Blockchains virtually @EPFL November 16, 2020 Dr. Marko Vukolić IBM Research – Zurich Byzantine Fault Tolerance (BFT) 2 replica replica replica robust service replica Byzantine Fault Tolerance (BFT) Malicious behavior typically modeled with arbitrary faults For historical reasons* arbitrary faults are also called Byzantine faults Examples of arbitrary faults Bugs Intrusions Rogue administrator(s) (e.g., in blockchain) * L. Lamport, R. E. Shostak, M. C. Pease: The Byzantine Generals Problem. ACM Trans. Program. Lang. Syst. 4(3): 382-401 (1982) 3 What is a Blockchain? A chain (sequence) of blocks of transactions Each block consists of a number of (ordered) transactions Blockchain establishes total order of transactions 4 #234 #235 #236 … #1 #0 Genesis block Node A Node E Node B Node D Node C Node F Consensus protocol ensures ledger replicas are identical* datastructure Network of untrusted nodes This lecture 1st part (BFT basics) Resilience lower bounds BFT consensus and state-machine replication 2nd part (BFT and Blockchain in IBM) Hyperledger Fabric Mir-BFT Our playground 6 Our playground - Model Byzantine faults Processes that are not faulty are called correct Asynchrony (incl. partitions, network failures) Messages can be delayed for an arbitrary time Concurrency Multiple clients accessing replicated service concurrently 7 How many replicas BFT needs? Assume we want to mask a threshold t of replica faults Let’s focus on a simple case where t = 1 8 How many replicas BFT needs? 9 t = 1 write(tweet) tweet = “hello” tweet = “hello” tweet = “” twitter bftwitter Model of bftwitter: R/W Storage (also called a R/W register) 2 operations write(value) read() value Read should return the last value written Register is initialized to a default value How many replicas BFT needs? 10 t = 1 tweet = “hello” tweet = “hello” tweet = “” read() How many replicas BFT needs? 11 t = 1 tweet = “hello” tweet = “hello” tweet = “” read() tweet = “hello” ? tweet = “” tweet = “” tweet = “good bye” tweet = “good bye” ? How many replicas BFT needs? To tolerate t Byzantine faults 3t replicas are not enough* even for a simple twitter-like app (R/W storage) As we will shortly see… …3t+1 replicas are enough The number of replicas may go down if we strengthen assumptions synchrony, consistency level, etc… We will come to