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

2018 
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.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    33
    References
    18
    Citations
    NaN
    KQI
    []