Abstract
The blockchain design pattern has many variations and is a concept that will continue to lead many implementations in the years to come. New design and implementation patterns are frequently being announced and the choices available continue to expand. The design patterns imply tradeoffs which are reviewed.
We begin by describing the components of a blockchain; network nodes, blocks and consensus in a concept. We further elaborate on the key characteristics of the various design areas that are available adding emphasis to those used in private blockchains.
The individual components can be designed in different ways and imply tradeoffs between such quality attributes as performance and security or availability. We conclude with an initial tradeoff matrix that identifies the quality attributes that one should look for in designing these software systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Li, D., Du, R., Fu, Y., Au, M.H.: Meta-key: a secure data-sharing protocol under blockchain-based decentralized storage architecture. IEEE Netw. Lett. 1(1), 30–33 (2019)
Nakamoto, S.: Bitcoin: A Peer-to-Peer Electronic Cash System. www.bitcoin.org. Accessed 19 Mar 2019
Dinh, T.T.A., Wang, J., Chen, G., Liu, R., Ooi, B.C., Tan, K.-L.: BLOCKBENCH: A Framework for Analyzing Private Blockchains. https://arxiv.org/pdf/1703.04057.pdf. Accessed 19 Mar 2019
Dorri, A., Kanhere, S.S., Jurdak, R.: Towards an optimized blockchain for IoT. In: 2017 IEEE/ACM Second International Conference on Internet-of-Things Design and Implementation (IoTDI), pp. 173–178 (2017)
Medellin, J., Thornton, M.: Simulating resource consumption in three blockchain consensus algorithms. In: MSV 2017 International Conference on Modeling, Simulation & Visualization Methods, pp. 21–27 (2017)
Dorri, A., Kanhere, S.S., Jurdak, R., Gauravaram, P.: Blockchain for IoT security and privacy: the case study of a smart home. In: 2017 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pp. 618–623 (2017)
Salman, T., Zolanvari, M., Erbad, A., Jain, R., Samaka, M.: Security services using blockchains: a state of the art survey. IEEE Commun. Surv. Tutorials 21(1), 858–880 (2019)
Medellin, J., Thornton, M.: Performance characteristics of two blockchain consensus algorithms in a VMWare hypervisor. In: 2018 International Conference on Grid & Cloud Computing and Applications “GCA 2018”, pp. 10–17 (2018)
Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)
Liang, X., Wu, T.: Exploration and practice of inter-bank application based on blockchain. In: The 12th International Conference on Computer Science & Education (ICCSE 2017), pp. 219–224 (2017)
Christidis, K., Devetsikiotis, M.: Blockchains and smart contracts for the internet of things. IEEE Access 4, 2292–2303 (2016)
Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: Proceedings ATC 2014 USENIX Annual Technical Conference. USENIX (2014)
Muralidharan, S., Murthy, C., Nguyen, B., et al.: Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains. https://arxiv.org/pdf/1801.10228.pdf. Accessed 19 Mar 2019
Ferguson, N., Schneier, B., Kohno, T.: Cryptography Engineering Design Principles and Practical Applications. Wiley Publishing Inc, Indianapolis (2010)
Stallings, W.: Cryptography and Network Security, Principles and Practice, 7th edn. Pearson Education Limited, London (2018)
Daniel, F., Guida, L.: A service-oriented perspective on blockchain smart contracts. IEEE Internet Comput. 23(1), 46–53 (2019)
Xia, Q., Sifah, E.B., Asamoah, K.O., Gao, J., Du, X., Guizani, M.: MeDShare: trust-less medical data sharing among cloud service providers via blockchain. IEEE Access 5, 14757–14767 (2017)
Fullmer, D., Morse, A.S.: Analysis of difficulty control in bitcoin and proof-of-work blockchains. In: 2018 IEEE Conference on Decision and Control (CDC), pp. 5988–5992 (2018)
Golosova, J., Romanovs, A.: The advantages and disadvantages of the blockchain technology. In: 2018 IEEE 6th Workshop on Advances in Information, Electronic and Electrical Engineering (AIEEE), pp. 1–6 (2018)
Johnsonbaugh, R.: Discrete Mathematics, 8th edn. Pearson Education Inc, New York (2018)
Ehmke, C., Wessling, F., Friedrich, C.M.: Proof of property – a lightweight and scalable blockchain protocol. In: 2018 IEEE/ACM 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), pp. 48–51 (2018)
Ceccetti, E., et al.: Solidus: Confidential Distributed Ledger Transactions via PVORM CCS 2017, pp. 1–23, 30 October– 3 November 2017
Li, C.-Y., Chen, X.-B., Chen, Y.-L., Hou, Y.-Y., Li, J.: A new lattice-based signature scheme in post-quantum blockchain network. IEEE Access 7, 2026–2033 (2019)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice: The SEI Series in Software Engineering, 3rd edn. Addison Wesley, Upper Saddle River (2012)
Cervantes, H., Kazman, R.: Designing Software Architectures; A Practical Approach: The SEI Series in Software Engineering. Pearson Education, Boston (2016)
Scriber, B.A.: A framework for determining blockchain applicability. IEEE Softw. 35(4), 70–77 (2018)
Xu, X., Weber, I., Staples, M., Zhu, L., et al.: A taxonomy of blockchain-based systems for architecture design. In: Proceedings 2017 IEEE International Conference on Software Architecture, pp. 243–252 (2017)
Zheng, Z., Xie, S., Dai, H., Chen, X., Wang, H.: An overview of blockchain technology: architecture, consensus, and future trends. In: 2017 IEEE International Congress on Big Data (BigData Congress), pp. 557–564 (2017)
Booch, G.: Object-Oriented Analysis and Design with Applications. Addison Wesley Longman, Inc., Reading (1994)
Tian, J.: Software Quality Engineering; Testing, Quality Assurance and Quantifiable Improvement. IEEE Computer Society (2005)
Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Pearson Education Inc, Upper River (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Medellin, J.M., Thornton, M.A. (2019). A Discussion on Blockchain Software Quality Attribute Design and Tradeoffs. In: Miraz, M., Excell, P., Ware, A., Soomro, S., Ali, M. (eds) Emerging Technologies in Computing. iCETiC 2019. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 285. Springer, Cham. https://doi.org/10.1007/978-3-030-23943-5_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-23943-5_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-23942-8
Online ISBN: 978-3-030-23943-5
eBook Packages: Computer ScienceComputer Science (R0)