Quantifying the Cost of Distrust: Comparing Blockchain and Cloud Services for Business Process Execution

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.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Change history

  • 18 March 2019

    The original version of this article, unfortunately, included the incorrect version of Fig. 1.

Notes

  1. 1.

    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.

  2. 2.

    http://docs.aws.amazon.com/amazonswf/latest/awsrbflowguide/programming-advanced.html

  3. 3.

    https://ethereum.github.io/browser-solidity

  4. 4.

    https://aws.amazon.com/ec2/instance-types/ AWS calls VMs “instances”. To avoid confusion with process instances, we use the term “VMs” instead.

  5. 5.

    https://aws.amazon.com/swf/pricing/

  6. 6.

    http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-limits.html

  7. 7.

    https://github.com/ethereum/go-ethereum/issues/2149

  8. 8.

    http://www.minitlabs.com/ – last accessed 30/11/2016

  9. 9.

    https://poloniex.com/exchange#usdt_eth

  10. 10.

    https://etherscan.io/address/0x09890f52cdd5d0743c7d13abe481e705a2706384

  11. 11.

    See e.g., https://promisepay.com/escrow/ or https://www.escrow.com/

  12. 12.

    https://ethereumclassic.github.io/

  13. 13.

    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

  1. 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.

    Article  Google Scholar 

  2. 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.

    Article  Google Scholar 

  3. Bass, L., Clements, P., Kazman, R. (2012). Software architecture in practice, 3rd edn. Boston: Addison-Wesley Professional.

    Google Scholar 

  4. Boehm, B., Abts, C., Chulani, S. (2000). Software development cost estimation approaches - a survey. Annals of Software Engineering, 10(1-4), 177–205.

    Article  Google Scholar 

  5. 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.

    Article  Google Scholar 

  6. Clements, P., Kazman, R., Klein, M. (2002). Evaluating software architectures: Methods and case studies. Boston: Addison-Wesley.

    Google Scholar 

  7. DeCovny, S. (2015). Chips off the old blockchain. CFA Institute Magazine Nov/Dec.

  8. 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.

  9. 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.

    Article  Google Scholar 

  10. 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.

  11. Jorgensen, M., & Shepperd, M. (2007). A systematic review of software development cost estimation studies. IEEE Transactions on software engineering, 33(1), 33–53.

    Article  Google Scholar 

  12. Kazman, R., Asundi, J., Klien, M. (2002). Making architecture design decisions: an economic approach. Tech. rep., CMU/SEI.

  13. 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.

    Article  Google Scholar 

  14. 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.

    Google Scholar 

  15. Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system. https://bitcoin.org/bitcoin.pdf, accessed 25-July-2016.

  16. Norta, A. (2015). Creation of smart-contracting collaborations for decentralized autonomous organizations. In International Conference on Business Informatics Research, pp 3–17.

  17. Norta, A. (2016). Establishing distributed governance infrastructures for enacting cross-organization collaborations. In Service-Oriented Computing – ICSOC Workshops, pp 24–35.

  18. 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.

  19. Omohundro, S. (2014). Cryptocurrencies, smart contracts, and artificial intelligence. AI Matters, 1(2), 19–21.

    Article  Google Scholar 

  20. 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.

  21. 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.

    Article  Google Scholar 

  22. 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.

  23. Swan, M. (2015). Blockchain: Blueprint for a new economy. Farnham: O’Reilly.

    Google Scholar 

  24. Tschorsch, F., & Scheuermann, B. (2015). Bitcoin and beyond: A, technical survey on decentralized digital currencies. IACR Cryptology ePrint Archive, 2015, 464.

    Google Scholar 

  25. 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).

  26. 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).

  27. Wood, G. (2016). Ethereum: a secure decentralized generalised transaction ledger — homestead draft. Tech. rep., Ethereum and Ethcore.

  28. 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.

    Article  Google Scholar 

  29. 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).

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Paul Rimba.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

Keywords

  • Blockchain
  • Cloud
  • Business process
  • Design
  • Cost