Efficient Byzantine Fault Tolerance using Trusted Execution Environment: Preventing Equivocation is only the Beginning

With the rapid development of blockchain, Byzantine fault-tolerant protocols have attracted revived interest recently. To overcome the theoretical bounds of Byzantine fault tolerance, many protocols attempt to use Trusted Execution Environment (TEE) to prevent equivocation and improve performance and scalability. However, due to the broken quorum intersection assumption caused by the reduction of the replica number, the improvement is mostly at the cost of increased communication complexity which prevents existing TEE-based protocols to be applied to large-scale blockchain systems. In this paper, we propose TBFT, an efficient Byzantine fault-tolerant protocol in the partial synchrony setting, which has O (n) message complexity in both normal-case and view-change. Compared to previous protocols, TBFT use TEE-assisted primitives to limit more types of malicious behaviors of replicas rather than preventing equivocation only, thereby reducing the latency and communication complexity of clients and replicas. Besides, we also introduce lightweight cryptographic primitives including a novel leader election mechanism and an efficient voting message aggregation mechanism for better security and performance. We evaluate TBFT via systematic analysis and experiments, and the results show that TBFT has better performance and scalability compared to other protocols.

[1]  Scott Shenker,et al.  Attested append-only memory: making adversaries stick to their word , 2007, SOSP.

[2]  Stefan Berger,et al.  vTPM: Virtualizing the Trusted Platform Module , 2006, USENIX Security Symposium.

[3]  Fan Zhang,et al.  Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts , 2018, 2019 IEEE European Symposium on Security and Privacy (EuroS&P).

[4]  Jia Liu,et al.  Fully Distributed Verifiable Random Functions and their Application to Decentralised Random Beacons , 2020, 2021 IEEE European Symposium on Security and Privacy (EuroS&P).

[5]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[6]  Adi Shamir,et al.  How to share a secret , 1979, CACM.

[7]  Johannes Behl,et al.  CheapBFT: resource-efficient byzantine fault tolerance , 2012, EuroSys '12.

[8]  Markus Stadler,et al.  Publicly Verifiable Secret Sharing , 1996, EUROCRYPT.

[9]  Veronika Kuchta,et al.  Unique Aggregate Signatures with Applications to Distributed Verifiable Random Functions , 2013, CANS.

[10]  Johannes Behl,et al.  Hybrids on Steroids: SGX-Based High Performance BFT , 2017, EuroSys.

[11]  Ghassan O. Karame,et al.  Scalable Byzantine Consensus via Hardware-Assisted Secret Sharing , 2016, IEEE Transactions on Computers.

[12]  Miguel Correia,et al.  Efficient Byzantine Fault-Tolerance , 2013, IEEE Transactions on Computers.

[13]  Kartik Nayak,et al.  Communication-Efficient BFT Protocols Using Small Trusted Hardware to Tolerate Minority Corruption , 2021, IACR Cryptol. ePrint Arch..

[14]  G H Nibaldi Specification of a Trusted Computing Base (TCB) , 1979 .

[15]  Ghassan O. Karame,et al.  BITE: Bitcoin Lightweight Client Privacy using Trusted Execution , 2018, IACR Cryptol. ePrint Arch..

[16]  Carlos V. Rozas,et al.  Intel® Software Guard Extensions (Intel® SGX) Support for Dynamic Memory Management Inside an Enclave , 2016, HASP 2016.

[17]  Hovav Shacham,et al.  Short Signatures from the Weil Pairing , 2001, J. Cryptol..

[18]  Ittai Abraham,et al.  HotStuff: BFT Consensus with Linearity and Responsiveness , 2019, PODC.

[19]  Aniket Kate,et al.  On the (limited) power of non-equivocation , 2012, PODC '12.

[20]  N. Asokan,et al.  Trusted execution environments on mobile devices , 2013, CCS.

[21]  Benny Pinkas,et al.  SBFT: A Scalable and Decentralized Trust Infrastructure , 2018, 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[22]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[23]  Kartik Nayak,et al.  CCF: A Framework for Building Confidential Verifiable Replicated Services , 2019 .

[24]  Fan Zhang,et al.  Tesseract: Real-Time Cryptocurrency Exchange using Trusted Hardware , 2017, IACR Cryptol. ePrint Arch..

[25]  Silvio Micali,et al.  Non-Interactive Zero-Knowledge Proof Systems , 1987, CRYPTO.

[26]  Rüdiger Kapitza,et al.  Blockchain and Trusted Computing: Problems, Pitfalls, and a Solution for Hyperledger Fabric , 2018, ArXiv.

[27]  Jonathan K. Millen,et al.  Principles of remote attestation , 2011, International Journal of Information Security.

[28]  Yevgeniy Dodis,et al.  Efficient Construction of (Distributed) Verifiable Random Functions , 2003, Public Key Cryptography.

[29]  Ee-Chien Chang,et al.  Towards Scaling Blockchain Systems via Sharding , 2018, SIGMOD Conference.

[30]  Emin Gün Sirer,et al.  Teechan: Payment Channels Using Trusted Execution Environments , 2016, ArXiv.

[31]  Tobias Distler,et al.  Resource-Efficient Byzantine Fault Tolerance , 2016, IEEE Transactions on Computers.

[32]  Kishor S. Trivedi,et al.  Performance Modeling of PBFT Consensus Process for Permissioned Blockchain Network (Hyperledger Fabric) , 2017, 2017 IEEE 36th Symposium on Reliable Distributed Systems (SRDS).

[33]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[34]  Daniel Martin,et al.  TrustZone Explained: Architectural Features and Use Cases , 2016, 2016 IEEE 2nd International Conference on Collaboration and Internet Computing (CIC).