IEEE Access (Jan 2025)

Emphasizing the Early Phases of the Software Development Process Before Deploying Smart Contracts

  • Juan-Carlos Lopez-Pimentel,
  • Carolina del-Valle-Soto,
  • Leonardo J. Valdivia,
  • Raul Monroy

DOI
https://doi.org/10.1109/ACCESS.2025.3530269
Journal volume & issue
Vol. 13
pp. 13628 – 13643

Abstract

Read online

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.

Keywords