SlideShare a Scribd company logo
1 of 23
Download to read offline
CheapBFT: Resource-efficient
Byzantine Fault Tolerance
Rüdiger Kapitza(TU Braunschweig), Johannes Behl, Tobias Distler,
Simon Kuhnle, Klaus Stengel (Friedrich– alexander University
Erlangen–Nuremberg)
Christian Cachin, (IBM Research - Zurich)
Seyed Vahid Mohammadi(KTH – Royal Institute of Technology)
EuroSys 2012
Yongrae Jo (20172938)
2
Why resource efficient?
# of Computer
(storage, CPU)
Network usage
Numerous efforts to make Byzantine fault tolerance
systems practical
● Improving performance(throughput/latency)
● Improving security: varying attack surfaces( distributed
trust, N-version programming )
But, from economical point of view, they require
high resource demand(# of computer, network usage)
Need at least 4 computers
to tolerate a single fault
Excessive
communication
3
Traditional BFT
● PBFT (1999): requires 3f + 1 replicas to tolerate up to f faults
● By separating (2004) request ordering (agreement state) from
request process (execution stage):
– 2f + 1 replicas in execution stage
– 3f + 1 replicas in agreement stage
● Hybrid fault model: untrusted part + trusted part (e.g. MinBFT(2011))
– f + 1 replicas in execution stage
– 2f + 1 replicas in agreement stage
– But, it requires large trusted computing base (e.g. complete
virtualization layer, TPM) → performance bottleneck
4
CheapBFT
● Composite protocol
– CheapTiny for normal case(fault-free)
– CheapSwitch for switching to MinBFT
– MinBFT for fault handling
● Hybrid fault model: untrusted part + trusted part
– CASH(trusted hardware)
– (fault-free) f+1 active replicas in both agreement stage and
execution stage
– (fault-free) 2f + 1 passive replicas (update the result)
– (fault) 2f + 1 active replicas for MinBFT
5
Communication efficiency
● From 3 phase to 2 phase communication (MinBFT)
– Leader broadcasts request order to different replicas
– Replicas broadcast echo message to get 2f + 1
matching message to verify the leader
– But with trusted hardware, they can verify request
order locally (no broadcast needed)
PBFT – 3 phase MinBFT – 2 phase
6
Resource efficiency
● From 3f+1 to 2f+1 replicas (e.g. A2M, MinBFT)
– 3f + 1 replicas are needed to tolerate up to f faulty replicas
– But with trusted hardware, 2f + 1 non-faulty active replicas needed
– Wanna know the reason why 3f+1 or 2f+1 numbers are discussed?
● See The Byzantine Generals Problem (L. Lamport, et al., 1982)
3f +1 2f +1
Attack!
Retreat!
How can I trust
my commander?
Let’s communicate
with others!
Commander
General General
7
CASH: Trusted subsystem
● Counter Assignment Service in Hardware
● FPGA-based trusted subsystem
– Minimal trusted computing base
● Provides trusted counter services:
– Assigns monotonically increasing counter value to a message
– Message authentication and verification
● HMAC-SHA-256
– Symmetric-key for cryptographic operations
● CASH subsystem has shared secret key
8
CASH: Algorithms
// Issuing certificate
// verifying certificate
9
CASH: Fast and Small TCB
Message authentication and verification performance Size of TCB
SoftLib: software library running in
same process
SSL: software library running in
separate process
VM-SSL: OpenSSL in (Xen) VM
10
CheapTiny CheapSwitch MinBFT
CheapBFT
Fault suspected
or detected
Agree on an abort history
(pending request)
Predefined number of agreement rounds x
11
CheapTiny
Agreement
Stage
Execution
Stage
Two types of replicas:
Active, passive
12
CheapTiny
:Agreement stage Agreement
Stage
13
CheapTiny
:Execution stage
(reply, update)
Execution
Stage
Issue certificate
Passive replica
14
CheapSwitch
Initiating a protocol switch
● When client fails to get f+1 matching
replies
● When a replica if it suspects or detects
another replica (e.g. false certificate)
Stopping CheapTiny protocol
● Non-faulty active replicas stop CheapTiny
protocol when it received <PANIC> message
Creating an Abort history: <HISTORY>
● Pending request can have three status
● Decided : Committed
● Potentially decided: Send <COMMIT>, but
not received yet
● Undecided: Not send <COMMIT>,
<PREPARE> received
Validating an
abort history
Ready for switching to
MinBFT (received f
matching <SWITCH>)
15
MinBFT
●Efficient Byzantine Fault Tolerance (2011)
●Exploits trusted hardware (USIG)
●2f+1 active replicas
●Executed for only a limited period of time, then switching back to
CheapTiny
Assumption
Permanent replica
fault is rare!
16
Evaluation
● A replica cluster of 8-core machines (2.3 GHz, 8 GB
RAM), 4 replicas(3f + 1, f = 1)
● A client cluster of 12-core machines (2.4 GHz, 24 GB
RAM) that are all connected with switched Gigabit
Ethernet. 5~400 clients
●
Adapting the BFT-SMaRt library (communication
layer)
●
Request batch size set to 20
17
Evaluation
empty requests and empty replies
72,000 req/s
18
Evaluation
4 KB requests and empty replies
19
Evaluation
empty requests and 4 KB replies
→ Resource efficiency is more affected by the size of reply
20
Evaluation
CheapSwitch: from CheapTiny to MinBFT
Protocol Switch
21
Conclusion
● CheapBFT is the first Byzantine fault-tolerant
system to use f + 1 active replicas for both
agreement and execution during normal-case
operation (later: XPaxos, FastBFT, …)
● CheapBFT exploits small trusted hardware to
achieve resource efficiency(network, CPU)
● CheapBFT is resource efficient BFT protocol (#
of computer(CPU, storage), network usage)
22
?
Can we say CheapBFT really achieves resource efficiency?
Only 2% less data than
MinBFT
empty requests and 4 KB replies
Need to be more tested under varying reply sizes
23
Thanks

More Related Content

What's hot

OpenZFS code repository
OpenZFS code repositoryOpenZFS code repository
OpenZFS code repositoryMatthew Ahrens
 
Linux SMEP bypass techniques
Linux SMEP bypass techniquesLinux SMEP bypass techniques
Linux SMEP bypass techniquesVitaly Nikolenko
 
The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageKernel TLV
 
SGX Trusted Execution Environment
SGX Trusted Execution EnvironmentSGX Trusted Execution Environment
SGX Trusted Execution EnvironmentKernel TLV
 
LCA14: LCA14-111: Upstreaming 101
LCA14: LCA14-111: Upstreaming 101LCA14: LCA14-111: Upstreaming 101
LCA14: LCA14-111: Upstreaming 101Linaro
 
Mirko Damiani - An Embedded soft real time distributed system in Go
Mirko Damiani - An Embedded soft real time distributed system in GoMirko Damiani - An Embedded soft real time distributed system in Go
Mirko Damiani - An Embedded soft real time distributed system in Golinuxlab_conf
 
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) WinningKernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) WinningAnne Nicolas
 
