Abstract:
Git has been the de-facto version control system for the Software Development industry. Although Git is distributed, developers’ tools for collaboration, such as GitHub, are centralized entities owned by large corporations such as Microsoft. The centralization creates trust and privacy issues for software development companies (preserving their intellectual property), along with a significant" single point of failure" issue. In addition, such centralized systems are susceptible to Sybil and distributed denial of service (DDoS) attacks due to the presence of malicious individuals. Blockchain technology has many key characteristics (such as decentralization, transparency, immutability, and audibility), solving these centralization issues. However, the requirement of having a storage system to store the user’s repositories over the blockchain creates a scalability issue (in terms of storage). Most importantly, it makes data (code) privacy more severe due to its open nature. In this paper, we propose a privacy-preserving decentralized alternative solution and framework named "DCGit" powered by Web3 technologies such as the Ethereum Blockchain and InterPlanetary File System (IPFS) to provide security and scalability yet user-friendly collaboration for software development.