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

Full description

Saved in:
Bibliographic Details
Main Authors: Juan-Carlos Lopez-Pimentel, Carolina del-Valle-Soto, Leonardo J. Valdivia, Raul Monroy
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