ABSTRACT
Within the last few years, a countless number of blockchain systems have emerged on the market, each one claiming to revolutionize the way of distributed transaction processing in one way or the other. Many blockchain features, such as byzantine fault tolerance, are indeed valuable additions in modern environments. However, despite all the hype around the technology, many of the challenges that blockchain systems have to face are fundamental transaction management problems. These are largely shared with traditional database systems, which have been around for decades already. These similarities become especially visible for systems, that blur the lines between blockchain systems and classical database systems. A great example of this is Hyperledger Fabric, an open-source permissioned blockchain system under development by IBM. By implementing parallel transaction processing, Fabric's workflow is highly motivated by optimistic concurrency control mechanisms in classical database systems. This raises two questions: (1)~Which conceptual similarities and differences do actually exist between a system such as Fabric and a classical distributed database system? (2)~Is it possible to improve on the performance of Fabric by transitioning technology from the database world to blockchains and thus blurring the lines between these two types of systems even further? To tackle these questions, we first explore Fabric from the perspective of database research, where we observe weaknesses in the transaction pipeline. We then solve these issues by transitioning well-understood database concepts to Fabric, namely transaction reordering as well as early transaction abort. Our experimental evaluation under the Smallbank benchmark as well as under a custom workload shows that our improved version Fabric++ significantly increases the throughput of successful transactions over the vanilla version by up to a factor of 12x, while decreasing the average latency to almost half.
- 2019. https://bitcoin.org/bitcoin.pdfGoogle Scholar
- 2019. https://github.com/ethereum/wiki/wiki/White-PaperGoogle Scholar
- 2019. http://www.tpc.org/tpcc/Google Scholar
- 2019. http://www.tpc.org/tpch/Google Scholar
- 2019. https://github.com/brianfrankcooper/YCSBGoogle Scholar
- 2019. https://github.com/hyperledger/caliperGoogle Scholar
- 2019. https://github.com/persistentsystems/gaugeGoogle Scholar
- 2019. https://github.com/persistentsystems/gauge/blob/master/docs/ caliper-changes.mdGoogle Scholar
- 2019. http://hstore.cs.brown.edu/documentation/deployment/ benchmarks/smallbank/Google Scholar
- Elli Androulaki, Artem Barger, Vita Bortnikov, et al. 2018. Hyperledger fabric: a distributed operating system for permissioned blockchains. In EuroSys 2018, Porto, Portugal, April 23--26. 30:1--30:15.Google Scholar
- Bailu Ding, Lucja Kot, and Johannes Gehrke. 2018. Improving Optimistic Concurrency Control Through Transaction Batching and Operation Reordering. PVLDB 12, 2 (2018), 169--182. http://www.vldb.org/ pvldb/vol12/p169-ding.pdf Google ScholarDigital Library
- Tien Tuan Anh Dinh, Rui Liu, Meihui Zhang, Gang Chen, Beng Chin Ooi, and Ji Wang. 2018. Untangling Blockchain: A Data Processing View of Blockchain Systems. IEEE Trans. Knowl. Data Eng. 30, 7 (2018), 1366--1385.Google ScholarCross Ref
- Jose M. Faleiro, Daniel Abadi, and Joseph M. Hellerstein. 2017. High Performance Transactions via Early Write Visibility. PVLDB 10, 5 (2017), 613--624. Google ScholarDigital Library
- Zhengyu He and Bo Hong. 2009. Impact of early abort mechanisms on lock-based software transactional memory. In 16th International Conference on High Performance Computing, HiPC 2009, December 16- 19, 2009, Kochi, India, Proceedings. 225--234.Google ScholarCross Ref
- Donald B. Johnson. 1975. Finding All the Elementary Circuits of a Directed Graph. SIAM J. Comput. 4, 1 (1975), 77--84.Google ScholarDigital Library
- Per-Åke Larson, Spyros Blanas, Cristian Diaconu, Craig Freedman, Jignesh M. Patel, and Mike Zwilling. 2011. High-Performance Concurrency Control Mechanisms for Main-Memory Databases. PVLDB 5, 4 (2011), 298--309. Google ScholarDigital Library
- Hyeontaek Lim, Michael Kaminsky, and David G. Andersen. 2017. Cicada: Dependably Fast Multi-Core In-Memory Transactions. In Proceedings of the 2017 ACM International Conference on Management of Data, SIGMOD Conference 2017, Chicago, IL, USA, May 14--19, 2017. 21--35.Google ScholarDigital Library
- Gang Luo, Jeffrey F. Naughton, Curt J. Ellmann, and Michael Watzke. 2010. Transaction reordering. Data Knowl. Eng. 69, 1 (2010), 29--49. Google ScholarDigital Library
- Thomas Neumann, Tobias Mühlbauer, and Alfons Kemper. 2015. Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems. In SIGMOD 2015, Melbourne, Victoria, Australia, May 31 - June 4. 677--689. Google ScholarDigital Library
- Thamir M. Qadah and Mohammad Sadoghi. 2018. QueCC: A Queueoriented, Control-free Concurrency Architecture. In Proceedings of the 19th International Middleware Conference, Middleware 2018, Rennes, France, December 10--14, 2018. 13--25. Google ScholarDigital Library
- Ankur Sharma, Felix Martin Schuhknecht, and Jens Dittrich. 2018. Accelerating Analytical Processing in MVCC using Fine-Granular High- Frequency Virtual Snapshotting. In SIGMOD 2018, Houston, TX, USA, June 10--15, 2018. 245--258. Google ScholarDigital Library
- Robert Endre Tarjan. 1972. Depth-First Search and Linear Graph Algorithms. SIAM J. Comput. 1, 2 (1972), 146--160.Google ScholarDigital Library
- Tianzheng Wang, Ryan Johnson, Alan Fekete, and Ippokratis Pandis. 2017. Effciently making (almost) any concurrency control mechanism serializable. The VLDB Journal 26, 4 (01 Aug 2017), 537--562. Google ScholarDigital Library
- Tianzheng Wang and Hideaki Kimura. 2016. Mostly-Optimistic Concurrency Control for Highly Contended Dynamic Workloads on a Thousand Cores. PVLDB 10, 2 (2016), 49--60. http://www.vldb.org/pvldb/vol10/p49-wang.pdf Google ScholarDigital Library
- Yingjun Wu, Joy Arulraj, Jiexi Lin, Ran Xian, and Andrew Pavlo. 2017. An Empirical Evaluation of In-Memory Multi-Version Concurrency Control. PVLDB 10, 7 (2017), 781--792. Google ScholarDigital Library
- Chang Yao, Divyakant Agrawal, Gang Chen, Qian Lin, Beng Chin Ooi, Weng-Fai Wong, and Meihui Zhang. 2016. Exploiting Single-Threaded Model in Multi-Core In-Memory Systems. IEEE Trans. Knowl. Data Eng. 28, 10 (2016), 2635--2650.Google ScholarDigital Library
- Xiangyao Yu, George Bezerra, Andrew Pavlo, Srinivas Devadas, and Michael Stonebraker. 2014. Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores. PVLDB 8, 3 (2014), 209--220. Google ScholarDigital Library
- Yuan Yuan, Kaibo Wang, Rubao Lee, Xiaoning Ding, Jing Xing, Spyros Blanas, and Xiaodong Zhang. 2016. BCC: Reducing False Aborts in Optimistic Concurrency Control with Low Cost for In-Memory Databases. PVLDB 9, 6 (2016), 504--515. Google ScholarDigital Library
- Bo Zhang, Binoy Ravindran, and Roberto Palmieri. 2015. Reducing Aborts in Distributed Transactional Systems through Dependency Detection. In Proceedings of the 2015 International Conference on Distributed Computing and Networking, ICDCN 2015, Goa, India, January 4--7, 2015. 13:1--13:10. Google ScholarDigital Library
- Ningnan Zhou, Xuan Zhou, Xiao Zhang, et al. 2017. Reordering Transaction Execution to Boost High-Frequency Trading Applications. Data Science and Engineering 2, 4 (2017), 301--315.Google ScholarCross Ref
Index Terms
- Blurring the Lines between Blockchains and Database Systems: the Case of Hyperledger Fabric
Recommendations
Deconstructing Blockchains: Concepts, Systems, and Insights
DEBS '18: Proceedings of the 12th ACM International Conference on Distributed and Event-based SystemsPopularly known for powering cryptocurrencies such as Bitcoin and Ethereum, blockchains is seen as a disruptive technology capable of impacting a wide variety of domains, ranging from finance to governance, by offering superior security, reliability, ...
Blockchains in operations and supply chains: A model and reference implementation
Highlights- Review blockchain technology.
- Outline potential applications for immutable ...
AbstractBlockchain is a promising information technology which can provide several potential applications related to operations and supply chains. By using distributed software architecture and advanced computing, blockchain can solve the ...
Survey of Hyperledger Blockchain Frameworks: Case Study in FPT University's Cryptocurrency Wallets
ICSCA '19: Proceedings of the 2019 8th International Conference on Software and Computer ApplicationsThere are many blockchain frameworks have been introduced to user, developer, and customer and they have to make a decision which one is most suitable for them in order for developing their applications. This paper describes an empirical research to ...
Comments