Abstract
Blockchain is of rising importance as a technology for engineering applications in cross-organizational settings, avoiding reliance on central trusted third-parties. The use of blockchain, instead of traditional databases or services, is an architectural choice in the development of a software system. Architecture impacts the non-functional qualities of systems, creating design trade-offs between these qualities. The costs of execution and storage are important non-functional qualities, but as yet little is known about them for blockchain-based systems. How expensive is it to use blockchains compared to conventional execution and storage infrastructure? We investigate this question using business process execution as a lens. Specifically, we compare the cost for computation and storage of business process execution on blockchain vs. a popular cloud service. Besides monetary cost, blockchains like Ethereum limit the complexity of new blocks by capping costs through network-defined limits. For applications using such blockchains, the limit per block, thus, translates into an upper bound on throughput scalability. First, we implement and measure the cost of business process execution on blockchain and cloud services for a business process model from a large-scale industrial dataset and an example from literature. We observe two orders of magnitude difference in this cost. Second, we illustrate how cost models can be used to project the impact of different workload assumptions. Finally, we discuss throughput scalability limits as well as trade-offs between cost and other non-functional qualities in the design of blockchain-based systems.
Similar content being viewed by others
Change history
18 March 2019
The original version of this article, unfortunately, included the incorrect version of Fig. 1.
Notes
A small subset of the content presented here has been accepted as a short paper (4 pages) (Rimba et al. 2017) at the International Conference on Software Architecture (ICSA 2017). It includes part of the first contribution, but does not cover the large-scale industrial dataset or the observations from evaluating our approach on it. Neither of the other contributions are part of the short paper. More details are discussed in Section 2.4.
https://aws.amazon.com/ec2/instance-types/ AWS calls VMs “instances”. To avoid confusion with process instances, we use the term “VMs” instead.
http://www.minitlabs.com/ – last accessed 30/11/2016
See e.g., https://promisepay.com/escrow/ or https://www.escrow.com/
51% attack — when an attacker has more than half of the network hashing power, he/she can perform double-spending transactions and can potentially alter the ledger’s history.
References
Aalst, WMPvd, Reijers, H.A., Weijters, A.J.M.M., van Dongen, B.F., Alves de Medeiros, A.K., Song, M., Verbeek, H.M.W. (2007). Business process mining: an industrial application. Information Systems, 32(5), 713–732.
Aalst, WMPvd, Dumas, M., Ouyang, C., Rozinat, A., Verbeek, E. (2008). Conformance checking of service behavior. ACM Transactions on Internet Technology, 8(3), 13:1–13:30.
Bass, L., Clements, P., Kazman, R. (2012). Software architecture in practice, 3rd edn. Boston: Addison-Wesley Professional.
Boehm, B., Abts, C., Chulani, S. (2000). Software development cost estimation approaches - a survey. Annals of Software Engineering, 10(1-4), 177–205.
Chaisiri, S., Lee, B.S., Niyato, D. (2012). Optimization of resource provisioning cost in cloud computing. IEEE Transactions on Services Computing, 5(2), 164–177.
Clements, P., Kazman, R., Klein, M. (2002). Evaluating software architectures: Methods and case studies. Boston: Addison-Wesley.
DeCovny, S. (2015). Chips off the old blockchain. CFA Institute Magazine Nov/Dec.
García-Bañuelos, L., Ponomarev, A., Dumas, M., Weber, I. (2017). Optimized execution of business processes on blockchain. In International Conference on Business Process Management (BPM), pp 130–146.
He, J., Wen, Y., Huang, J., Wu, D. (2014). On the cost-QoE tradeoff for cloud-based video streaming under Amazon EC2’s pricing models. IEEE Transactions on Circuits and Systems for Video Technology, 24(4), 660–680.
Iosup, A., Yigitbasi, N., Epema, D. (2011). On the performance variability of production cloud services. In IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp 104–113.
Jorgensen, M., & Shepperd, M. (2007). A systematic review of software development cost estimation studies. IEEE Transactions on software engineering, 33(1), 33–53.
Kazman, R., Asundi, J., Klien, M. (2002). Making architecture design decisions: an economic approach. Tech. rep., CMU/SEI.
Li, J., Wang, H.J., Bai, X. (2015). An intelligent approach to data extraction and task identification for process mining. Information Systems Frontiers, 17(6), 1195–1208.
Mainelli, M., Smith, M., et al. (2015). Sharing ledgers for sharing economies: an exploration of mutual distributed ledgers (aka blockchain technology). The Journal of Financial Perspectives, 3(3), 38–69.
Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system. https://bitcoin.org/bitcoin.pdf, accessed 25-July-2016.
Norta, A. (2015). Creation of smart-contracting collaborations for decentralized autonomous organizations. In International Conference on Business Informatics Research, pp 3–17.
Norta, A. (2016). Establishing distributed governance infrastructures for enacting cross-organization collaborations. In Service-Oriented Computing – ICSOC Workshops, pp 24–35.
Object Management Group. (2010). BPMN 2.0 by Example. www.omg.org/spec/BPMN/20100601/10-06-02.pdf, v1.0. Accessed 10/3/2016.
Omohundro, S. (2014). Cryptocurrencies, smart contracts, and artificial intelligence. AI Matters, 1(2), 19–21.
Rimba, P., Tran, A.B., Weber, I., Staples, M., Ponomarev, A., Xu, X. (2017). Comparing blockchain and cloud services for business process execution. In IEEE international conference on software architecture.
Schad, J., Dittrich, J., Quiané-Ruiz, J.A. (2010). Runtime measurements in the cloud: observing, analyzing, and reducing variance. Proceedings of the VLDB Endow, 3(1-2), 460–471.
Singer, G., Livenson, I., Dumas, M., Srirama, S.N., Norbisrath, U. (2010). Towards a model for cloud computing cost estimation with reserved instances. In International conference on cloud computing.
Swan, M. (2015). Blockchain: Blueprint for a new economy. Farnham: O’Reilly.
Tschorsch, F., & Scheuermann, B. (2015). Bitcoin and beyond: A, technical survey on decentralized digital currencies. IACR Cryptology ePrint Archive, 2015, 464.
Weber, I., Rogge-Solti, A., Li, C., Mendling, J. (2015). CCaas: Online conformance checking as a service. In International conference on business process management (BPM), Demo Track (pp. 45–49).
Weber, I., Xu, X., Riveret, R., Governatori, G., Ponomarev, A., Mendling, J. (2016). Untrusted business process monitoring and execution using blockchain. In International conference on business process management (BPM).
Wood, G. (2016). Ethereum: a secure decentralized generalised transaction ledger — homestead draft. Tech. rep., Ethereum and Ethcore.
Wu, L., Garg, S.K., Versteeg, S., Buyya, R. (2014). SLA-based resource provisioning for hosted Software-as-a-Service applications in cloud computing environments. IEEE Transactions on Services Computing, 7 (3), 465–485.
Xu, X., Pautasso, C., Zhu, L., Gramoli, V., Ponomarev, A., Tran, A.B., Chen, S. (2016). The blockchain as a software connector. In Working IEEE/IFIP conference on software architecture (WICSA).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Rimba, P., Tran, A.B., Weber, I. et al. Quantifying the Cost of Distrust: Comparing Blockchain and Cloud Services for Business Process Execution. Inf Syst Front 22, 489–507 (2020). https://doi.org/10.1007/s10796-018-9876-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10796-018-9876-1