Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3581784.3607053acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article
Open access

FISCO-BCOS: An Enterprise-grade Permissioned Blockchain System with High-performance

Published: 11 November 2023 Publication History

Abstract

Enterprise-grade permissioned blockchain systems provide a promising infrastructure for data sharing and cooperation between different companies. However, performance bottlenecks seriously hinder the adoption of these systems in many industrial applications that process complex business logic and huge transaction volumes. Our research identifies two key factors that limit the system performance: 1) At the block level, the serial dependency of inter-block processing severely limits the system throughput. A new block must wait for the completion of all previous blocks. 2) At the transaction level, the lack of efficient intra-block transactions concurrency makes it difficult to achieve high performance, especially when dealing with multiple CPU-heavy contracts which are commonly used in industrial scenarios.
In this paper, we present FISCO-BCOS, an enterprise-grade permissioned blockchain system with high performance. To overcome serial limitations and fully utilize machine resources, FISCO-BCOS introduces Block Level Pipelining (BLP) workflow to process blocks in a pipeline manner. In addition, a scheduling algorithm Deterministic Multi-Contract (DMC) is designed to efficiently execute transactions in parallel. Under BLP and DMC, FISCO-BCOS achieves inter-block and intra-block paralleling to meet high-performance requirements in industrial application scenarios. We conducted experiments on two popular test workloads and compared FISCO-BCOS with state-of-the-art platforms in academia and industry such as BIDL and Hyperledger Fabric (HLF). The result shows that FISCO-BCOS achieves 7.4 times and 28.4 times the throughput of BIDL and HLF, respectively, with half the latency of them. BCOS has already been used in over 300 different large-scale industrial scenarios and has become one of the most popular permissioned blockchains.

References