OpenZFS Channel programs
OpenZFS Channel programsOpenZFS Channel programs
OpenZFS Channel programsMatthew Ahrens
 
BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64Linaro
 
Kernel Proc Connector and Containers
Kernel Proc Connector and ContainersKernel Proc Connector and Containers
Kernel Proc Connector and ContainersKernel TLV
 
An Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux KernelAn Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux KernelSeongJae Park
 
ARM Architecture and Meltdown/Spectre
ARM Architecture and Meltdown/SpectreARM Architecture and Meltdown/Spectre
ARM Architecture and Meltdown/SpectreGlobalLogic Ukraine
 
Alessio Lama - Development and testing of a safety network protocol
Alessio Lama - Development and testing of a safety network protocolAlessio Lama - Development and testing of a safety network protocol
Alessio Lama - Development and testing of a safety network protocollinuxlab_conf
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Kynetics
 
Lnx eng traffic_control-1.0.7-compact
Lnx eng traffic_control-1.0.7-compactLnx eng traffic_control-1.0.7-compact
Lnx eng traffic_control-1.0.7-compactAlessandro Selli
 
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...The Linux Foundation
 
Understanding of linux kernel memory model
Understanding of linux kernel memory modelUnderstanding of linux kernel memory model
Understanding of linux kernel memory modelSeongJae Park
 
