Hostname: page-component-78c5997874-4rdpn Total loading time: 0 Render date: 2024-11-15T14:24:06.903Z Has data issue: false hasContentIssue false

On the impact of architecture design decisions on the quality of blockchain-based applications

Published online by Cambridge University Press:  02 June 2020

Diego Marmsoler
Affiliation:
Department of Computer Science, Technische Universität München, München, Germany e-mails: diego.marmsoler@tum.de, leo.eichhorn@tum.de
Leo Eichhorn
Affiliation:
Department of Computer Science, Technische Universität München, München, Germany e-mails: diego.marmsoler@tum.de, leo.eichhorn@tum.de

Abstract

In software architectures, architectural design decisions (ADDs) strongly influence the quality of the resulting software system. Wrong decisions lead to low-quality systems and are difficult to repair later on in the development process. As of today, little is known about the impact of certain ADDs for the development of architectures for blockchain-based systems. Thus, it is difficult to predict the outcome of certain ADDs when developing architectures for such systems. In the following, we propose a simulation-based approach for blockchain architectures in which the impact of certain ADDs on certain quality attributes can be simulated. To this end, we first implemented a simulation environment for blockchain architectures. The simulation environment was then used to execute a series of experiments from which we derived a set of hypotheses about the impact of certain ADDs on quality attributes for blockchain architectures. Finally, we tested the hypotheses using statistical analyses and derived an empirical model for blockchain architectures based on the outcome of the analysis. The model can be used by architects to predict the effect of certain decisions in the design of blockchain architectures before implementing them.

