CN110533533A - 一种场外交易智能合约的形式验证方法 - Google Patents
一种场外交易智能合约的形式验证方法 Download PDFInfo
- Publication number
- CN110533533A CN110533533A CN201910772367.8A CN201910772367A CN110533533A CN 110533533 A CN110533533 A CN 110533533A CN 201910772367 A CN201910772367 A CN 201910772367A CN 110533533 A CN110533533 A CN 110533533A
- Authority
- CN
- China
- Prior art keywords
- over
- counter trading
- contract
- formal verification
- intelligence contract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种场外交易智能合约的形式验证方法,涉及智能合约和形式验证的技术领域。该方法主要包括定义场外交易智能合约、定义形式验证规范与形式验证过程。本发明所公开的的场外交易智能合约的形式验证方法,提供了一套通用的场外交易流程相关的智能合约形式验证模型,为场外交易智能合约相关业务提供了一套安全形式化验证的标准。本方法基于软件形式化验证方法进行设计,在合约设计上面提高场外交易智能合约的安全性。本发明的形式化验证方法具有通用性,对于场外交易相关的智能合约都可以使用本方法进行开发和安全审计,对于场外交易一类业务系统而言,可以很好的适用。
Description
技术领域
本发明涉及智能合约和形式验证的技术领域,具体涉及一种场外交易智能合约的形式验证方法。
背景技术
现有的场外交易的智能合约中,没有针对场外交易的智能合约进行安全校验的形式化验证的方法,一旦出现智能合约漏洞,将会对该业务平台造成严重的经济损失。对智能合约进行形式化校验能够避免合约方法实现上的一些问题,通过对合约方法进行形式化语言描述,以此来判断合约方法在实现上的漏洞,最大化避免由于智能合约开发导致的系统漏洞。
区块链技术是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,具有去中心化、开放性、独立性、安全性、匿名性的特性。
智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。执行用代码书写的合约并且在一个不可改变的区块链中存储信息造成一定的风险和问题,因此合约的安全行尤为重要。
发明内容
针对现有智能合约设计上存在的缺陷,本发明提供一种场外交易智能合约的形式验证方法,可有效提升场外交易类智能合约的安全性
本发明是通过以下技术方案实现的:一种场外交易智能合约的形式验证方法,具体包括如下步骤:
(1)定义场外交易智能合约,进行场外交易,所述场外交易的方法包括对所述场外交易智能合约的数据结构、合约方法的声明与实现。
(2)定义形式验证规范,描述步骤(1)所述场外交易的方法所实现的功能,规范所述智能合约中每个场外交易合约相关的合约方法的功能、循环体、返回值和内部状态变量的属性值变化。
(3)利用步骤(2)所述形式验证规范对所述场外交易智能合约进行形式验证,根据所述形式验证模型,检查步骤(1)所述场外交易的方法实现是否符合步骤(2)所述形式验证规范的描述。若符合则代表所述场外交易智能合约安全;若不符合则修改所述场外交易智能合约,直至形式验证描述符合场外交易功能中相关实现。
进一步地,步骤(1)所述场外交易智能合约的定义包括上传文件信息上链、接受者信息上链和反馈者信息上链;所述数据结构包括上传文件信息结构体、接受者信息结构体和反馈信息结构体。
进一步地,步骤(2)所述形式验证规范满足如下条件:
(a)所述形式验证规范依据函数方法执行,且根据所述文件信息上链、所述接受者信息上链和所述反馈者信息上链对应传入的所述上传文件信息结构体、所述接受者信息结构体和所述反馈信息结构体进行校验,得到不同的返回值;
(b)检验所述循环体不溢出;
(c)在所述场外交易智能合约定义时,调用函数,不会抛出异常;
(d)所述函数调用后,所述场外交易的方法中数据结构的状态变量发生改变,其他状态变量保持不变。
进一步地,步骤(3)所述形式验证的模型建立方法,具体为:
(1)形式验证时,传入的入参参数保持在应用层的可控范围内。
(2)忽略所述循环体数组长度的溢出,同时忽略所述循环体内的临时变量值的溢出。
(3)判断所述内部状态变量是否存在,如果已存在,形式验证返回上链失败码;如果所述内部状态变量不存在,形式验证返回上链成功标志码。
本发明的有益效果如下:本发明的场外交易智能合约的形式验证方法,提供了一套通用的场外交易流程相关的智能合约形式验证模型,为场外交易智能合约相关业务提供了一套安全形式化验证的标准。本方法基于软件形式化验证方法进行设计,在合约设计上面提高场外交易智能合约的安全性。本发明的形式化验证方法具有通用性,对于场外交易相关的智能合约都可以使用本方法进行开发和安全审计,对于场外交易一类业务系统而言,可以很好的适用。
附图说明
图1为本发明一种场外交易智能合约形式验证方法的流程图;
图2是本发明对场外交易智能合约的形式验证模型图。
具体实施方式
下面结合附图对本发明进行进一步说明。
图1为本发明一种场外交易智能合约形式验证方法的流程图,具体包括以下步骤:
(1)定义场外交易智能合约,进行场外交易,所述场外交易的方法包括对所述场外交易智能合约的数据结构、状态变量、合约方法的声明与实现。所述场外交易智能合约的定义包括上传文件信息上链、接受者信息上链和反馈者信息上链;所述数据结构包括上传文件信息结构体、接受者信息结构体和反馈信息结构体。
场外交易智能合约的定义具有如下性质:
(a)数据结构包含上传文件信息,接受者信息结构体包含接受者信息,反馈信息结构体包含反馈者信息。上传文件信息结构体至少包含项目文件主键、文件哈希这两个字段,接受者信息结构体至少包含项目文件流程进展主键这一个字段,反馈者信息结构体至少包含项目文件主键、文件哈希、是否有争议这三个字段。
(b)状态变量包含记录项目文件主键到上传文件信息,反馈者信息的映射、项目文件流程进展主键到接受者信息的映射。
(c)文件信息上链、接受者信息上链和反馈者信息上链,三个合约方法分别将传入的参数在循环体内进行循环遍历,将每一个入参参数放入对应的数据结构内的变量中。
(2)定义形式验证规范,描述步骤(1)所述场外交易的方法所实现的功能,规范所述智能合约中每个场外交易合约相关的合约方法的功能、循环体、返回值和内部状态变量的属性值变化。
所述形式验证规范满足如下条件:
(a)所述形式验证规范依据函数方法执行,并要求所述函数方法能够正确的执行,目的是为了验证智能合约是否按照了形式化验证的模型去进行设计。
(b)根据所述文件信息上链、所述接受者信息上链和所述反馈者信息上链对应传入的所述上传文件信息结构体、所述接受者信息结构体和所述反馈信息结构体进行校验,得到不同的返回值,在进行相关信息上链时,假如该信息已经存在链上,则返回错误信息;若不存在,则进行之后的上链业务流程,返回成功上链信息。
(c)检验所述循环体不会存在溢出风险;由于在应用层已经做了控制,约定循环变量不会溢出,且循环次数不会被改变。
(d)在所述场外交易智能合约定义时,调用函数,确保不会抛出异常;所述函数调用后,所述场外交易的方法中数据结构的状态变量发生改变,其他状态变量保持不变。在上传文件信息上链,接受者信息上链,反馈者信息上链发起后,经过链上验证该交易不存在,将场外交易信息按相应逻辑赋值给相应字段,候选对象和场外交易人信息状态变量的相应字段等于预期值,其他字段和状态变量等于原值。
(3)利用步骤(2)所述形式验证规范对所述场外交易智能合约进行形式验证,根据所述形式验证模型,检查步骤(1)所述场外交易的方法实现是否符合步骤(2)所述形式验证规范的描述。若符合则代表所述场外交易智能合约安全;若不符合则修改所述场外交易智能合约,直至形式验证描述符合场外交易功能中相关实现。
如图2所示为本发明的形式验证模型是基于场外智能合约方法的逻辑实现进行验证的,所述形式验证的模型建立方法,具体为:
(1)所述形式验证时,传入的入参参数保持在应用层的可控范围内,不会导致入参数组溢出,参数的溢出会导致形式化校验失败,得不到正确的形式化校验结果。
(2)忽略所述循环体数组长度的溢出,同时忽略所述循环体内的临时变量值的溢出。由于在应用层已经做了控制,所以不存在数组长度溢出的风险以及循环体内的临时变量值溢出的风险。忽略掉这两项不进行形式化校验,得到更准确的校验结果。
(3)判断所述内部状态变量是否存在,如果已存在,形式验证返回上链失败码,返回上链失败标志码,则代表该内部状态变量为重复数据,无法再次发起该方法的调用;如果所述内部状态变量不存在,形式验证返回上链成功标志码。返回上链成功标志码,则代表整个方法功能能够正确的运行,安全校验通过。
Claims (4)
1.一种场外交易智能合约的形式验证方法,其特征在于,具体包括以下步骤:
(1)定义场外交易智能合约,进行场外交易,所述场外交易的方法包括对所述场外交易智能合约的数据结构、合约方法的声明与实现。
(2)定义形式验证规范,描述步骤(1)所述场外交易的方法所实现的功能,规范所述智能合约中每个场外交易合约相关的合约方法的功能、循环体、返回值和内部状态变量的属性值变化。
(3)利用步骤(2)所述形式验证规范对所述场外交易智能合约进行形式验证,根据所述形式验证模型,检查步骤(1)所述场外交易的方法实现是否符合步骤(2)所述形式验证规范的描述。若符合则代表所述场外交易智能合约安全;若不符合则修改所述场外交易智能合约,直至形式验证描述符合场外交易功能中相关实现。
2.根据权利要求1所述场外交易智能合约的形式验证方法,其特征在于,步骤(1)所述场外交易智能合约的定义包括上传文件信息上链、接受者信息上链和反馈者信息上链;所述数据结构包括上传文件信息结构体、接受者信息结构体和反馈信息结构体。
3.根据权利要求1所述场外交易智能合约的形式验证方法,其特征在于,步骤(2)所述形式验证规范满足如下条件:
(a)所述形式验证规范依据函数方法执行,且根据所述文件信息上链、所述接受者信息上链和所述反馈者信息上链对应传入的所述上传文件信息结构体、所述接受者信息结构体和所述反馈信息结构体进行校验,得到不同的返回值;
(b)检验所述循环体不溢出;
(c)在所述场外交易智能合约定义时,调用函数,不会抛出异常;
(d)所述函数调用后,所述场外交易的方法中数据结构的状态变量发生改变,其他状态变量保持不变。
4.根据权利要求1所述场外交易智能合约的形式验证方法,其特征在于,步骤(3)所述形式验证的模型建立方法,具体为:
(1)形式验证时,传入的入参参数保持在应用层的可控范围内。
(2)忽略所述循环体数组长度的溢出,同时忽略所述循环体内的临时变量值的溢出。
(3)判断所述内部状态变量是否存在,如果已存在,形式验证返回上链失败码;如果所述内部状态变量不存在,形式验证返回上链成功标志码。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910772367.8A CN110533533A (zh) | 2019-08-21 | 2019-08-21 | 一种场外交易智能合约的形式验证方法 |
PCT/CN2020/110236 WO2021018312A1 (zh) | 2019-07-30 | 2020-08-20 | 基于区块链的场外交易方法、系统、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910772367.8A CN110533533A (zh) | 2019-08-21 | 2019-08-21 | 一种场外交易智能合约的形式验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110533533A true CN110533533A (zh) | 2019-12-03 |
Family
ID=68663876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910772367.8A Pending CN110533533A (zh) | 2019-07-30 | 2019-08-21 | 一种场外交易智能合约的形式验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110533533A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111179056A (zh) * | 2019-12-20 | 2020-05-19 | 杭州趣链科技有限公司 | 一种众筹智能合约的形式验证方法 |
CN112215618A (zh) * | 2020-12-11 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 智能合约的验证方法和装置 |
WO2021018312A1 (zh) * | 2019-07-30 | 2021-02-04 | 杭州趣链科技有限公司 | 基于区块链的场外交易方法、系统、存储介质和电子装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783758A (zh) * | 2016-08-25 | 2018-03-09 | 北京航空航天大学 | 一种智能合约工程方法 |
CN108459860A (zh) * | 2018-03-28 | 2018-08-28 | 成都链安科技有限公司 | 区块链智能合约形式化验证代码转换器及转换方法 |
CN108985073A (zh) * | 2018-07-18 | 2018-12-11 | 成都链安科技有限公司 | 一种高度自动化的智能合约形式化验证系统及方法 |
CN109088741A (zh) * | 2017-06-14 | 2018-12-25 | 北京航空航天大学 | 一种区块链系统形式化建模与验证方法 |
CN109313753A (zh) * | 2016-04-01 | 2019-02-05 | 摩根大通国家银行 | 用于在私有分布式账本中提供数据隐私的系统和方法 |
CN109375899A (zh) * | 2018-09-25 | 2019-02-22 | 杭州趣链科技有限公司 | 一种形式验证Solidity智能合约的方法 |
-
2019
- 2019-08-21 CN CN201910772367.8A patent/CN110533533A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109313753A (zh) * | 2016-04-01 | 2019-02-05 | 摩根大通国家银行 | 用于在私有分布式账本中提供数据隐私的系统和方法 |
CN107783758A (zh) * | 2016-08-25 | 2018-03-09 | 北京航空航天大学 | 一种智能合约工程方法 |
CN109088741A (zh) * | 2017-06-14 | 2018-12-25 | 北京航空航天大学 | 一种区块链系统形式化建模与验证方法 |
CN108459860A (zh) * | 2018-03-28 | 2018-08-28 | 成都链安科技有限公司 | 区块链智能合约形式化验证代码转换器及转换方法 |
CN108985073A (zh) * | 2018-07-18 | 2018-12-11 | 成都链安科技有限公司 | 一种高度自动化的智能合约形式化验证系统及方法 |
CN109375899A (zh) * | 2018-09-25 | 2019-02-22 | 杭州趣链科技有限公司 | 一种形式验证Solidity智能合约的方法 |
Non-Patent Citations (1)
Title |
---|
胡凯等: "智能合约的形式化验证方法", 《信息安全研究》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021018312A1 (zh) * | 2019-07-30 | 2021-02-04 | 杭州趣链科技有限公司 | 基于区块链的场外交易方法、系统、存储介质和电子装置 |
CN111179056A (zh) * | 2019-12-20 | 2020-05-19 | 杭州趣链科技有限公司 | 一种众筹智能合约的形式验证方法 |
CN112215618A (zh) * | 2020-12-11 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 智能合约的验证方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12112146B2 (en) | Graph outcome determination in domain-specific execution environment | |
US20210073282A1 (en) | Graph-manipulation based domain-specific execution environment | |
JP7387781B2 (ja) | ブロックチェーンを介して決定性有限オートマトン(dfa)を実施するシステム及び方法 | |
US20240346498A1 (en) | Constraints on outputs of an unlocking transaction in a blockchain | |
CN110533533A (zh) | 一种场外交易智能合约的形式验证方法 | |
KR102431291B1 (ko) | 디지털 자산 모델링 | |
CN104391934B (zh) | 数据校验方法和装置 | |
CN108536445A (zh) | 面向区块链智能合约的高度自动化形式化验证系统及方法 | |
IL268145B2 (en) | Universal connections bchain e3a | |
US8645906B2 (en) | Method for enforcing change policy based on project state | |
CN110458687A (zh) | 决策自动审批方法、装置及计算机可读存储介质 | |
CN112150013B (zh) | 一种企业风险预警方法、装置、设备及可读存储介质 | |
Zhang et al. | Robustness verification of swish neural networks embedded in autonomous driving systems | |
Dong et al. | Towards repairing neural networks correctly | |
Park et al. | Formal modeling of smart contract-based trading system | |
CN110490742A (zh) | 一种区块链中的交易执行方法及装置 | |
Ilgi et al. | Formal verification for security technologies in the blockchain with artificial intelligence: A survey | |
US20160261412A1 (en) | Two-Step Authentication And Activation of Quad Small Form Factor Pluggable (QFSP+) Transceivers | |
Guidotti et al. | Verifying Neural Networks with Non-Linear SMT Solvers: a Short Status Report | |
Zheng et al. | Pattern-Based Approach to Modelling and Verifying System Security | |
US20240280946A1 (en) | Fast surrogate-based optimization | |
CN118037447A (zh) | 基于深度学习的跨链交易存在性验证方法及系统 | |
Cao et al. | A learning framework for intelligent selection of software verification algorithms | |
Li et al. | Lightning Insurance: A Fast Claim, High Accuracy Insurance Platform Based on Blockchain Technology and NASNET Algorithm | |
CN112734196B (zh) | 基于区块链的众测平台绩效评估方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191203 |
|
RJ01 | Rejection of invention patent application after publication |