XenTT: Deterministic Systems Analysis in Xen
XenTT: Deterministic Systems Analysis in XenXenTT: Deterministic Systems Analysis in Xen
XenTT: Deterministic Systems Analysis in XenThe Linux Foundation
 
CCleaner APT Attack: A Technical Look Inside
CCleaner APT Attack: A Technical Look InsideCCleaner APT Attack: A Technical Look Inside
CCleaner APT Attack: A Technical Look InsidePriyanka Aash
 

What's hot (20)

OpenZFS code repository
OpenZFS code repositoryOpenZFS code repository
OpenZFS code repository
 
Linux SMEP bypass techniques
Linux SMEP bypass techniquesLinux SMEP bypass techniques
Linux SMEP bypass techniques
 
The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast Storage
 
SGX Trusted Execution Environment
SGX Trusted Execution EnvironmentSGX Trusted Execution Environment
SGX Trusted Execution Environment
 
LCA14: LCA14-111: Upstreaming 101
LCA14: LCA14-111: Upstreaming 101LCA14: LCA14-111: Upstreaming 101
LCA14: LCA14-111: Upstreaming 101
 
Mirko Damiani - An Embedded soft real time distributed system in Go
Mirko Damiani - An Embedded soft real time distributed system in GoMirko Damiani - An Embedded soft real time distributed system in Go
Mirko Damiani - An Embedded soft real time distributed system in Go
 
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) WinningKernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
 
OpenZFS Channel programs
OpenZFS Channel programsOpenZFS Channel programs
OpenZFS Channel programs
 
My work
My workMy work
My work
 
BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64
 
Kernel Proc Connector and Containers
Kernel Proc Connector and ContainersKernel Proc Connector and Containers
Kernel Proc Connector and Containers
 
An Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux KernelAn Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux Kernel
 
ARM Architecture and Meltdown/Spectre
ARM Architecture and Meltdown/SpectreARM Architecture and Meltdown/Spectre
ARM Architecture and Meltdown/Spectre
 
Alessio Lama - Development and testing of a safety network protocol
Alessio Lama - Development and testing of a safety network protocolAlessio Lama - Development and testing of a safety network protocol
Alessio Lama - Development and testing of a safety network protocol
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7
 
Lnx eng traffic_control-1.0.7-compact
Lnx eng traffic_control-1.0.7-compactLnx eng traffic_control-1.0.7-compact
Lnx eng traffic_control-1.0.7-compact
 
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
 
Understanding of linux kernel memory model
Understanding of linux kernel memory modelUnderstanding of linux kernel memory model
Understanding of linux kernel memory model
 
XenTT: Deterministic Systems Analysis in Xen
XenTT: Deterministic Systems Analysis in XenXenTT: Deterministic Systems Analysis in Xen
XenTT: Deterministic Systems Analysis in Xen
 
CCleaner APT Attack: A Technical Look Inside
CCleaner APT Attack: A Technical Look InsideCCleaner APT Attack: A Technical Look Inside
CCleaner APT Attack: A Technical Look Inside
 

Similar to Cheapbft

Hyperledger Consensus Algorithms
Hyperledger Consensus AlgorithmsHyperledger Consensus Algorithms
Hyperledger Consensus AlgorithmsMabelOza12
 
