ABSTRACT
Fabric is a modular and extensible open-source system for deploying and operating permissioned blockchains and one of the Hyperledger projects hosted by the Linux Foundation (www.hyperledger.org).
Fabric is the first truly extensible blockchain system for running distributed applications. It supports modular consensus protocols, which allows the system to be tailored to particular use cases and trust models. Fabric is also the first blockchain system that runs distributed applications written in standard, general-purpose programming languages, without systemic dependency on a native cryptocurrency. This stands in sharp contrast to existing block-chain platforms that require "smart-contracts" to be written in domain-specific languages or rely on a cryptocurrency. Fabric realizes the permissioned model using a portable notion of membership, which may be integrated with industry-standard identity management. To support such flexibility, Fabric introduces an entirely novel blockchain design and revamps the way blockchains cope with non-determinism, resource exhaustion, and performance attacks.
This paper describes Fabric, its architecture, the rationale behind various design decisions, its most prominent implementation aspects, as well as its distributed application programming model. We further evaluate Fabric by implementing and benchmarking a Bitcoin-inspired digital currency. We show that Fabric achieves end-to-end throughput of more than 3500 transactions per second in certain popular deployment configurations, with sub-second latency, scaling well to over 100 peers.
- Apache CouchDB. http://couchdb.apache.org.Google Scholar
- Apache Kafka. http://kafka.apache.org.Google Scholar
- Bitcoin. http://bitcoin.org.Google Scholar
- Chain. http://chain.com.Google Scholar
- Ethereum. http://ethereum.org.Google Scholar
- gRPC. http://grpc.io.Google Scholar
- Hyperledger. http://www.hyperledger.org.Google Scholar
- Hyperledger Fabric. http://github.com/hyperledger/fabric.Google Scholar
- Hyperledger Sawtooth. http://sawtooth.hyperledger.org.Google Scholar
- LevelDB in Go. https://github.com/syndtr/goleveldb/.Google Scholar
- The Linux Foundation. http://www.linuxfoundation.org.Google Scholar
- MultiChain. http://www.multichain.com/.Google Scholar
- Quorum. http://www.jpmorgan.com/global/Quorum.Google Scholar
- Tendermint. http://tendermint.com.Google Scholar
- IBM announces major blockchain solution to speed global payments. https://www-03.ibm.com/press/us/en/pressrelease/53290.wss, 2017.Google Scholar
- R. Aitken. IBM & Walmart launching blockchain food safety alliance in China with Fortune 500's JD.com. https://www.forbes.com/sites/tomgroenfeldt/2017/03/05/ibm-and-maersk-apply-blockchain-to-container-shipping/, 2017.Google Scholar
- P.-L. Aublin, R. Guerraoui, N. Knežević, V. Quéma, and M. Vukolić. The next 700 BFT protocols. ACM Trans. Comput. Syst., 32(4):12:1--12:45, Jan. 2015. Google ScholarDigital Library
- E. Ben-Sasson, A. Chiesa, C. Garman, M. Green, I. Miers, E. Tromer, and M. Virza. Zerocash: Decentralized anonymous payments from bitcoin. In IEEE Symposium on Security & Privacy, pages 459--474, 2014. Google ScholarDigital Library
- A. N. Bessani, J. Sousa, and E. A. P. Alchieri. State machine replication for the masses with BFT-SMART. In International Conference on Dependable Systems and Networks (DSN), pages 355--362, 2014. Google ScholarDigital Library
- G. Bracha and S. Toueg. Asynchronous consensus and broadcast protocols. J. ACM, 32(4):824--840, 1985. Google ScholarDigital Library
- N. Budhiraja, K. Marzullo, F. B. Schneider, and S. Toueg. The primary-backup approach. In S. Mullender, editor, Distributed Systems (2nd Ed.), pages 199--216. ACM Press/Addison-Wesley, 1993. Google ScholarDigital Library
- C. Cachin, R. Guerraoui, and L. E. T. Rodrigues. Introduction to Reliable and Secure Distributed Programming (2. ed.). Springer, 2011. Google ScholarDigital Library
- C. Cachin, S. Schubert, and M. Vukolić. Non-determinism in byzantine fault-tolerant replication. In 20th International Conference on Principles of Distributed Systems (OPODIS), 2016.Google Scholar
- C. Cachin and M. Vukolić. Blockchain consensus protocols in the wild. In A. W. Richa, editor, 31st Intl. Symposium on Distributed Computing (DISC 2017), pages 1:1--1:16, 2017.Google Scholar
- J. Camenisch and E. V. Herreweghen. Design and implementation of the idemix anonymous credential system. In ACM Conference on Computer and Communications Security (CCS), pages 21--30, 2002. Google ScholarDigital Library
- M. Castro and B. Liskov. Practical Byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst., 20(4):398--461, Nov. 2002. Google ScholarDigital Library
- B. Charron-Bost, F. Pedone, and A. Schiper, editors. Replication: Theory and Practice, volume 5959 of Lecture Notes in Computer Science. Springer, 2010. Google ScholarDigital Library
- K. Croman, C. Decker, I. Eyal, A. E. Gencer, A. Juels, A. Kosba, A. Miller, P. Saxena, E. Shi, E. G. Sirer, et al. On scaling decentralized blockchains. In International Conference on Financial Cryptography and Data Security (FC), pages 106--125. Springer, 2016.Google ScholarCross Ref
- A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Sturgis, D. Swinehart, and D. Terry. Epidemic algorithms for replicated database maintenance. In ACM Symposium on Principles of Distributed Computing (PODC), pages 1--12. ACM, 1987. Google ScholarDigital Library
- T. T. A. Dinh, R. Liu, M. Zhang, G. Chen, B. C. Ooi, and J. Wang. Untangling block-chain: A data processing view of blockchain systems. e-print, arXiv:1708.05665 {cs.DB}, 2017.Google Scholar
- Fujitsu Limited. Fujitsu cloud service adopted by Japanese Bankers Association for blockchain-based financial service testbed. http://www.fujitsu.com/global/about/resources/news/press-releases/2017/0914-01.html, 2017.Google Scholar
- R. Garcia, R. Rodrigues, and N. M. Preguiça. Efficient middleware for Byzantine fault tolerant database replication. In European Conference on Computer Systems (EuroSys), pages 107--122, 2011. Google ScholarDigital Library
- T. Groenfeldt. IBM and Maersk apply blockchain to container shipping. https://www.forbes.com/sites/tomgroenfeldt/2017/03/05/ibm-and-maersk-apply-blockchain-to-container-shipping/, 2018.Google Scholar
- R. Guerraoui, R. R. Levy, B. Pochon, and V. Quéma. Throughput optimal total order broadcast for cluster environments. ACM Trans. Comput. Syst., 28(2):5:1--5:32, 2010. Google ScholarDigital Library
- J. P. Morgan. Quorum whitepaper. https://github.com/jpmorganchase/quorum-docs, 2016.Google Scholar
- F. P. Junqueira, B. C. Reed, and M. Serafini. Zab: High-performance broadcast for primary-backup systems. In International Conference on Dependable Systems & Networks (DSN), pages 245--256, 2011. Google ScholarDigital Library
- M. Kapritsos, Y. Wang, V. Quéma, A. Clement, L. Alvisi, and M. Dahlin. All about Eve: Execute-verify replication for multi-core servers. In Symposium on Operating Systems Design and Implementation (OSDI), pages 237--250, 2012. Google ScholarDigital Library
- R. Karp, C. Schindelhauer, S. Shenker, and B. Vocking. Randomized rumor spreading. In Symposium on Foundations of Computer Science (FOCS), pages 565--574. IEEE, 2000. Google ScholarDigital Library
- B. Kemme. One-copy-serializability. In Encyclopedia of Database Systems, pages 1947--1948. Springer, 2009.Google Scholar
- B. Kemme and G. Alonso. A new approach to developing and implementing eager database replication protocols. ACM Transactions on Database Systems, 25(3):333--379, 2000. Google ScholarDigital Library
- B. Kemme, R. Jiménez-Peris, and M. Patiño-Martínez. Database Replication. Synthesis Lectures on Data Management. Morgan & Claypool Publishers, 2010. Google ScholarDigital Library
- A. E. Kosba, A. Miller, E. Shi, Z. Wen, and C. Papamanthou. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. In 37th IEEE Symposium on Security & Privacy, 2016.Google ScholarCross Ref
- S. Liu, P. Viotti, C. Cachin, V. Quéma, and M. Vukolić. XFT: practical fault tolerance beyond crashes. In Symposium on Operating Systems Design and Implementation (OSDI), pages 485--500, 2016. Google ScholarDigital Library
- S. Nakamoto. Bitcoin: A peer-to-peer electronic cash system. http://www.bitcoin.org/bitcoin.pdf, 2009.Google Scholar
- D. Ongaro and J. Ousterhout. In search of an understandable consensus algorithm. In USENIX Annual Technical Conference (ATC), pages 305--320, 2014. Google ScholarDigital Library
- F. Pedone and A. Schiper. Handling message semantics with Generic Broadcast protocols. Distributed Computing, 15(2):97--107, 2002. Google ScholarDigital Library
- B. Peterson. IBM told investors that it has over 400 blockchain clients - including Walmart, Visa, and Nestle. Business Insider UK, http://uk.businessinsider.com/ibm-blockchain-enterprise-customers-walmart-visa-nestl-2018-3/, 2018.Google Scholar
- F. B. Schneider. Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Comput. Surv., 22(4):299--319, 1990. Google ScholarDigital Library
- J. Sengupta, R. Komarraju, and K. Bear. Bridging the divide: How CLS and IBM moved to blockchain. IBM Institute for Business Value, https://www-935.ibm.com/services/us/gbs/thoughtleadership/bridgingdivide/, 2017.Google Scholar
- S. Settty, S. Basu, L. Zhou, M. L. Roberts, and R. Venkatesan. Enabling secure and resource-efficient blockchain networks with VOLT. Technical Report MSR-TR-2017-38, Microsoft Research, 2017.Google Scholar
- M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski. Conflict-free replicated data types. In Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems, SSS'11, pages 386--400, Berlin, Heidelberg, 2011. Springer-Verlag. Google ScholarDigital Library
- A. Singh, T. Das, P. Maniatis, P. Druschel, and T. Roscoe. BFT protocols under fire. In Symposium on Networked Systems Design & Implementation (NSDI), pages 189--204, 2008. Google ScholarDigital Library
- J. Sousa, A. Bessani, and M. Vukolić. A Byzantine fault-tolerant ordering service for the Hyperledger Fabric blockchain platform. In International Conference on Dependable Systems and Networks (DSN), 2018.Google ScholarCross Ref
- A. S. Tanenbaum. Distributed operating systems anno 1992. what have we learned so far? Distributed Systems Engineering, 1(1):3--10, 1993.Google ScholarCross Ref
- B. Vandiver, H. Balakrishnan, B. Liskov, and S. Madden. Tolerating Byzantine faults in transaction processing systems using commit barrier scheduling. In ACM Symposium on Operating Systems Principles (SOSP), pages 59--72, 2007. Google ScholarDigital Library
- M. Venkataraman, M. Vridhachalam, A. Rosen, and B. Arthur. Adopting blockchain for enterprise asset management (EAM). IBM developerWorks, https://www.ibm.com/developerworks/cloud/library/cl-adopting-blockchain-for-enterprise-asset-management-eam/index.html, 2017.Google Scholar
- M. Vukolić. The quest for scalable blockchain fabric: Proof-of-work vs. BFT replication. In International Workshop on Open Problems in Network Security (iNetSec), pages 112--125, 2015.Google Scholar
- G. Wood. Ethereum: A secure decentralised generalised transaction ledger. Byzantium Version, https://ethereum.github.io/yellowpaper/paper.pdf.Google Scholar
- J. Yin, J. Martin, A. Venkataramani, L. Alvisi, and M. Dahlin. Separating agreement from execution for Byzantine fault tolerant services. In ACM Symposium on Operating Systems Principles (SOSP), pages 253--267, 2003. Google ScholarDigital Library
- Hyperledger fabric: a distributed operating system for permissioned blockchains
Recommendations
Performance analysis of hyperledger fabric 2.0 blockchain platform
CCIoT '20: Proceedings of the Workshop on Cloud Continuum Services for Smart IoT SystemsHyperledger Fabric is currently one of the most popular business Blockchain platforms. With its included functionality of executing custom smart contracts, Fabric has become one of the most widely used frameworks, e.g. for industry 4.0 applications. ...
Performance Analysis of Hyperledger Fabric Platforms
Blockchain is a key technology that has the potential to decentralize the way we store, share, and manage information and data. One of the more recent blockchain platforms that has emerged is Hyperledger Fabric, an open source, permissioned blockchain ...
Implementation of Auditable Blockchain Voting System with Hyperledger Fabric
Computational Science – ICCS 2021AbstractAn efficient democratic process requires a quick, fair and fraud-free election process. Many electronic-based voting systems have been developed to fulfil these requirements but there are still unsolved issues with transparency, privacy and data ...
Comments