Blockchain Machine: A Network-Attached Hardware Accelerator for Hyperledger Fabric

In this paper, we demonstrate how Hyperledger Fabric, one of the most popular permissioned blockchains, can benefit from networkattached acceleration. The scalability and peak performance of Fabric is primarily limited by the bottlenecks present in its block validation/commit phase. We propose Blockchain Machine, a hardware accelerator coupled with a hardware-friendly communication protocol, to act as the validator peer. It can be adapted to applications and their smart contracts, and is targeted for a server with network-attached FPGA acceleration card. The BlockchainMachine retrieves blocks and their transactions in hardware directly from the network interface, which are then validated through a configurable and efficient block-level and transaction-level pipeline. The validation results are then transferred to the host CPU where non-bottleneck operations are executed. From our implementation integrated with Fabric v1.4 LTS, we observed up to 12× speedup in block validation when compared to software-only validator peer, with commit throughput of up to 68,900 tps. Our work provides an acceleration platform that will foster further research on hardware acceleration of permissioned blockchains.

[1]  Christoph Hagleitner,et al.  PHRYCTORIA: A Messaging System for Transprecision OpenCAPI-attached FPGA Accelerators , 2020, 2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[2]  Stephen Lee,et al.  FastFabric: Scaling Hyperledger Fabric to 20,000 Transactions per Second , 2019, 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC).

[3]  Mark Silberstein,et al.  Lynx: A SmartNIC-driven Accelerator-centric Architecture for Network Servers , 2020, ASPLOS.

[4]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[5]  Balaji Viswanathan,et al.  Performance Benchmarking and Optimizing Hyperledger Fabric Blockchain Platform , 2018, 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[6]  Haitao Wu,et al.  RDMA over Commodity Ethernet at Scale , 2016, SIGCOMM.

[7]  Chengchen Hu,et al.  Optimizing Validation Phase of Hyperledger Fabric , 2019, 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[8]  Christoph Hagleitner,et al.  Network-attached FPGAs for data center applications , 2016, 2016 International Conference on Field-Programmable Technology (FPT).

[9]  Matthias Sax,et al.  Apache Kafka , 2019, Encyclopedia of Big Data Technologies.

[10]  Ruiyuan Lu,et al.  A Scheme about Agricultural Produce Traceability Using Blockchain Based on Hyperledger Fabric , 2020 .

[11]  Grant Chung,et al.  Performance Tuning and Scaling Enterprise Blockchain Applications , 2019, ArXiv.

[12]  Jens Dittrich,et al.  Blurring the Lines between Blockchains and Database Systems: the Case of Hyperledger Fabric , 2019, SIGMOD Conference.

[13]  Gang Chen,et al.  Untangling Blockchain: A Data Processing View of Blockchain Systems , 2017, IEEE Transactions on Knowledge and Data Engineering.

[14]  Hiroki Matsutani,et al.  A Hardware-Based Caching System on FPGA NIC for Blockchain , 2018, IEICE Trans. Inf. Syst..

[15]  Sungjin Lee,et al.  BlueCache: A Scalable Distributed Flash-based Key-value Store , 2016, Proc. VLDB Endow..

[16]  Marko Vukolic,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

[17]  Scaling Hyperledger Fabric Using Pipelined Execution and Sparse Peers , 2020, ArXiv.

[18]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[19]  Hugues Mercier,et al.  Fair and Efficient Gossip in Hyperledger Fabric , 2020, 2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS).

[20]  Liang Zhu,et al.  BBS: Micro-Architecture Benchmarking Blockchain Systems through Machine Learning and Fuzzy Set , 2020, 2020 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[21]  Sizhuo Zhang,et al.  HGum: Messaging framework for hardware accelerators , 2017, 2017 International Conference on ReConFigurable Computing and FPGAs (ReConFig).

[22]  Lukasz Golab,et al.  XOX Fabric: A hybrid approach to blockchain transaction execution , 2020, 2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC).

[23]  Beng Chin Ooi,et al.  A Transactional Perspective on Execute-order-validate Blockchains , 2020, SIGMOD Conference.