Applied Sciences (Feb 2023)

Blockchain-Based Decentralized Architecture for Software Version Control

  • Muhammad Hammad,
  • Jawaid Iqbal,
  • Ch Anwar ul Hassan,
  • Saddam Hussain,
  • Syed Sajid Ullah,
  • Mueen Uddin,
  • Urooj Ali Malik,
  • Maha Abdelhaq,
  • Raed Alsaqour

DOI
https://doi.org/10.3390/app13053066
Journal volume & issue
Vol. 13, no. 5
p. 3066

Abstract

Read online

Version control is an important component of configuration management, and most enterprise-level software uses different tools and technologies to manage the software version control such as CVS, Subversion, or Perforce. Following the success of bitcoin, the first practical application of blockchain, it is being implemented in other fields such as healthcare, supply chains, financial management, real estate, electoral systems, and so on. Blockchain’s core features include decentralization, immutability, and interminability. Most version control repositories are centralized and can be modified by external sources, implying that they are in danger of being corrupted or controlled. In this study, we present the BDA-SCV architecture for implementing a version control system in blockchain technology. Our proposed approach would replace the necessity for a centralized system, with a decentralized approach implemented in the blockchain using distributed file storage, for which we will use the InterPlanetary File System (IPFS), which is a distributed file system. The proof of authority (PoA) consensus algorithm will be used to approve the developer communicating modifications to the private blockchain network; the authority will only provide permission and will not be able to add, edit, or delete code files. For each change, a ledger block will be created with a reference to the file stored in the distributed repository. A block cannot be manipulated once it has been created. Smart contracts will be used to register developers, create blocks, and manage the repository. The suggested model is implemented using the Hyperledger Fabric network, and the developer and authorizer ends are built into the dotnet web application.

Keywords