Practical byzantine fault tolerance by altanai
Practical byzantine fault tolerance by altanaiPractical byzantine fault tolerance by altanai
Practical byzantine fault tolerance by altanaiALTANAI BISHT
 
Istanbul BFT
Istanbul BFTIstanbul BFT
Istanbul BFTYu-Te Lin
 
5th KuVS Meeting
5th KuVS Meeting5th KuVS Meeting
5th KuVS Meetingsteccami
 
6TiSCH @Telecom Bretagne 2015
6TiSCH @Telecom Bretagne 20156TiSCH @Telecom Bretagne 2015
6TiSCH @Telecom Bretagne 2015Pascal Thubert
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik TambekarPratik Tambekar
 
huawei-ne40e-x3-dc-brochure-datasheet.pdf
huawei-ne40e-x3-dc-brochure-datasheet.pdfhuawei-ne40e-x3-dc-brochure-datasheet.pdf
huawei-ne40e-x3-dc-brochure-datasheet.pdfHi-Network.com
 
blockchain-and-trusted-computing
blockchain-and-trusted-computingblockchain-and-trusted-computing
blockchain-and-trusted-computingYongraeJo
 
More Efficient Object Replication in OpenStack Summit Juno
More Efficient Object Replication in OpenStack Summit JunoMore Efficient Object Replication in OpenStack Summit Juno
More Efficient Object Replication in OpenStack Summit JunoKota Tsuyuzaki
 
C/R Support for Heterogeneous HPC Applications
C/R Support for Heterogeneous HPC Applications C/R Support for Heterogeneous HPC Applications
C/R Support for Heterogeneous HPC Applications LEGATO project
 
Exploiting parallelism opportunities in non-parallel architectures to improve...
Exploiting parallelism opportunities in non-parallel architectures to improve...Exploiting parallelism opportunities in non-parallel architectures to improve...
Exploiting parallelism opportunities in non-parallel architectures to improve...GreenLSI Team, LSI, UPM
 
PLNOG 8: Piotr Szolkowski - Bezpieczne i wysoce skalowalne Data Center
PLNOG 8: Piotr Szolkowski - Bezpieczne i wysoce skalowalne Data CenterPLNOG 8: Piotr Szolkowski - Bezpieczne i wysoce skalowalne Data Center
PLNOG 8: Piotr Szolkowski - Bezpieczne i wysoce skalowalne Data CenterPROIDEA
 
Anton Moldovan "Building an efficient replication system for thousands of ter...
Anton Moldovan "Building an efficient replication system for thousands of ter...Anton Moldovan "Building an efficient replication system for thousands of ter...
Anton Moldovan "Building an efficient replication system for thousands of ter...Fwdays
 
asap2013-khoa-presentation
asap2013-khoa-presentationasap2013-khoa-presentation
asap2013-khoa-presentationAbhishek Jain
 
A DRAM-friendly priority queue Internet packet scheduler implementation and i...
A DRAM-friendly priority queue Internet packet scheduler implementation and i...A DRAM-friendly priority queue Internet packet scheduler implementation and i...
A DRAM-friendly priority queue Internet packet scheduler implementation and i...Katsushi Kobayashi
 
Building a blockchain on tendermint
Building a blockchain on tendermintBuilding a blockchain on tendermint
Building a blockchain on tendermintLviv Startup Club
 
IFSM 310 Software and Hardware Infrastructure ConceptsComputer.docx
IFSM 310 Software and Hardware Infrastructure ConceptsComputer.docxIFSM 310 Software and Hardware Infrastructure ConceptsComputer.docx
IFSM 310 Software and Hardware Infrastructure ConceptsComputer.docxscuttsginette
 
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...Alexandre Moneger
 

Similar to Cheapbft (20)

Hyperledger Consensus Algorithms
Hyperledger Consensus AlgorithmsHyperledger Consensus Algorithms
Hyperledger Consensus Algorithms
 