[1]
Amiri, M. J., Agrawal, D., and El Abbadi, A. Parblockchain: Leveraging transaction parallelism in permissioned blockchain systems. In 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS) (2019), IEEE, pp. 1337--1347.
[2]
Amiri, M. J., Agrawal, D., and El Abbadi, A. Sharper: Sharding permissioned blockchains over network clusters. In Proceedings of the 2021 International Conference on Management of Data (2021), pp. 76--88.
[3]
Androulaki, E., Barger, A., Bortnikov, V., Cachin, C., Christidis, K., De Caro, A., Enyeart, D., Ferris, C., Laventman, G., Manevich, Y., et al. Hyperledger fabric: a distributed operating system for permissioned blockchains. In Proceedings of the thirteenth EuroSys conference (2018), pp. 1--15.
[4]
Anjana, P. S., Kumari, S., Peri, S., Rathor, S., and Somani, A. An efficient framework for optimistic concurrent execution of smart contracts. In 2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP) (2019), IEEE, pp. 83--92.
[5]
Association, D. Diem website. https://www.diem.com/en-us/, 2023.
[6]
Authors, T. Tikv website. https://tikv.org, 2023.
[7]
Baheti, S., Anjana, P. S., Peri, S., and Simmhan, Y. Dipetrans: A framework for distributed parallel execution of transactions of blocks in blockchains. Concurrency and Computation: Practice and Experience (2019), e6804.
[8]
Baliga, A., Subhod, I., Kamat, P., and Chatterjee, S. Performance evaluation of the quorum blockchain platform. arXiv preprint arXiv:1809.03421 (2018).
[9]
Banerjee, A. Everything you need to know about consortium blockchain. https://www.blockchain-council.org/blockchain/everything-you-need-to-know-about-consortium-blockchain/, 2023.
[10]
Bartoletti, M., Galletta, L., and Murgia, M. A true concurrent model of smart contracts executions. international conference on coordination models and languages (2019).
[11]
Bitcoin-core. libsecp256k1. https://github.com/bitcoin-core/secp256k1, 2023.
[12]
Castro, M., and Liskov, B. Practical byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems (TOCS) 20 (2002), 398--461.
[13]
Castro, M., Liskov, B., et al. Practical byzantine fault tolerance. In OsDI (1999), vol. 99, pp. 173--186.
[14]
ConsenSys. Goquorum. https://github.com/ConsenSys/quorum, 2022.
[15]
Corda. Corda. https://www.corda.net, 2023.
[16]
Dang, H., Dinh, T. T. A., Loghin, D., Chang, E.-C., Lin, Q., and Ooi, B. C. Towards scaling blockchain systems via sharding. In Proceedings of the 2019 international conference on management of data (2019), pp. 123--140.
[17]
Deloitte. How blockchain can reshape trade finance. https://www2.deloitte.com/content/dam/Deloitte/global/Documents/grid/trade-finance-placemat.pdf, 2023.
[18]
Dickerson, T., Gazzillo, P., Herlihy, M., and Koskinen, E. Adding concurrency to smart contracts. Distributed Computing 33, 3 (2020), 209--225.
[19]
Dinh, T. T. A., Wang, J., Chen, G., Liu, R., Ooi, B. C., and Tan, K.-L. Blockbench: A framework for analyzing private blockchains, 2017.
[20]
Ethereum. Official golang implementation of the ethereum protocol. https://github.com/ethereum/go-ethereum, 2022.
[21]
Ethereum. Ethereum virtual machine (evm). https://ethereum.org/en/developers/docs/evm/, 2023.
[22]
Ethereum. Ethereum website. https://ethereum.org/en/, 2023.
[23]
Ethereum. Solidity github repository. https://github.com/ethereum/solidity, 2023.
[24]
FISCO. Fisco bcos white paper on industrial applications (in chinese). https://www.fisco.com.cn/upload/files/20230713/1689233000761446.pdf, 2022.
[25]
FISCO. Fisco bcos website. http://www.fisco-bcos.org, 2023.
[26]
Flores-Montoya, A., and Schulte, E. Datalog disassembly. In 29th USENIX Security Symposium (USENIX Security 20) (2020), pp. 1075--1092.
[27]
Gilad, Y., Hemo, R., Micali, S., Vlachos, G., and Zeldovich, N. Algorand: Scaling byzantine agreements for cryptocurrencies. In Proceedings of the 26th symposium on operating systems principles (2017), pp. 51--68.
[28]
Gorenflo, C., Lee, S., Golab, L., and Keshav, S. Fastfabric: Scaling hyper-ledger fabric to 20 000 transactions per second. International Journal of Network Management 30, 5 (2020), e2099.
[29]
Grech, N., Brent, L., Scholz, B., and Smaragdakis, Y. Gigahorse: thorough, declarative decompilation of smart contracts. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE) (2019), IEEE, pp. 1176--1186.
[30]
Hyperledger. Case studies:revolutionizing organizations worldwide. https://www.hyperledger.org/learn/case-studies, 2023.
[31]
Jin, C., Pang, S., Qi, X., Zhang, Z., and Zhou, A. A high performance concurrency protocol for smart contracts of permissioned blockchain. IEEE Transactions on Knowledge and Data Engineering (2021).
[32]
Kokoris-Kogias, E., Jovanovic, P., Gasser, L., Gailly, N., Syta, E., and Ford, B. Omniledger: A secure, scale-out, decentralized ledger via sharding. In 2018 IEEE Symposium on Security and Privacy (SP) (2018), IEEE, pp. 583--598.
[33]
Likos, P. How blockchain can transform the financial services industry. https://money.usnews.com/investing/cryptocurrency/articles/how-blockchain-can-transform-the-financial-services-industry, 2021.
[34]
Liu, T., Curtsinger, C., and Berger, E. D. Dthreads: efficient deterministic multithreading. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles (2011), pp. 327--336.
[35]
(Meta), F. Move github repository. https://github.com/move-language/move, 2023.
[36]
(Meta), F. Rocksdb: A persistent key-value store for fast storage environments. http://rocksdb.org, 2023.
[37]
MultiChain. Multichain website. https://www.multichain.com, 2023.
[38]
Nakamoto, S., and Bitcoin, A. A peer-to-peer electronic cash system. Bitcoin.-URL: https://bitcoin.org/bitcoin.pdf 4 (2008).
[39]
Nguyen, L. N., Nguyen, T. D., Dinh, T. N., and Thai, M. T. Optchain: optimal transactions placement for scalable blockchain sharding. In 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS) (2019), IEEE, pp. 525--535.
[40]
Nielsen, J. Response times: The 3 important limits. https://www.nngroup.com/articles/response-times-3-important-limits/, 1993.
[41]
Olszewski, M., Ansel, J., and Amarasinghe, S. Kendo: efficient deterministic multithreading in software. In Proceedings of the 14th international conference on Architectural support for programming languages and operating systems (2009), pp. 97--108.
[42]
Ongaro, D., and Ousterhout, J. In search of an understandable consensus algorithm. In 2014 USENIX Annual Technical Conference (Usenix ATC 14) (2014), pp. 305--319.
[43]
ParityTech. ink! github repository. https://github.com/paritytech/ink, 2023.
[44]
Peng, Z., Zhang, Y., Xu, Q., Liu, H., Gao, Y., and Li, X. Neuchain: A fast permissioned blockchain system with deterministic ordering.
[45]
Pîrlea, G., Kumar, A., and Sergey, I. Practical smart contract sharding with ownership and commutativity analysis. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (2021), pp. 1327--1341.
[46]
Qi, J., Chen, X., Jiang, Y., Jiang, J., Shen, T., Zhao, S., Wang, S., Zhang, G., Chen, L., Au, M. H., et al. Bidl: A high-throughput, low-latency permissioned blockchain framework for datacenter networks. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles (2021), pp. 18--34.
[47]
Ruan, P., Loghin, D., Ta, Q.-T., Zhang, M., Chen, G., and Ooi, B. C. A transactional perspective on execute-order-validate blockchains. international conference on management of data (2020).
[48]
Sharma, A., Schuhknecht, F. M., Agrawal, D., and Dittrich, J. Blurring the lines between blockchains and database systems: the case of hyperledger fabric. international conference on management of data (2019).
[49]
Tendermint. Tendermint. https://tendermint.com, 2023.
[50]
Thakkar, P., and Natarajan, S. Scaling hyperledger fabric using pipelined execution and sparse peers. arXiv preprint arXiv:2003.05113 (2020).
[51]
Tianhua, L., Hongfeng, Z., Guiran, C., and Chuansheng, Z. The design and implementation of zero-copy for linux. In 2008 Eighth International Conference on Intelligent Systems Design and Applications (2008), vol. 1, IEEE, pp. 121--126.
[52]
Tijan, E., Aksentijević, S., Ivanić, K., and Jardas, M. Blockchain technology implementation in logistics. Sustainability 11, 4 (2019), 1185.
[53]
Treiblmaier, H., and Sillaber, C. The impact of blockchain on e-commerce: A framework for salient research topics. Electronic Commerce Research and Applications 48 (2021), 101054.
[54]
Veronese, G. S., Correia, M., Bessani, A. N., Lung, L. C., and Verissimo, P. Efficient byzantine fault-tolerance. IEEE Transactions on Computers 62, 1 (2011), 16--30.
[55]
Visa. Visa fact sheet. https://www.visa.co.uk/dam/VCOM/download/corporate/media/visanet-technology/aboutvisafactsheet.pdf, 2023.
[56]
W3C. Decentralized identifiers (dids) v1.0. https://www.w3.org/TR/did-core/, 2023.
[57]
W3C. Webassembly. https://webassembly.org, 2023.
[58]
Wang, J., and Wang, H. Monoxide: Scale out blockchains with asynchronous consensus zones. In 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19) (2019), pp. 95--112.
[59]
Welsh, M., Culler, D., and Brewer, E. Seda: An architecture for well-conditioned, scalable internet services. ACM SIGOPS operating systems review 35, 5 (2001), 230--243.
[60]
Wikipeida. Ip multicasting. https://en.wikipedia.org/wiki/IP_multicast, 2023.
[61]
Xu, C., Zhang, C., Xu, J., and Pei, J. Slimchain: scaling blockchain transactions through off-chain storage and parallel processing. very large data bases (2021).
[62]
Yin, M., Malkhi, D., Reiter, M. K., Gueta, G. G., and Abraham, I. Hotstuff: Bft consensus with linearity and responsiveness. In Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing (2019), pp. 347--356.
[63]
Zamani, M., Movahedi, M., and Raykova, M. Rapidchain: Scaling blockchain via full sharding. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (2018), pp. 931--948.
[64]
Zhang, A., and Zhang, K. Enabling concurrency on smart contracts using multiversion ordering. In Asia-Pacific Web (APWeb) and Web-Age Information Management (WAIM) Joint International Conference on Web and Big Data (2018), Springer, pp. 425--439.
[65]
Zhou, E., Pi, B., Sun, J., Miyamae, T., and Morinaga, M. Performance improvement by using pipelined execution on hyperledger fabric.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SC '23: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis
November 2023
1428 pages
ISBN:9798400701092
DOI:10.1145/3581784
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 November 2023

