Abstract

A smart contract is the algorithmic description of a contractual transaction protocol that is automatically executed together with the information provided by its parties. It is written in a simplified programming language that is specific to a particular domain. Not only correctness and unambiguity are its essential formal properties, but also conformance to any legislation governing the matter of the transaction. Finally, and importantly, the trustworthiness, safety and security of the platform executing the transactions are its main attributes. An emerging challenge is to define a proper engineering process to meet the demanding requirements while supporting mass production and distribution. This paper proposes the concept of smart contract engineering (SCE) to facilitate the generation of smart legal contracts, which is the combination of software engineering, formal methods and computational law. SCE aims to reduce the potential errors and improve efficiency during the contract development process, meanwhile promote the standardization of contract design methodologies. In this paper, the roadmap of an iterative refinement-based, model-driven formal design methodology is introduced, not only to validate smart contracts but also to support the whole life cycle of their engineering.

Highlights

  • The future of society is digital; how to transfer the physical society’s relationships to money, law, and even lifestyle and culture into digital relationships in the virtual world is a big challenge in IT technologies

  • This paper proposed the concept of smart contract engineering (SCE) more extensively and systematically with a combination of software engineering, formal methods, and computational law to promote the standardization of contract design methodologies

  • This paper summarizes the features of smart contracts completely and proposes the concept and framework of smart contract engineering (SCE) to meet the requirements of large-scale smart contract software production and verification in the future

Read more

Summary

Introduction

The future of society is digital; how to transfer the physical society’s relationships to money, law, and even lifestyle and culture into digital relationships in the virtual world is a big challenge in IT technologies. Blockchain [2] is an effective way to solve these problems It is a safely distributed ledger to store the contract code and a distributed execution environment to control the digital asset directly. The concept of “smart contract engineering” is proposed, which aims to guide the code generation of smart contracts so that we can obtain legal and correct smart contract software. It will be the integration of the theory of software engineering (SE) [4], Formal Methods [5,6], intelligent methods, and computational law [7]. The concept and method of smart contract engineering are proposed in Section 4; The formal description and formal model of the smart contract are proposed in Section 5; Model-driven verification methods corresponding to smart contracts’ features are presented in Section 6, including iterative road map: modeling, model transformation, model verification, automatic code generation, and runtime verification; Conformance testing is applied to verify the conformance of smart contracts code, and contract texts are described in Section 7; This paper is structured as follows: Section 2 presents a general review of smart contracts; Section 3 discusses related techniques and works; Section 4 introduces smart contract engineering; Section 5 proposes the formal description of smart contracts and describes model, transaction, and attributes of smart contracts; Section 6 shows the formal methods in SCE; Section 7 shows the conformance testing methods applied to smart contracts; Section 8 presents a case study of formal verification to illustrate the advantages of formal methods; Section 9 reports the conclusion

Smart Contracts
Related Work
Smart Contract Model
Transaction Model
TStatus
Attribute Description
Non-Functional Attributes Description
Smart Contract Verification
Formal Description Techniques
Model Transformation
Formal Verification
Automatic Code Generation
Runtime Verification
Conformance Testing
Test Sets
Test Sequence Generation Algorithms
The Process of Conformance Testing
Conformance Testing Method
A Case Study
Conclusions
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.