Abstract
Blockchain is currently a core technology for developing new types of decentralized applications. With the unique properties of blockchain, unique challenges and characteristics are introduced to the system. Among these characteristics, the infrastructure costs and benefits of the system are critical to evaluate the feasibility of any system and have yet to be addressed in the current literature. This work presents a framework for evaluating blockchain applications’ infrastructure costs and benefits. The framework includes a taxonomy to classify the related transactions, a model to evaluate the infrastructure costs and benefits in applications using public or private blockchains, and a methodology to guide the use of the model. The model is based on simple parameters that describe the systems, and the methodology helps to identify and estimate these parameters at any stage of the application life cycle. We quantitatively analyze three real use cases to demonstrate the framework’s merit. The analyses highlight the model’s accuracy by achieving the same results presented in the use cases. Furthermore, the use-case analyses emphasize the framework’s potential to evaluate different scenarios across the entire life cycle of blockchain-based applications.
1. Introduction
Blockchain is recognized as one of the most important technology disruptions in the latest years []. Researchers and practitioners have shown increasing interest in leveraging blockchain technology’s unique benefits and properties to empower new software systems []. Applications in several domains have adopted private [] and public blockchain networks [,] to provide a software platform where interactions between actors can occur without intermediaries. Thus, from a software perspective, blockchain has been mainly characterized as an architecture component that provides immutable storage and computational capabilities in a decentralized way. The unique properties of this software component also raise new challenges across the systems development life cycle while introducing unexplored characteristics that need to be identified and evaluated [,]. Much of the current literature has focused on non-functional characteristics of blockchain-based systems, such as scalability, security, and performance [,].
However, blockchain is still in the early stages of adoption [], and more is needed to know about other characteristics supporting the system development, deployment, and evaluation. Among these characteristics, the infrastructure to support the application is critical to evaluate the potential monetary value in terms of costs and benefits across the entire application life cycle. Costs and benefits can greatly increase the adoption of blockchain on software systems [], as blockchain technology is a major target of investments for companies []. Although there has been some research on evaluating the infrastructure costs of blockchain applications [,], these findings are focused on particular use cases and are not extendable to other scenarios. Each application and use case may have unique requirements and characteristics that must be considered to evaluate its blockchain infrastructure []. Therefore, further research is necessary to fully understand blockchain applications’ potential costs and benefits across various use cases and contexts.
This work presents an infrastructure cost framework for blockchain-based software systems, extending a first version of the model presented in []. We propose a framework to evaluate application costs and benefits from the early stages of development to the exploitation phase, based on the blockchain software component of the system. Our goal is to provide a tool matching the existing literature on the cost and benefits of blockchain-based applications while also providing the tools to analyze more complex cost scenarios.
The framework comprises a transaction taxonomy, a cost and benefits model for public and private networks, and a methodology to apply the model. First, the taxonomy aims to classify and generalize typical transactions in the life cycle of blockchain applications. Then, the infrastructure cost and benefits model aims to create evaluation scenarios over the entire application’s life cycle based on simple application parameters. The selection of these parameters aims to simplify the characterization of the system with minimal application domain knowledge. Finally, we propose a methodology for identifying and estimating the model parameters. To illustrate the proposed framework’s usability, we quantitatively analyze the monetary costs and benefits of three blockchain-based applications from the current literature. These evaluations highlight the flexibility of the model to work for public and private blockchains, the simplicity of identifying the model parameters using the proposed methodology, and the benefits of the framework to analyze different scenarios for the entire application life cycle.
The contribution of this paper is three-fold. (i) We propose a transaction taxonomy for blockchain-based applications. (ii) We define an infrastructure cost model for private and public blockchains. (iii) We propose a methodology that identifies and estimates the model parameters to create and evaluated scenarios over the application’s life cycle.
The rest of this paper is structured as follows: Section 2 describes similar works and highlights the gap in the literature; Section 3 formalizes the problem our framework addresses; Section 4 describes the proposed framework by detailing the transaction taxonomy, cost model, and methodology; Section 5 uses the methodology to apply the model and evaluate three real use cases. We finalize the paper with our conclusion and plans for future work.
2. Related Works
In recent years, there has been an increasing amount of literature on blockchain as a core component for developing new software systems. From a system and software-engineering perspective, blockchain applications present inherent challenges, such as scalability, security, and performance [] given by a specific life cycle that introduces unique constraints and characteristics in the system []. Much of the current literature on blockchain-based systems pays particular attention to high-level characteristics such as the levels of permissions or types of actors to evaluate which software components can benefit from blockchain [] or if other software components are sufficient []. However, monetary costs are still marginally addressed.
In this context, one of the first studies addressing the topic of costs for a blockchain-based system is presented in []. The authors aimed to quantify the current scalability limits of Bitcoin, and from that goal, they performed a small exploratory analysis of estimating monetary costs. However, since they focus on the scalability aspects of Bitcoin, they do not provide an approach compatible with a software-system perspective. Similarly, the authors of [] address the cost of a blockchain-based system in the context of a blockchain-based digital payment. The authors rely on private Ethereum infrastructure and present a brief analysis of the costs of managing the private architecture. Their model focuses on the rewarding costs for miners and the costs of network resources, based on the same scalability metrics described in [].
A different approach to cost is presented in [] by describing an evaluation framework that identifies factors influencing a blockchain application from a financial perspective (i.e., cost savings and benefits). However, the proposal has a high-level approach that divides the framework into five focus areas: the purpose of the blockchain, the features of the blockchain, the cost reductions derived from using blockchain, environmental and motivational factors for using blockchain, and the actual implementation and operations costs. Therefore, infrastructure costs are linked to only one focus area and are addressed with a narrow perspective. Similarly, the authors of [] present a cost comparison between the Ethereum blockchain and Amazon under the context of business process execution for supply chain applications. In this work, the authors focus on operation costs under different architecture choices and provide a good model for the Ethereum network. However, they focus on the comparison against Amazon Simple Workflow Service but need more generalization for other application scenarios or blockchain architectural choices.
Recently, authors of [] presented an overview of blockchain-based applications with a focus on smart contracts in the Ethereum network. On the one hand, the work emphasized how Ethereum is becoming the preferred platform for developing blockchain-based applications, a fact also highlighted by surveys such as [,]. On the other hand, the study presented several metrics regarding the application, such as the level of open-source and the usage of patterns in smart contracts. Here, the authors focused only on analyzing existing applications, using gas usage as a metric to evaluate the costs of blockchain-based systems on public networks. Nonetheless, they do not provide a model or structure framework for this evaluation.
The importance of gas usage as a cost metric is also underlined by the authors of [] in their study about developing cost-effective blockchain-powered applications. The authors emphasize that developers of these applications need to understand the gas of their smart contract through the entire application lifecycle (deployment and usage). Furthermore, the authors state that transactions with high gas usage will frequently have the same priority as transactions with low gas usage when using the same gas price, despite the difference in transaction fees. To leverage this topic, the authors propose a gas usage prediction models to help developers make informed decisions regarding gas prices. However, the authors do not address the cost of deploying or issuing the transaction in the context of a software system; they only focus on the gas price. The authors of [] conducted preliminary work on infrastructure costs for blockchain-based systems based on gas usage. They provided a simple monetary cost model for the required infrastructure in a farm-to-fork case study but did not offer enough information to generalize to other architectures or case studies.
Summarizing, the infrastructure cost of blockchain-based applications has been marginally analyzed in current literature, which leans to focus on metrics such as scalability and performance or high-level concerns such as motivation or other environmental factors. Furthermore, only a few works provide frameworks or models for these cost analyses. There is a need for an approach that covers the entire lifecycle of blockchain-based applications or needs more details to provide enough generalization to evaluate different scenarios, particularly on public and private infrastructures.
3. Problem Definition
Our proposal aims to provide a model to allow actors and stakeholders to evaluate the economic feasibility of a blockchain-based application. The model seeks to estimate costs and monetary benefits during the entire life cycle of the application (i.e., from the early stages of development to a more advanced stage of exploitation). Furthermore, the model is general enough to evaluate a system using a private or a public blockchain network.
First, we consider a blockchain-based application as the software that supports the interactions of a group of actors identified only by their private/public keys. These actors have limited types of interactions to create and transfer information and value among them. We consider that the entire application logic is in the blockchain so that all information and interactions in the application are immutable, auditable, and accessible by anybody. Further, we consider that the application has a two-phase life cycle: bootstrap and operation, similarly to the phases deployment and operation presented in []. It is important to notice that off-chain computations and side-chains are beyond the scope of this paper.
Using this definition of a blockchain-based application, we defined the cost of the application as the infrastructure needed to process and store the interactions I between the actors A. These interactions generate a value unit K, which provides the monetary benefits for a group of stakeholders S.
Therefore, we estimate and based on the characteristics of the application and the blockchain network that supports it, i.e., the nodes running the network. The number of nodes and configurations depends on the blockchains’ technical implementation (e.g., consensus model). Furthermore, the configuration follows the application requirements (e.g., transaction life-span, latency, and throughput) and the existing trust between stakeholders []. However, the type of blockchain used for the application (i.e., public or private) makes a great difference in estimating the costs and benefits. On public blockchains, transactions that create new information (i.e., modify the state of the blockchain) have a monetary cost. Conversely, the transaction number does not directly affect the infrastructure cost in private blockchains. Therefore, we divided the model into two parts: the public blockchain cost model and the private blockchain cost model, described in the following section.
4. Proposed Cost and Benefit Model
In this section, we describe our proposed model to evaluate a blockchain-based application’s infrastructure costs and benefits.
First, we define a transaction taxonomy since our model considers interactions among actors and stakeholders (i.e., transactions) as the functional units for an application’s life-cycle assessment (LCA). The taxonomy is called and classifies the interactions between the actors in the framework of blockchain applications during all the development and exploitation phases.
Then, we define the costs and benefits model using the proposed taxonomy and a few simple system parameters. We model the costs of public and private blockchains separately, given that the transaction fees depend on the network type. Similarly, we model the monetary benefits for the stakeholders associated with a generic blockchain that can be public or private.
Finally, we proposed a methodology that guides the model’s use by helping identify and estimate the model parameters.
Table 1 lists and describes the mathematical symbols used as the parameters for the model.
Table 1.
Parameters for the proposed cost model.
4.1. Proposed Transaction Taxonomy for Blockchain Applications
As described in the previous section, the interactions among actors in a blockchain-based application are transactions. From the set of all possible transactions, we focus only on a subset of transactions that creates new information for the application and the actors. Considering that these transactions vary greatly from one application to another, we propose the taxonomy to easily identify core transactions and link them to the application’s life cycle. categorizes the interactions into four types of transactions: creation , registration , interaction , and value . Figure 1 shows the four transactions in our taxonomy along with the general life cycle of the application. Each type of transaction is defined as follows:
Figure 1.
Life cycle of a blockchain-based application.
- Creation transaction deploys the application into the blockchain. may include one or more transactions happening during the bootstrap phase.
- Registration transaction is required at the first interaction of an actor with the system to make the actor part of the application.
- Interaction transaction are the most common interactions between actors. They produce information to be stored in the blockchain, without including any value transfer.
- Value transaction is the most important transaction as it includes the value transfer between unknown actors.
4.2. Proposed Public Blockchain Cost Model
Given the life cycle of an application shown in Figure 1, we divide the cost model into two components, i.e., the bootstrap and operation costs. considers the transactions needed to deploy the application logic () and the transactions to register the initial actors (). considers the transactions for the registration of new actors (), the interaction transactions between actors (), and the transactions that transfer value (). Here, considering the general life cycle of an application, and are evaluated in a given month m, defined as the minimal time window for assessing the systems. This window makes it easier to make comparisons with other types of monetary evaluations (e.g., budget planning). However, the cost model can easily adapt to shorter and longer windows. Hence, the initial month () corresponds to the bootstrap phase, and any other month () indicates the operation phase. We define the costs of a public blockchain infrastructure as:
where is the total monetary costs paid in a month m, for all the transactions of type i, where . The monetary cost of a single transaction of type i links the computational cost of the transaction with the price of the cryptocurrency and a processing time factor . Finally, the total number of transactions of type i in a given month m is given by . The price of the cryptocurrency is a function that the user must define by considering the high volatility of the cryptocurrency price and the scenario to evaluate. For instance, the user can use historic cryptocurrency prices to define with a fixed value for any month (i.e., an average for all months). Similarly, the user can define with a different monthly value (i.e., an average for each month). The factor is used to scale the price paid for each transaction (i.e., a transaction fee). Transactions with higher prices are more attractive for the node operators and typically are processed faster since the node that processes the transaction will receive the fee as a reward []. The total cost for each transaction i is given by:
In the operational phase, the total number of transactions of each type i in a given month m is directly related to the number of actors in the system defined as:
where is the initial number of actors in the system and is the actor growth factor that describes the growth of the system in terms of actors related to the time unit m such that:
For instance, a means that if , then at . Finally, the number of each type of transaction in the operation phase () with respect to the actor number is defined as:
where is equal to 0 after the bootstrap phase (). is given by the number of new actors in that month. links the total number of actors in the system using an interaction factor . relates to the expected number of interaction transactions of each actor. For example, if each actor is expected to have at least two in the time unit m (e.g., per month), the factor is set to . Lastly, links the total number of actors with factor , which represents the value transfer transactions of each actor. For instance, when actors are expected to have at least one every two months, the factor is set to . The user can estimate the values of and at an early stage of development. In a more advanced stage, the factors can be estimated from the current activity in the system.
4.3. Proposed Private Blockchain Cost Model
For applications based on a private blockchain, we define the infrastructure cost in a given month m as divided into two components and , indicating the bootstrap and the operation phase, respectively. is the initial investment to acquire N nodes (i.e., computers) with a price to create the network infrastructure. is the expense of running and operating the nodes. Similar to the traditional software systems, we estimate the operating costs as a percentage of using a scale factor . is estimated by considering the system characteristics in terms of the hardware and software required to run the nodes. The infrastructure cost in a private blockchain is defined as:
In our model, the node number N is related to the number of stakeholders S by a trust factor :
where is the relation between the N and the total number of stakeholders. For instance, if 100 stakeholders agree that only 30 different nodes are required to support the infrastructure, there is a trust factor of 70%. Similarly, a 100% trust factor will translate into a centralized system. Here, for simplicity, one node represents one stakeholder.
4.4. Proposed Model for Monetary Benefits
For applications based on both public and private blockchains, the monetary benefits for the stakeholders are derived from the value units K transacted in the application and are given by:
where is the benefit factor that indicates the expected value units for each value transfer transaction , is the number of value transfer transactions in the month m, and is the price (i.e., total monetary value) of the value unit K. is the sum of all the monetary values assigned to each stakeholder S (i.e., the benefit for each stakeholder). In a public network, this value may also be linked to the price of the cryptocurrency, such as .
4.5. Proposed Methodology
From a software system perspective, a methodology is a procedure to help understand the steps needed to perform a task with such a system []. Here, we propose a methodology of five steps to guide the people behind the blockchain-based application (i.e., the user) to use our model to perform a monetary evaluation of the application. The methodology groups the model parameters into four categories, using the relations between the parameters. These four groups translate into four steps (S1–S4), providing a simplified incremental approach to identifying them. The last step of the methodology (S5) is the actual monetary evaluation of the application and includes a series of proposed analyses. The five steps of the methodology are:
- (S1)
- Define the blockchain setup: The first step aims at selecting the blockchain network on which the application will be implemented (e.g., Ethereum, Hyperledger). Assign the values for the network’s node price , the operation factor , the cryptocurrency price , and the time factor .
- (S2)
- Identify the actors and stakeholders: Once the blockchain network is selected, the second step aims at identifying the actors (i.e., who uses the application), stakeholders S (i.e., who is interested in the application), the value unit K, and its lifespan (i.e., what is transacted in the application and how long it lasts). Estimate how the number of actors will change and how much trust is between the stakeholders .
- (S3)
- Estimate the computational cost of interactions: The third step strives to apply the proposed CRIV taxonomy to identify the different types of transactions and estimate their computation costs , , , and . Estimate the interaction factor and the value factor .
- (S4)
- Identify the benefits: The fourth step aims to give a monetary value to the value unit and estimate the benefits factor . If these parameters can not be identified, the model can still be used for estimating the costs, but the benefits will not be available. At the end of this step, all the model parameters have been identified, even if some values could not be estimated
- (S5)
- Evaluate scenarios: Once all parameters have been identified, the values assigned provide a scenario to evaluate the blockchain-based application’s cost and benefits. Changing the model parameters value can provide different scenarios to compare (different , different . Some of the most common evaluations include: using Equation (1) to estimate the bootstrap and operation costs on a public network or using Equation (6) for a private network. Another example is using Equation (8) for estimating the benefits. Furthermore, equations and parameters can be combined to obtain other evaluations. For instance, dividng Equation (1) by the number of actors on a given month / can provide an estimate of how much each actor will pay for the system operation. For each evaluation, varying the model parameters value can provide different scenarios to compare (different , different ). These are just a few examples of the model’s usability.
5. Evaluation of the Proposed Model
To evaluate the correctness and goodness of our proposal, we evaluated a series of blockchain-based applications in the current literature [,,,]. We selected applications using Ethereum, as it is a reference implementation for smart contracts and can be used in both public and private scenarios []. However, our proposed model can be used with any other blockchain implementation.
We present three use cases: a water management system using a public network, a medical image system that can be used on public or private networks, and a manufacturing traceability application using a private network. For each use case, we show how to apply the proposed model following our methodology for defining the model parameters. Given that all applications run on the Ethereum network, the first step of the methodology is common for all use cases. Then, for each use case, we provide analyses highlighting our model’s potential when evaluating the costs and benefits of blockchain-based applications.
5.1. (S1) Define the Blockchain Setup
We define Ethereum as the blockchain network for all use cases. The cryptocurrency price is the price of Ethereum, using historical values that are available online (Etherscan 1). The computational cost of the transactions is equal to the gas required for their execution, and is the gas price on Ethereum, expressed in gwei. For the cost of the node , we consider the minimum hardware requirements for an Ethereum node 2. At the time of writing, this translates into a computer of USD 300. We consider the operation factor for the node as 40% of the cost of the node, this .
5.2. Use Case: Water Management System
The authors of [] present an architecture for a blockchain-based IoT water management system. The authors implement a prototype using Ethereum as a public blockchain and constrained IoT devices as data sources. The authors evaluate focused on the IoT devices and provide implementation details of the smart contracts. Some parameters of our model are clearly expressed (i.e., A, S, K, ), while others require a brief analysis to be estimated (i.e., ). Thus, following our methodology, the steps are:
5.2.1. (S2) Identify Actors and Stakeholders
The group of actors A comprises farmers using IoT devices to measure water consumption (i.e., a valve). The stakeholders S are three organizations interested in encouraging water savings (i.e., an energy company, NGO, and certification authorities), thus . The value unit K is a cubic meter of the saved water, and the lifespan unit is a day, as water usage is reported daily. We estimated the initial number of actors is with a monthly growth of , making , based on the information described in the paper and the references within it.
5.2.2. (S3) Estimate the Computation Cost of Interactions
The application is based on two types of smart contracts with four types of transactions. These transactions can be directly mapped to our taxonomy and . The computation cost is calculated based on the gas usage reported for the transactions. The farmers report their water consumption once a week, which translates into four (four transactions per month), and they receive their rewards once a month, thus, (one transaction per month).
5.2.3. (S4) Identify the benefits
Each actor saves on average 4 m3 in 100 ha farm as described in similar studies []. Hence, the benefit factor is set to . The authors do not provide a monetary value for a m3 of saved water ( ), so it must be estimated based on the document and its references. We estimated that the energy company offers a discount of USD 0.2 for each saved m3. We considered NGO assigns to the savings a value equal to the cost of irrigation m3 at USD 0.8 (according to []). Finally, we assume a “eco-friendly” label will translate into USD 10 additional monthly benefits. Thus, the total monetary value of K is USD 11. Table 2 summarizes the value of the parameters for the application, obtained following the proposed methodology, and that will be used for evaluating scenarios.
Table 2.
Parameters for the cost model of the water-management system from [].
5.2.4. (S5) Evaluate Scenarios
In their work, the authors present a brief evaluation of the transaction costs using three different gas prices (i.e., 2, 5, and 10 gwei) with a cryptocurrency price equal to USD 205 (based on the yearly average for 2019), as shown in Table 3. Our model uses Equation (2) and the proposed taxonomy to obtain these values.
Table 3.
Transaction costs for the water management use case [].
Furthermore, our model can extend the author’s evaluation to different scenarios. Considering the monthly average price for 2019, we can use Equations (1), (6), and (8) to evaluate the costs and benefits of the application for a year. Figure 2 shows the benefits (), the total monthly cost of a private network (), and the total monthly for a public network using 2, 5, and 10 gwei (, , , respectively), evaluated for the year 2019.
Figure 2.
Monthly costs and benefits of the water management system.
With this use case, we highlight the correctness of our model to match the existing literature on cost. Furthermore, we highlight its potential for analyzing more complex cost scenarios with minimal additional information. For instance, those developing the blockchain-based application should easily identify the values we have estimated (i.e., K, ).
5.3. Use Case: Patient-Centric Image Management System
Jabarulla and Lee propose a blockchain-based patient-centric image management system []. They developed a proof-of-concept using the Ethereum blockchain and a distributed storage system. The authors validate their proposal with experiments and evaluate gas usage as a metric for executing functions. Furthermore, they assigned a monetary value to the gas to provide a price reference for the system.
5.3.1. (S2) Identify Actors and Stakeholders
The actors A are patients, doctors, and practitioners involved. The value unit K is a medical image with a lifespan of 3 months. As presented in the paper, we define with a growth factor . However, more information is needed to identify the stakeholders S.
5.3.2. (S3) Estimate the Computation Cost of Interactions
Based on the source code provided by the authors, we can obtain the value for . The authors provide the gas usage for the contract functions, and using our taxonomy, we can obtain the values for and . There needs to be more detail to estimate based on the three functions described, so we average the values. Then, we define and as 1, meaning we consider sharing one image () and accessing one image ().
5.3.3. (S4) Identify the Benefits
The authors state that an average transaction price of USD 0.11 is lower than existing solutions for managing patients’ images. Therefore, we consider as USD 0.11 and set as 1. Table 4 summarizes the model’s parameters.
Table 4.
Parameters for the cost model of patient-centric image management system [].
5.3.4. (S5) Evaluate Scenarios
The authors use a cryptocurrency price of USD 187 and a gas price of 2 gwei to provide an average transaction price of USD 0.11. With our model, we can obtain the average transaction price by dividing the total costs Equation (2) by the number of actors Equation (3). This operation renders a value of USD 0.12, where the minimal difference is due to the estimation of the computation cost of interactions. Then, we extend the author’s evaluation by analyzing the impact of adding more images per user (changing the parameter ) impact the costs. Figure 3 shows this cost with a baseline of USD 0.12.
Figure 3.
Comparison of average transaction price using different values for and .
This evaluation highlights the correctness of our model to match existing approaches to evaluate costs. Furthermore, the model offers additional value by providing the tools to evaluate different scenarios even if a few parameters can not be estimated.
5.4. Use Case: Automotive Manufacturing Traceability
Kuhn et al. [] propose a blockchain-based traceability architecture to process manufacturing data. The authors present an evaluation of gas used per transaction as a metric for scalability without a monetary evaluation. Compared with the other use cases, this application does not provide enough information to estimate several model parameters. However, the model can still be used as follows.
5.4.1. (S2) Identify Actors and Stakeholders
The value unit is manufactured (i.e., electrical contacts) with a lifespan of of one day. The stakeholders S are the companies involved in the manufacturing process, each providing a node for the blockchain network with . Since each stakeholder provides a node, the trust factor is is 0. The actors A are the machines and devices in the production process with . Unfortunately, there is not enough information to estimate a growth factor .
5.4.2. (S3) Estimate the Computation Cost of Interactions
All the interactions are managed through a single contract based on the ERC1155 token standard and deployed on a private Ethereum network. The paper provides results regarding gas usage for a single stakeholder, processing a batch of 3000 items, which means 3000 transactions. However, more details are needed for applying the taxonomy or estimating and .
5.4.3. (S4) Identify the Benefits
Based on the paper [] and the references within, we can define as USD 0.5 for each processed unit using a Benefit factor . Table 5 summarizes the value of the parameters for the use case.
Table 5.
Parameters for the cost model of the architecture for automotive traceability [].
5.4.4. (S5) Evaluate scenarios
Although if this use case only provides enough information for estimating 6 of the 18 parameters, it can be used to calculate additional cost information. For instance, using Equation (6), the bootstrap cost is USD 7.500 for acquiring 25 nodes, and the operation cost is fixed at USD 3500. Then, making the monthly costs equal to the benefits described by Equation (8), the total number of transactions should be 7000 to reach an equilibrium value.
This use case highlights the usability of the model, even when not all parameters can be defined or estimated. With only 6 of the 18 parameters, the model provided the tools to find a monetary balance point for a private Ethereum network.
5.5. Discussion
In the previous sections, we evaluated our proposed model and methodology with three use cases from the current literature. In the first use case, we demonstrated that our model could match the existing literature on cost and has the potential to analyze more complex cost scenarios. In the second use case, we further demonstrated the correctness of our model in matching existing cost evaluation approaches, even if a few parameters cannot be estimated. In the last use case, we highlighted the usability of our model with minimal available information. The results and rationale of using our framework in these use cases highlighted the usability of the selected parameters and the methodology to identify them. On the one hand, our selection of static parameters, even if it can be considered a limitation, strikes simplicity and effectiveness and proved useful, particularly with little application domain knowledge. On the other hand, the proposed methodology to guide the users was also demonstrated to be effective in maintaining a streamlined and straightforward approach while still being widely applicable. Finally, the quantitative information showcased by the example cost and benefits analysis performed on each use case provides an empirical reference that can further enrich the growing field of studying blockchain-based systems.
6. Conclusions and Future Works
In this paper, we presented a framework for evaluating the costs and benefits of the blockchain-based system across its entire life cycle. The proposed framework includes a transaction taxonomy, a cost and benefit model, and a methodology to use the model. We used the methodology to apply the proposed model and quantitatively evaluate the cost and benefits of three use cases found in the current literature. The analyses highlight the model’s accuracy and usability in evaluating different types of blockchain-based applications. In particular, the proposed methodology emphasizes the simplicity of identifying and estimating the model parameters. Once the parameters have been identified, the evaluation shows how to assess different scenarios by simply varying the values of some parameters. Furthermore, the diverse use cases provided different application details, showcasing the model’s potential even when some parameters could not be identified or estimated. All these features make our proposed methodology a valuable tool for organizations that want to estimate the costs associated with implementing blockchain-based systems in various domains. By leveraging our model’s usability and flexibility, they can make informed decisions about such systems’ feasibility and expected returns on investment. Additionally, the empirical reference provided by our quantitative information can serve as a benchmark for future research in this field, enabling researchers to explore new areas of study more effectively. Overall, our model and methodology offer a powerful combination of simplicity, effectiveness, and versatility that can benefit industry practitioners and academic researchers.
Future works include assessing other use cases to improve the methodology and provide reference values for the model parameters. Similarly, studying which parameters can benefit dynamic values is an interesting research path. Finally, studying a possible hybrid model combining public and private blockchain networks could enhance our proposed framework.
Author Contributions
Conceptualization, M.P. and R.G.; Methodology, M.P. and E.D.; Validation, M.P. and E.D.; Formal analysis, M.P. and E.D.; Investigation, M.P. and E.D.; Data curation, M.P. and E.D.; Writing—original draft, M.P. and E.D.; Supervision, M.V. and R.G.; All authors have read and agreed to the published version of the manuscript.
Funding
This work was partly supported by the project “AI@TN” funded by the Autonomous Province of Trento.
Data Availability Statement
Data available on request due to restrictions. The data presented in this study are available on request from the corresponding author.
Conflicts of Interest
The authors declare no conflict of interest.
Notes
| 1 | https://etherscan.io/chart/etherprice (accessed on 20th January 2023). |
| 2 | https://docs.ethhub.io/using-ethereum/ethereum-clients/geth/ (accessed on 20th January 2023). |
References
- Vacca, A.; Di Sorbo, A.; Visaggio, C.A.; Canfora, G. A systematic literature review of blockchain and smart contract development: Techniques, tools, and open challenges. J. Syst. Softw. 2021, 174, 110891. [Google Scholar] [CrossRef]
- Fahmideh, M.; Grundy, J.; Ahmad, A.; Shen, J.; Yan, J.; Mougouei, D.; Wang, P.; Ghose, A.; Gunawardana, A.; Aickelin, U.; et al. Engineering Blockchain-Based Software Systems: Foundations, Survey, and Future Directions. ACM Comput. Surv. 2022, 55, 1–44. [Google Scholar] [CrossRef]
- Mistry, I.; Tanwar, S.; Tyagi, S.; Kumar, N. Blockchain for 5G-enabled IoT for industrial automation: A systematic review, solutions, and challenges. Mech. Syst. Signal Process. 2020, 135, 106382. [Google Scholar] [CrossRef]
- Pincheira, M.; Vecchio, M.; Giaffreda, R.; Kanhere, S.S. Cost-effective IoT devices as trustworthy data sources for a blockchain-based water management system in precision agriculture. Comput. Electron. Agric. 2021, 180, 105889. [Google Scholar] [CrossRef]
- Pincheira, M.; Donini, E.; Giaffreda, R.; Vecchio, M. A Blockchain-Based Approach to Enable Remote Sensing Trusted Data. In Proceedings of the 2020 IEEE Latin American GRSS ISPRS Remote Sensing Conference (LAGIRS), Santiago, Chile, 22–26 March 2020; pp. 652–657. [Google Scholar] [CrossRef]
- Destefanis, G.; Marchesi, M.; Ortu, M.; Tonelli, R.; Bracciali, A.; Hierons, R. Smart contracts vulnerabilities: A call for blockchain software engineering? In Proceedings of the 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE), Campobasso, Italy, 20 March 2018; pp. 19–25. [Google Scholar] [CrossRef]
- Xu, X.; Lu, Q.; Liu, Y.; Zhu, L.; Yao, H.; Vasilakos, A.V. Designing blockchain-based applications a case study for imported product traceability. Future Gener. Comput. Syst. 2019, 92, 399–406. [Google Scholar] [CrossRef]
- Wöhrer, M.; Zdun, U. Architectural Design Decisions for Blockchain-Based Applications. In Proceedings of the The 3rd IEEE International Conference on Blockchain and Cryptocurrency (ICBC), Sydney, Australia, 3–6 May 2021. [Google Scholar]
- Pincheira, M.; Vecchio, M.; Giaffreda, R. Characterization and Costs of Integrating Blockchain and IoT for Agri-Food Traceability Systems. Systems 2022, 10, 57. [Google Scholar] [CrossRef]
- Pincheira, M.; Donini, E.; Vecchio, M.; Giaffreda, R. Towards an Infrastructure Cost Model for Blockchain-Based Applications. In Blockchain and Applications, Proceedings of the 4th International Congress, Lille, France, 11–13 July 2023; Prieto, J., Benítez Martínez, F.L., Ferretti, S., Arroyo Guardeño, D., Tomás Nevado-Batalla, P., Eds.; Springer International Publishing: Cham, Switzerland, 2023; pp. 345–355. [Google Scholar]
- Wessling, F.; Ehmke, C.; Hesenius, M.; Gruhn, V. How much blockchain do you need? towards a concept for building hybrid dapp architectures. In Proceedings of the 2018 IEEE/ACM 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), Gothenburg, Sweden, 27 May 2018; IEEE: New York, NY, USA, 2018; pp. 44–47. [Google Scholar]
- Wüst, K.; Gervais, A. Do you need a blockchain? In Proceedings of the 2018 Crypto Valley Conference on Blockchain Technology (CVCBT), Zug, Switzerland, 20–22 June 2018; IEEE: New York, NY, USA, 2018; pp. 45–54. [Google Scholar]
- Croman, K.; Decker, C.; Eyal, I.; Gencer, A.E.; Juels, A.; Kosba, A.; Miller, A.; Saxena, P.; Shi, E.; Sirer, E.G.; et al. On Scaling Decentralized Blockchains. In Financial Cryptography and Data Security; Springer: Berlin/Heidelberg, Germany, 2016; pp. 106–125. [Google Scholar]
- Hu, Y.; Manzoor, A.; Ekparinya, P.; Liyanage, M.; Thilakarathna, K.; Jourjon, G.; Seneviratne, A. A Delay-Tolerant Payment Scheme Based on the Ethereum Blockchain. IEEE Access 2019, 7, 33159–33172. [Google Scholar] [CrossRef]
- Demir, M.; Turetken, O.; Ferworn, A. A Financial Evaluation Framework for Blockchain Implementations. In Proceedings of the 2019 IEEE 10th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON), Vancouver, BC, Canada, 17–19 October 2019; pp. 715–722. [Google Scholar] [CrossRef]
- Rimba, P.; Tran, A.B.; Weber, I.; Staples, M.; Ponomarev, A.; Xu, X. Quantifying the Cost of Distrust: Comparing Blockchain and Cloud Services for Business Process Execution. Inf. Syst. Front. 2020, 22, 489–507. [Google Scholar] [CrossRef]
- Wu, K.; Ma, Y.; Huang, G.; Liu, X. A first look at blockchain-based decentralized applications. Softw. Pract. Exp. 2021, 51, 2033–2050. [Google Scholar] [CrossRef]
- Kondo, M.; Oliva, G.A.; Jiang, Z.M.; Hassan, A.E.; Mizuno, O. Code cloning in smart contracts: A case study on verified contracts from the Ethereum blockchain platform. Empir. Softw. Eng. 2020, 25, 4617–4675. [Google Scholar] [CrossRef]
- Oliva, G.A.; Hassan, A.E.; Jiang, Z.M.J. An exploratory study of smart contracts in the Ethereum blockchain platform. Empir. Softw. Eng. 2020, 25, 1864–1904. [Google Scholar] [CrossRef]
- Zarir, A.A.; Oliva, G.A.; Jiang, Z.M.; Hassan, A.E. Developing cost-effective blockchain-powered applications: A case study of the gas usage of smart contract transactions in the ethereum blockchain platform. ACM Trans. Softw. Eng. Methodol. (TOSEM) 2021, 30, 1–38. [Google Scholar] [CrossRef]
- Schäffer, M.; Di Angelo, M.; Salzer, G. Performance and scalability of private Ethereum blockchains. In Proceedings of the International Conference on Business Process Management, Rome, Italy, 6–10 September 2019; Springer: Berlin, Germany, 2019; pp. 103–118. [Google Scholar]
- Karat, J. Software Evaluation Methodologies. In Handbook of Human-Computer Interaction; Helander, M., Ed.; Elsevier: Amsterdam, The Netherlands, 1988; pp. 891–903. [Google Scholar] [CrossRef]
- Kuhn, M.; Funk, F.; Franke, J. Blockchain architecture for automotive traceability. Procedia Cirp 2021, 97, 390–395. [Google Scholar] [CrossRef]
- Jabarulla, M.Y.; Lee, H.N. Blockchain-based distributed patient-centric image management system. Appl. Sci. 2020, 11, 196. [Google Scholar] [CrossRef]
- Kudva, S.; Norderhaug, R.; Badsha, S.; Sengupta, S.; Kayes, A. PEBERS: Practical Ethereum Blockchain based Efficient Ride Hailing Service. In Proceedings of the 2020 IEEE International Conference on Informatics, IoT, and Enabling Technologies (ICIoT), Doha, Qatar, 2–5 February 2020; pp. 422–428. [Google Scholar] [CrossRef]
- Giannakis, E.; Bruggeman, A.; Djuma, H.; Kozyra, J.; Hammer, J. Water pricing and irrigation across Europe: Opportunities and constraints for adopting irrigation scheduling decision support systems. Water Supply 2015, 16, 245–252. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).