FastBFT
FastBFTFastBFT
FastBFT
 
Practical byzantine fault tolerance by altanai
Practical byzantine fault tolerance by altanaiPractical byzantine fault tolerance by altanai
Practical byzantine fault tolerance by altanai
 
Istanbul BFT
Istanbul BFTIstanbul BFT
Istanbul BFT
 
5th KuVS Meeting
5th KuVS Meeting5th KuVS Meeting
5th KuVS Meeting
 
6TiSCH @Telecom Bretagne 2015
6TiSCH @Telecom Bretagne 20156TiSCH @Telecom Bretagne 2015
6TiSCH @Telecom Bretagne 2015
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
 
huawei-ne40e-x3-dc-brochure-datasheet.pdf
huawei-ne40e-x3-dc-brochure-datasheet.pdfhuawei-ne40e-x3-dc-brochure-datasheet.pdf
huawei-ne40e-x3-dc-brochure-datasheet.pdf
 
blockchain-and-trusted-computing
blockchain-and-trusted-computingblockchain-and-trusted-computing
blockchain-and-trusted-computing
 
More Efficient Object Replication in OpenStack Summit Juno
More Efficient Object Replication in OpenStack Summit JunoMore Efficient Object Replication in OpenStack Summit Juno
More Efficient Object Replication in OpenStack Summit Juno
 
C/R Support for Heterogeneous HPC Applications
C/R Support for Heterogeneous HPC Applications C/R Support for Heterogeneous HPC Applications
C/R Support for Heterogeneous HPC Applications
 
Exploiting parallelism opportunities in non-parallel architectures to improve...
Exploiting parallelism opportunities in non-parallel architectures to improve...Exploiting parallelism opportunities in non-parallel architectures to improve...
Exploiting parallelism opportunities in non-parallel architectures to improve...
 
PLNOG 8: Piotr Szolkowski - Bezpieczne i wysoce skalowalne Data Center
PLNOG 8: Piotr Szolkowski - Bezpieczne i wysoce skalowalne Data CenterPLNOG 8: Piotr Szolkowski - Bezpieczne i wysoce skalowalne Data Center
PLNOG 8: Piotr Szolkowski - Bezpieczne i wysoce skalowalne Data Center
 
Anton Moldovan "Building an efficient replication system for thousands of ter...
Anton Moldovan "Building an efficient replication system for thousands of ter...Anton Moldovan "Building an efficient replication system for thousands of ter...
Anton Moldovan "Building an efficient replication system for thousands of ter...
 
asap2013-khoa-presentation
asap2013-khoa-presentationasap2013-khoa-presentation
asap2013-khoa-presentation
 
A DRAM-friendly priority queue Internet packet scheduler implementation and i...
A DRAM-friendly priority queue Internet packet scheduler implementation and i...A DRAM-friendly priority queue Internet packet scheduler implementation and i...
A DRAM-friendly priority queue Internet packet scheduler implementation and i...
 
Building a blockchain on tendermint
Building a blockchain on tendermintBuilding a blockchain on tendermint
Building a blockchain on tendermint
 
IFSM 310 Software and Hardware Infrastructure ConceptsComputer.docx
IFSM 310 Software and Hardware Infrastructure ConceptsComputer.docxIFSM 310 Software and Hardware Infrastructure ConceptsComputer.docx
IFSM 310 Software and Hardware Infrastructure ConceptsComputer.docx
 
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
 

More from YongraeJo

Zeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxZeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxYongraeJo
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets databaseYongraeJo
 
Byzantine ordered consensus
Byzantine ordered consensusByzantine ordered consensus
Byzantine ordered consensusYongraeJo
 
BlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryBlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryYongraeJo
 
Simple robot pets with three emotions (uC/OS III)
Simple robot pets with three emotions (uC/OS III)Simple robot pets with three emotions (uC/OS III)
Simple robot pets with three emotions (uC/OS III)YongraeJo
 
