Smart contract life-cycle management: an engineering framework for the generation of robust and verifiable smart contracts - Mustafa, Iqra; McGibney, Alan; Rea, Susan (Frontiers in Blockchain, 2024)
The concept of Smart Contracts (SCs) is becoming more prevalent, and their application is gaining traction across many diverse scenarios. However, producing poorly constructed contracts carries significant risks, including the potential for substantial financial loss, a lack of trust in the technology, and the risk of exposure to cyber-attacks. Several tools exist to assist in developing SCs, but their limited functionality increases development complexity. Expert knowledge is required to ensure contract reliability, resilience, and scalability. To overcome these risks and challenges, tools and services based on modelling and formal techniques are required that offer a robust methodology for SC verification and life-cycle management. This study proposes an Engineering Framework for the Generation of Robust & Verifiable Smart Contracts (GRV-SC Framework) that covers the entire SC lifecycle from design to deployment stages. It adopts SC modelling and automated formal verification methodologies to detect security vulnerabilities and improve resilience, extensibility, and code optimization to mitigate risks associated with SC development. Initially, the framework includes the implementation of a formal approach, using Coloured Petri Nets (CPN), to model cross-platform Digital Asset Modelling Language (DAML) SCs. It also incorporates a specialized Type Safety Dynamic Verifier, which is designed to detect and address new vulnerabilities that can arise in DAML contracts, such as access control and indirect reference object (Idor) vulnerabilities. The proposed GRV-SC framework provides a holistic approach to SC life-cycle management and aims to enhance the security, reliability, and adoption of SCs.CCS Concepts: • Software and its engineering → Application specific development environments.