Type
Distributed Ledger Technologies: Papers Arising from Three Australian Symposia
Copyright
© The Author(s), 2020. Published by Cambridge University Press

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Antonopoulos, A. M. 2017. Mastering Bitcoin: Programming the Open Blockchain. O’Reilly Media, Inc.Google Scholar
Azaria, A., Ekblaw, A., Vieira, T. & Lippman, A. 2016. MedRec: Using blockchain for medical data access and permission management. In International Conference on Open and Big Data (OBD), 25–30. IEEE.CrossRefGoogle Scholar
Bahack, L. 2013. Theoretical Bitcoin Attacks with Less Than Half of the Computational Power (Draft). CoRR, abs/1312.7013. http://arxiv.org/abs/1312.7013.Google Scholar
Chavez-Dreyfuss, G. 2016. Sweden Tests Blockchain Technology for Land Registry, June. https://web.archive.org/web/20161024065806/ http://www.reuters.com/article/us-sweden-blockchain-idUSKCN0Z22KV.Google Scholar
Cleveland, W. S. 1979. Robust locally weighted regression and smoothing scatterplots. Journal of the American Statistical Association 74 (368), 829836.CrossRefGoogle Scholar
Coolidge, J. L. 1909. The Gambler’s ruin. Annals of Mathematics 10(4), 181192. ISSN: 0003486X. http://www.jstor.org/stable/1967408.CrossRefGoogle Scholar
Courtois, N. T. 2014. On the Longest Chain Rule and Programmed Self-Destruction of Crypto Currencies. CoRR, abs/1405.0534. http://arxiv.org/abs/1405.0534.Google Scholar
Courtois, N. T. & Bahack, L. 2014. On Subversive Miner Strategies and Block Withholding Attack in Bitcoin Digital Currency. CoRR, abs/1402.1718. http://arxiv.org/abs/1402.1718.Google Scholar
Decker, C. & Wattenhofer, R. 2013. Information propagation in the Bitcoin network. In IEEE P2P 2013 Proceedings, 1–10, September. doi: 10.1109/P2P.2013.6688704.CrossRefGoogle Scholar
Eichhorn, L. 2018. Simulation-Based Analysis of Blockchain Architectures. https://github.com/LeoEichhorn/Blockchain.Google Scholar
Eyal, I. & Sirer, E.G. 2013. Majority is Not Enough: Bitcoin Mining is Vulnerable. CoRR, abs/1311.0243. http://arxiv.org/abs/1311.0243.Google Scholar
Garlan, D. 2000. Software architecture: A roadmap. In Proceedings of the Conference on the Future of Software Engineering, 91–101. ACM.CrossRefGoogle Scholar
Göbel, J., Keeler, H. P., Krzesinski, A. E. & Taylor, P. G. 2015. Bitcoin Blockchain Dynamics: The Selfish-Mine Strategy in the Presence of Propagation Delay. CoRR, abs/1505.05343, 2015. http://arxiv.org/abs/1505.05343.Google Scholar
Grunspan, C. & Pérez-Marco, R. 2017. Double Spend Races. CoRR, abs/1702.02867. http://arxiv.org/abs/1702.02867.Google Scholar
Karame, G. O., Androulaki, E., Capkun, S. 2012. Double-spending fast payments in bitcoin. In Proceedings of the 2012 ACM Conference on Computer and Communications Security, 906–917. Association for Computing Machinery, New York, NY.CrossRefGoogle Scholar
Liao, K. & Katz, J. 2017. Incentivizing double-spend collusion in bitcoin. In Financial Cryptography Bitcoin Workshop. https://fc17.ifca.ai/bitcoin/schedule.html.Google Scholar
Marmsoler, D. & Eichhorn, L. 2018. Simulation-based analysis of blockchain architectures. In The 3rd Symposium on Distributed Ledger Technology, SDLT 3, Proceedings. https://symposium-dlt.org/3rd/index.html.Google Scholar
Kruskal, W. H. & Wallis, W. A. 1952. Use of ranks in one-criterion variance analysis. Journal of the American Statistical Association 47, 583–621.Google Scholar
Miller, A. K., Litton, J., Pachulski, A., Gupta, N., Levin, D., Spring, N. & Bhattacharjee, B. 2015. Discovering Bitcoin’s Public Topology and influential nodes. University of Maryland, College Park.Google Scholar
Mooney, C. Z. 1997. Monte Carlo Simulation, 116. Sage Publications.CrossRefGoogle Scholar
Mwale, M. 2016. Modelling the Dynamics of the Bitcoin Blockchain. PhD thesis, Stellenbosch University. http://scholar.sun.ac.za/handle/10019.1/98844.Google Scholar
Nakamoto, S. 2008. Bitcoin: A peer-to-peer electronic cash system. https://bitcoin.org/bitcoin.pdf.Google Scholar
Nash, J. C. 2016. nlmrt: Functions for Nonlinear Least Squares Solutions. https://CRAN.R-project.org/package=nlmrt . R package version 2016.3.2.Google Scholar
Ozisik, A. P. & Levine, B. N. 2017. An Explanation of Nakamoto’s Analysis of Double-Spend Attacks. CoRR, abs/1701.03977. http://arxiv.org/abs/1701.03977.Google Scholar
Pinzón, C. & Rocha, C. 2016. Double-spend attack models with time advantage for bitcoin. Electronic Notes in Theoretical Computer Science, 329, 79103. ISSN 1571-0661. doi: 10.1016/j.entcs.2016.12.006. http://www.sciencedirect.com/science/article/pii/S157106611630113X. The Latin American Computing Conference.CrossRefGoogle Scholar
R Core Team. 2017. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. https://www.R-project.org/.Google Scholar
Rosenfeld, M. 2014. Analysis of Hashrate-Based Double Spending. CoRR, abs/1402.2009. http://arxiv.org/abs/1402.2009.Google Scholar
Sompolinsky, Y. & Zohar, A. 2016. Bitcoin’s Security Model Revisited. CoRR, abs/1605.09193. http://arxiv.org/abs/1605.09193.Google Scholar
Staples, M. 2017. Software engineering research for blockchain-based systems. In 1st Symposium on Distributed Ledger Technology. http://www.ict.griffith.edu.au/network/sdlt.html.Google Scholar
Vukolić, M. 2017. Rethinking permissioned blockchains. In Proceedings of the ACM Workshop on Blockchain, Cryptocurrencies and Contracts, BCC 2017, 3–7, ACM. ISBN 978-1-4503-4974-1. doi: 10.1145/3055518.3055526.CrossRefGoogle Scholar
Wilcoxon, F., Katti, S. K. & Wilcox, R. A. 1970. Critical values and probability levels for the wilcoxon rank sum test and the wilcoxon signed rank test. Selected Tables in Mathematical Statistics 1, 171259.Google Scholar
Wohlin, C., Runeson, P., Hst, M., Ohlsson, M. C., Regnell, B. & Wessln, A. 2012. Experimentation in Software Engineering. Springer Publishing Company, Incorporated. ISBN: 3642290434, 9783642290435.CrossRefGoogle Scholar
Xu, X., Weber, I., Staples, M., Zhu, L., Bosch, J., Bass, L., Pautasso, C. & Rimba, P. 2017. A taxonomy of blockchain-based systems for architecture design. In 2017 IEEE International Conference on Software Architecture, ICSA 2017, Gothenburg, Sweden, April 3–7, 2017. doi: 10.1109/ICSA.2017.33.CrossRefGoogle Scholar