Honeybadger of BFT Protocols
Honeybadger of BFT ProtocolsHoneybadger of BFT Protocols
Honeybadger of BFT ProtocolsYongraeJo
 
Making BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveMaking BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveYongraeJo
 
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...YongraeJo
 
Trap Handling in Linux
Trap Handling in LinuxTrap Handling in Linux
Trap Handling in LinuxYongraeJo
 
Thriftypaxos
ThriftypaxosThriftypaxos
ThriftypaxosYongraeJo
 

More from YongraeJo (20)

Zeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxZeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptx
 
basil.pptx
basil.pptxbasil.pptx
basil.pptx
 
HotStuff
HotStuff HotStuff
HotStuff
 
Fbft
FbftFbft
Fbft
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets database
 
Beat
BeatBeat
Beat
 
Byzantine ordered consensus
Byzantine ordered consensusByzantine ordered consensus
Byzantine ordered consensus
 
Stellar
StellarStellar
Stellar
 
Ledgerdb
LedgerdbLedgerdb
Ledgerdb
 
Blockene
BlockeneBlockene
Blockene
 
BlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryBlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lottery
 
Simple robot pets with three emotions (uC/OS III)
Simple robot pets with three emotions (uC/OS III)Simple robot pets with three emotions (uC/OS III)
Simple robot pets with three emotions (uC/OS III)
 
Honeybadger of BFT Protocols
Honeybadger of BFT ProtocolsHoneybadger of BFT Protocols
Honeybadger of BFT Protocols
 
Making BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveMaking BFT Protocols Really Adaptive
Making BFT Protocols Really Adaptive
 
Pileus
PileusPileus
Pileus
 
Vft
VftVft
Vft
 
Xft
XftXft
Xft
 
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
 
Trap Handling in Linux
Trap Handling in LinuxTrap Handling in Linux
Trap Handling in Linux
 
