FabricSharp (hash) project is a variant of Hyperledger Fabric 1.4, a permissioned blockchain platform from Hyperledger. Compared with the vanilla version, FabricSharp supports fine-grained secure data provenance, sharding, smart transaction management, use of trusted hardware (eg. SGX), and a blockchain native storage engine called ForkBase, to boost system performance.
Thanks to colleagues from MediLOT, NUS, SUTD, BIT, Zhejiang University, MZH Technologies and other organizations for their contributions.
- Build the chaincode environment
make ccenv # Will build an image hyperledger/fabric-ccenv:forkbase
- Build the peer docker image
DOCKER_DYNAMIC_LINK=true make peer-docker # Will build an image hyperledger/fabric-peer:forkbase
- Build the orderer docker image
make orderer-docker
NOTE: FabricSharp relies on ForkBase[3] as the storage engine, which is close-sourced.
Hence FabricSharp can only be built and run within the docker container. Running make peer
may fail.
NOTE: Always start the peer container with the following environment variable to enable for the above-built chaincode environment. CORE_CHAINCODE_BUILDER=hyperledger/fabric-ccenv:forkbase
The current master branch incorporates the optimization from [2] and [7] on the basis of Fabric v1.4.2. We dedicate another branch vldb19, which shows more details only about [2], including the experimental baseline, scripts, chaincode examples and so on. Similarly, branch sigmod20 is dedicated for [7]. Refer to branch vldb19 on how to write provenance-dependent smart contracts, and sigmod20 for the snapshot-based transaction management.
We will soon merge the optimization in [1] to this master branch upon v1.4.2 and similarly dedicate another branch for [1].
- [1] H. Dang, A. Dinh, D. Lohgin, E.-C. Chang, Q. Lin, B.C. Ooi: Towards Scaling Blockchain Systems via Sharding. ACM SIGMOD 2019
- [2] P. Ruan, G. Chen, A. Dinh, Q. Lin, B.C. Ooi, M. Zhang: FineGrained, Secure and Efficient Data Provenance on Blockchain Systems. VLDB 2019. The morning paper review.
- [3] S. Wang, T. T. A . Dinh, Q. Lin, Z. Xie, M. Zhang, Q. Cai, G. Chen, B.C. Ooi, P. Ruan: ForkBase: An Efficient Storage Engine for Blockchain and Forkable Applications. VLDB 2018. The morning paper review.
- [4] A. Dinh, R. Liu, M. Zhang, G. Chen, B.C. Ooi, J. Wang: Untangling Blockchain: A Data Processing View of Blockchain Systems. IEEE Transactions on Knowledge and Data Engineering, July 2018.
- [5] A. Dinh, J. Wang, G. Chen, R. Liu, B. C. Ooi, K.-L. Tan: BLOCKBENCH: A Framework for Analysing Private Blockchains. ACM SIGMOD 2017. The morning paper review.
- [6] P. Ruan, G. Chen, A. Dinh, Q. Lin, D. Loghin, B. C. Ooi, M. Zhang: Blockchains and Distributed Databases: a Twin Study. 2019.
- [7] P. Ruan, D. Loghin, Q.-T. Ta, M Zhang, G. Chen, B. C. Ooi: A Transactional Perspective on Execute-Order-Validate Blockchains, ACM SIGMOD 2020.
- [8] C. Yue. Z. Xue, M. Zhang, G. Chen, B. C. Ooi, S. Wang, X. Xiao: Analysis of Indexing Structures for Immutable Data. ACM SIGMOD 2020.
- [9] Q. Lin et al. ForkBase: Immutable, Tamper-evident Storage Substrate for Branchable Applications. IEEE International Conference on Data Engineering, 2020