Abstract

The Blockchain (BC) design pattern has many variations and is a concept that is anticipated to lead many implementations in the years to come. The number of choices for a BC implementation continues to increase since new design and implementation patterns and applications are emerging. This increasing number of design patterns enables correspondingly increasing tradeoff opportunities at every evolutionary round of architecture elaboration. Key components of a BC include network nodes, blocks, and consensus methodologies. These components all possess critical characteristics that can be designed and implemented in a variety of different ways. A central thesis here is that the choice of the design methodologies has direct and varying impact with regard to resulting quality attributes such as performance, security, and availability. We describe the use of a tradeoff matrix during the initial design phase of a development cycle that identifies the quality attributes to be evaluated when designing software systems comprising a BC. We hypothesize that consideration of the quality attributes at this initial design stage via the use of the proposed tradeoff matrix enables designers to meet requirements more efficiently and accurately. This hypothesis is tested and the use of the tradeoff matrix is demonstrated by creating a consensus algorithm whose performance is evaluated through a simulation that compares the behaviour in a “bare-metal” versus a Cloud-based environment. This simulation approach drives the usage of one of the quality tradeoff parameters in achieving a more optimal solution.

Highlights

  • The concept of replacing a centralized and authoritative record of approved exchanges of services or data with a decentralized record has many desirable features

  • We propose the use of a tradeoff matrix that corresponds to the tradeoffs among the major software architecture quality attributes in evolving BC solutions

  • The tradeoff matrix is a starting point for the BC architect as key attributes are enhanced, or alternatively, de-scoped, in the design of a new BC architecture. While this approach can be generally used for any software pattern, we focused on the BC pattern and provided a tradeoff matrix based upon key quality attributes that we determined from a review of the literature as well as our own experience and experiments

Read more

Summary

Introduction

The concept of replacing a centralized and authoritative record of approved exchanges of services or data with a decentralized record has many desirable features. Some of these include fault tolerance, enhanced security, and an ability to verify that such approved exchanges, or “transactions,” are valid. While the concept of using a redundant and decentralized transaction ledger as compared to a single authoritative ledger is somewhat simple, the details of implementing such a scheme can become technically challenging. “Consideration of Quality Attribute Tradeoffs in a Blockchain Software Development Process”, Annals of Emerging Technologies in Computing (AETiC), Print ISSN: 2516-0281, Online ISSN: 2516-029X, pp.

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call