Thriftypaxos
ThriftypaxosThriftypaxos
Thriftypaxos
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Cheapbft

  • 1. CheapBFT: Resource-efficient Byzantine Fault Tolerance Rüdiger Kapitza(TU Braunschweig), Johannes Behl, Tobias Distler, Simon Kuhnle, Klaus Stengel (Friedrich– alexander University Erlangen–Nuremberg) Christian Cachin, (IBM Research - Zurich) Seyed Vahid Mohammadi(KTH – Royal Institute of Technology) EuroSys 2012 Yongrae Jo (20172938)
  • 2. 2 Why resource efficient? # of Computer (storage, CPU) Network usage Numerous efforts to make Byzantine fault tolerance systems practical ● Improving performance(throughput/latency) ● Improving security: varying attack surfaces( distributed trust, N-version programming ) But, from economical point of view, they require high resource demand(# of computer, network usage) Need at least 4 computers to tolerate a single fault Excessive communication
  • 3. 3 Traditional BFT ● PBFT (1999): requires 3f + 1 replicas to tolerate up to f faults ● By separating (2004) request ordering (agreement state) from request process (execution stage): – 2f + 1 replicas in execution stage – 3f + 1 replicas in agreement stage ● Hybrid fault model: untrusted part + trusted part (e.g. MinBFT(2011)) – f + 1 replicas in execution stage – 2f + 1 replicas in agreement stage – But, it requires large trusted computing base (e.g. complete virtualization layer, TPM) → performance bottleneck
  • 4. 4 CheapBFT ● Composite protocol – CheapTiny for normal case(fault-free) – CheapSwitch for switching to MinBFT – MinBFT for fault handling ● Hybrid fault model: untrusted part + trusted part – CASH(trusted hardware) – (fault-free) f+1 active replicas in both agreement stage and execution stage – (fault-free) 2f + 1 passive replicas (update the result) – (fault) 2f + 1 active replicas for MinBFT
  • 5. 5 Communication efficiency ● From 3 phase to 2 phase communication (MinBFT) – Leader broadcasts request order to different replicas – Replicas broadcast echo message to get 2f + 1 matching message to verify the leader – But with trusted hardware, they can verify request order locally (no broadcast needed) PBFT – 3 phase MinBFT – 2 phase
  • 6. 6 Resource efficiency ● From 3f+1 to 2f+1 replicas (e.g. A2M, MinBFT) – 3f + 1 replicas are needed to tolerate up to f faulty replicas – But with trusted hardware, 2f + 1 non-faulty active replicas needed – Wanna know the reason why 3f+1 or 2f+1 numbers are discussed? ● See The Byzantine Generals Problem (L. Lamport, et al., 1982) 3f +1 2f +1 Attack! Retreat! How can I trust my commander? Let’s communicate with others! Commander General General
  • 7. 7 CASH: Trusted subsystem ● Counter Assignment Service in Hardware ● FPGA-based trusted subsystem – Minimal trusted computing base ● Provides trusted counter services: – Assigns monotonically increasing counter value to a message – Message authentication and verification ● HMAC-SHA-256 – Symmetric-key for cryptographic operations ● CASH subsystem has shared secret key
  • 8. 8 CASH: Algorithms // Issuing certificate // verifying certificate
  • 9. 9 CASH: Fast and Small TCB Message authentication and verification performance Size of TCB SoftLib: software library running in same process SSL: software library running in separate process VM-SSL: OpenSSL in (Xen) VM
  • 10. 10 CheapTiny CheapSwitch MinBFT CheapBFT Fault suspected or detected Agree on an abort history (pending request) Predefined number of agreement rounds x
  • 14. 14 CheapSwitch Initiating a protocol switch ● When client fails to get f+1 matching replies ● When a replica if it suspects or detects another replica (e.g. false certificate) Stopping CheapTiny protocol ● Non-faulty active replicas stop CheapTiny protocol when it received <PANIC> message Creating an Abort history: <HISTORY> ● Pending request can have three status ● Decided : Committed ● Potentially decided: Send <COMMIT>, but not received yet ● Undecided: Not send <COMMIT>, <PREPARE> received Validating an abort history Ready for switching to MinBFT (received f matching <SWITCH>)
  • 15. 15 MinBFT ●Efficient Byzantine Fault Tolerance (2011) ●Exploits trusted hardware (USIG) ●2f+1 active replicas ●Executed for only a limited period of time, then switching back to CheapTiny Assumption Permanent replica fault is rare!
  • 16. 16 Evaluation ● A replica cluster of 8-core machines (2.3 GHz, 8 GB RAM), 4 replicas(3f + 1, f = 1) ● A client cluster of 12-core machines (2.4 GHz, 24 GB RAM) that are all connected with switched Gigabit Ethernet. 5~400 clients ● Adapting the BFT-SMaRt library (communication layer) ● Request batch size set to 20
  • 17. 17 Evaluation empty requests and empty replies 72,000 req/s
  • 18. 18 Evaluation 4 KB requests and empty replies
  • 19. 19 Evaluation empty requests and 4 KB replies → Resource efficiency is more affected by the size of reply
  • 20. 20 Evaluation CheapSwitch: from CheapTiny to MinBFT Protocol Switch
  • 21. 21 Conclusion ● CheapBFT is the first Byzantine fault-tolerant system to use f + 1 active replicas for both agreement and execution during normal-case operation (later: XPaxos, FastBFT, …) ● CheapBFT exploits small trusted hardware to achieve resource efficiency(network, CPU) ● CheapBFT is resource efficient BFT protocol (# of computer(CPU, storage), network usage)
  • 22. 22 ? Can we say CheapBFT really achieves resource efficiency? Only 2% less data than MinBFT empty requests and 4 KB replies Need to be more tested under varying reply sizes