Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

A method of formally verifying a Solidarity smart contract

A smart contract and formal verification technology, which is applied in program code conversion, instrumentation, finance, etc., can solve the problems of equivalence verification and theorem proof conversion scheme difficulties, model verification state explosion, formal verification cannot be verified well, etc.

Active Publication Date: 2019-02-22
HANGZHOU QULIAN TECH CO LTD
View PDF3 Cites 23 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, equivalence verification and theorem proving have difficulties in transforming solutions, and model verification also has problems such as state explosion. Therefore, in terms of current technology, formal verification is still unable to verify certain forms of programs well.
Although it is difficult to design a general smart contract formal verification scheme, a smart contract for a specific language, such as a Solidity smart contract, can be formally verified on the premise of satisfying most of its semantics and functions

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • A method of formally verifying a Solidarity smart contract
  • A method of formally verifying a Solidarity smart contract
  • A method of formally verifying a Solidarity smart contract

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0053] The present invention will be described in detail below according to the accompanying drawings and preferred embodiments, and the purpose and effect of the present invention will become clearer. The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.

[0054] First, use the Anltr4 syntax to design the Solidity Model Language (SML) specification. This specification is used to describe the function of the program, so that the prover can verify the program by recognizing the language. Then use the anltr4 syntax analysis tool to design a prover, which can formally verify the Solidity smart contract with specifications. The implementation steps of the prover are to first import other dependent contract files into the target contract to be verified, an...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

The invention discloses a method for formally verifying a Solidarity intelligent contract, which establishes a model from the Solidarity intelligent contract, uses Boogie language to describe the model, and then uses a Z3 prover to verify the model. The method of the invention designs a set of universal intelligent contract model specification language, solves the conversion problem between the Solidarity intelligent contract and the mathematical model, and has important reference value for formally verifying the intelligent contract of other languages. This method can help the developer of intelligent contract to verify the function of intelligent contract quickly, comprehensively and rigorously, locate the vulnerability of intelligent contract, and ensure the security of intelligent contract.

Description

technical field [0001] The invention relates to blockchain technology, smart contract technology, formal verification, Solidity contract language, Boogie model language, Z3 theorem prover, and in particular to a method for formal verification of Solidity smart contracts. Background technique [0002] Blockchain is a new application model of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. In 2008, Satoshi Nakamoto proposed the concept of blockchain, and in the following years, it became a core component of the electronic currency Bitcoin. By 2014, Blockchain 2.0 became a term for decentralized blockchain databases. As a second-generation programmable blockchain, its main feature is to allow users to write more sophisticated and intelligent agreements, also known as smart contracts. [0003] Smart contracts allow for trusted transactions without third parties, which are traceable and irrevers...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F8/10G06F8/41G06Q40/04
CPCG06F8/10G06F8/41G06Q40/04
Inventor 张丁文曹辉梁秀波邱炜伟李伟李启雷尹可挺
Owner HANGZHOU QULIAN TECH CO LTD
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products