Skip to main content

A Discussion on Blockchain Software Quality Attribute Design and Tradeoffs

  • Conference paper
  • First Online:
Book cover Emerging Technologies in Computing (iCETiC 2019)

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

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

    Article  Google Scholar 

  2. Nakamoto, S.: Bitcoin: A Peer-to-Peer Electronic Cash System. www.bitcoin.org. Accessed 19 Mar 2019

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

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

  9. Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)

    Article  Google Scholar 

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

    Google Scholar 

  11. Christidis, K., Devetsikiotis, M.: Blockchains and smart contracts for the internet of things. IEEE Access 4, 2292–2303 (2016)

    Article  Google Scholar 

  12. Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: Proceedings ATC 2014 USENIX Annual Technical Conference. USENIX (2014)

    Google Scholar 

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

  14. Ferguson, N., Schneier, B., Kohno, T.: Cryptography Engineering Design Principles and Practical Applications. Wiley Publishing Inc, Indianapolis (2010)

    Google Scholar 

  15. Stallings, W.: Cryptography and Network Security, Principles and Practice, 7th edn. Pearson Education Limited, London (2018)

    Google Scholar 

  16. Daniel, F., Guida, L.: A service-oriented perspective on blockchain smart contracts. IEEE Internet Comput. 23(1), 46–53 (2019)

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  20. Johnsonbaugh, R.: Discrete Mathematics, 8th edn. Pearson Education Inc, New York (2018)

    MATH  Google Scholar 

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

    Google Scholar 

  22. Ceccetti, E., et al.: Solidus: Confidential Distributed Ledger Transactions via PVORM CCS 2017, pp. 1–23, 30 October– 3 November 2017

    Google Scholar 

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

    Article  Google Scholar 

  24. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice: The SEI Series in Software Engineering, 3rd edn. Addison Wesley, Upper Saddle River (2012)

    Google Scholar 

  25. Cervantes, H., Kazman, R.: Designing Software Architectures; A Practical Approach: The SEI Series in Software Engineering. Pearson Education, Boston (2016)

    Google Scholar 

  26. Scriber, B.A.: A framework for determining blockchain applicability. IEEE Softw. 35(4), 70–77 (2018)

    Article  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  29. Booch, G.: Object-Oriented Analysis and Design with Applications. Addison Wesley Longman, Inc., Reading (1994)

    Google Scholar 

  30. Tian, J.: Software Quality Engineering; Testing, Quality Assurance and Quantifiable Improvement. IEEE Computer Society (2005)

    Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to John M. Medellin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics