Emphasizing the Early Phases of the Software Development Process Before Deploying Smart Contracts
Immutability is one of the main characteristics of Blockchain. However, most software development is not static. This dilemma, among others, has caused a new branch of blockchain-oriented software engineering. This paper emphasizes the importance of the early phases of software development before de...
Saved in:
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2025-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/10843205/ |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
_version_ | 1832586899715260416 |
---|---|
author | Juan-Carlos Lopez-Pimentel Carolina del-Valle-Soto Leonardo J. Valdivia Raul Monroy |
author_facet | Juan-Carlos Lopez-Pimentel Carolina del-Valle-Soto Leonardo J. Valdivia Raul Monroy |
author_sort | Juan-Carlos Lopez-Pimentel |
collection | DOAJ |
description | Immutability is one of the main characteristics of Blockchain. However, most software development is not static. This dilemma, among others, has caused a new branch of blockchain-oriented software engineering. This paper emphasizes the importance of the early phases of software development before deploying blockchain-based software. It follows case-based research to illustrate the implications of smart contracts designed in the early phases without including all requirements. The paper presents a digital identity case designed within a microservice architecture. We show two stages: an initial design and an upgrading requirement, which causes considerable changes in the architecture. The case is analyzed from three different perspectives: 1) Economic, finding that re-deploying smart contracts does not implicate considerable cost; 2) Computational perspective, finding that it generates various implications: smart contract purpose duplication, storage wastage, failure to recognize the original smart contract, cascade dependency repercussion, and migration problems; and 3) Interconnected effect, a simple change, required for upgrading smart contracts, generates broad collateral repercussions in both on-chain (within the blockchain) and off-chain. |
format | Article |
id | doaj-art-f4edfc544c234ef287518fc5c104d0d0 |
institution | Kabale University |
issn | 2169-3536 |
language | English |
publishDate | 2025-01-01 |
publisher | IEEE |
record_format | Article |
series | IEEE Access |
spelling | doaj-art-f4edfc544c234ef287518fc5c104d0d02025-01-25T00:02:06ZengIEEEIEEE Access2169-35362025-01-0113136281364310.1109/ACCESS.2025.353026910843205Emphasizing the Early Phases of the Software Development Process Before Deploying Smart ContractsJuan-Carlos Lopez-Pimentel0https://orcid.org/0000-0002-7844-3261Carolina del-Valle-Soto1https://orcid.org/0000-0002-0272-3275Leonardo J. Valdivia2https://orcid.org/0000-0001-7545-7441Raul Monroy3https://orcid.org/0000-0002-3465-995XFacultad de Ingeniería, Universidad Panamericana, Zapopan, Jalisco, MexicoFacultad de Ingeniería, Universidad Panamericana, Zapopan, Jalisco, MexicoFacultad de Ingeniería, Universidad Panamericana, Zapopan, Jalisco, MexicoEscuela de Ingeniería y Ciencias, Tecnológico de Monterrey, Atizapán de Zaragoza, Mexico City, MexicoImmutability is one of the main characteristics of Blockchain. However, most software development is not static. This dilemma, among others, has caused a new branch of blockchain-oriented software engineering. This paper emphasizes the importance of the early phases of software development before deploying blockchain-based software. It follows case-based research to illustrate the implications of smart contracts designed in the early phases without including all requirements. The paper presents a digital identity case designed within a microservice architecture. We show two stages: an initial design and an upgrading requirement, which causes considerable changes in the architecture. The case is analyzed from three different perspectives: 1) Economic, finding that re-deploying smart contracts does not implicate considerable cost; 2) Computational perspective, finding that it generates various implications: smart contract purpose duplication, storage wastage, failure to recognize the original smart contract, cascade dependency repercussion, and migration problems; and 3) Interconnected effect, a simple change, required for upgrading smart contracts, generates broad collateral repercussions in both on-chain (within the blockchain) and off-chain.https://ieeexplore.ieee.org/document/10843205/Blockchainsoftware-developmentsmart contractupgrading |
spellingShingle | Juan-Carlos Lopez-Pimentel Carolina del-Valle-Soto Leonardo J. Valdivia Raul Monroy Emphasizing the Early Phases of the Software Development Process Before Deploying Smart Contracts IEEE Access Blockchain software-development smart contract upgrading |
title | Emphasizing the Early Phases of the Software Development Process Before Deploying Smart Contracts |
title_full | Emphasizing the Early Phases of the Software Development Process Before Deploying Smart Contracts |
title_fullStr | Emphasizing the Early Phases of the Software Development Process Before Deploying Smart Contracts |
title_full_unstemmed | Emphasizing the Early Phases of the Software Development Process Before Deploying Smart Contracts |
title_short | Emphasizing the Early Phases of the Software Development Process Before Deploying Smart Contracts |
title_sort | emphasizing the early phases of the software development process before deploying smart contracts |
topic | Blockchain software-development smart contract upgrading |
url | https://ieeexplore.ieee.org/document/10843205/ |
work_keys_str_mv | AT juancarloslopezpimentel emphasizingtheearlyphasesofthesoftwaredevelopmentprocessbeforedeployingsmartcontracts AT carolinadelvallesoto emphasizingtheearlyphasesofthesoftwaredevelopmentprocessbeforedeployingsmartcontracts AT leonardojvaldivia emphasizingtheearlyphasesofthesoftwaredevelopmentprocessbeforedeployingsmartcontracts AT raulmonroy emphasizingtheearlyphasesofthesoftwaredevelopmentprocessbeforedeployingsmartcontracts |