Check for updates

Badges

Author Tags

  1. enterprise-grade
  2. permissioned blockchain
  3. pipelining workflow
  4. deterministic multi-contact

Qualifiers

  • Research-article

Conference

SC '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,516 of 6,373 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)917
  • Downloads (Last 6 weeks)103
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Adaptive Parallel Scheduling Scheme for Smart ContractMathematics10.3390/math1209134712:9(1347)Online publication date: 29-Apr-2024
  • (2024)A Blockchain-Based Detection and Control System for Model-Generated False InformationElectronics10.3390/electronics1315298413:15(2984)Online publication date: 29-Jul-2024
  • (2024)A Survey of Consortium Blockchain and Its ApplicationsCryptography10.3390/cryptography80200128:2(12)Online publication date: 22-Mar-2024
  • (2024)PnV: An Efficient Parallel Consensus Protocol Integrating Proof and VotingApplied Sciences10.3390/app1408351014:8(3510)Online publication date: 22-Apr-2024
  • (2024)EFSC: an Efficient, Flexible and Secure Trading System for Computing Power Network2024 IEEE 49th Conference on Local Computer Networks (LCN)10.1109/LCN60385.2024.10639684(1-7)Online publication date: 8-Oct-2024
  • (2024)Constructing a Secure Charity NFT Auction Platform Using Fisco Bcos Blockchain for Enhancing Transparency and TraceabilityIEEE Access10.1109/ACCESS.2024.337015512(36924-36941)Online publication date: 2024
  • (2024)A New Identity Authentication and Key Agreement Protocol Based on Multi-Layer Blockchain in Edge ComputingIEEE Access10.1109/ACCESS.2023.334780812(3274-3291)Online publication date: 2024
  • (2024)An overview of blockchain smart contract execution mechanismJournal of Industrial Information Integration10.1016/j.jii.2024.10067441(100674)Online publication date: Sep-2024
  • (2024)Coral: A blockchain protocol for handling transactions with deadline constraintsComputer Networks10.1016/j.comnet.2024.110620251(110620)Online publication date: Sep-2024
  • (2024)Towards High-performance Transactions via Hierarchical Blockchain ShardingEuro-Par 2024: Parallel Processing10.1007/978-3-031-69577-3_26(373-388)Online publication date: 26-Aug-2024

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media