CN108536445A - 面向区块链智能合约的高度自动化形式化验证系统及方法 - Google Patents

面向区块链智能合约的高度自动化形式化验证系统及方法 Download PDF

Info

Publication number
CN108536445A
CN108536445A CN201810266317.8A CN201810266317A CN108536445A CN 108536445 A CN108536445 A CN 108536445A CN 201810266317 A CN201810266317 A CN 201810266317A CN 108536445 A CN108536445 A CN 108536445A
Authority
CN
China
Prior art keywords
verification
formalization
code
contract
formal verification
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.)
Granted
Application number
CN201810266317.8A
Other languages
English (en)
Other versions
CN108536445B (zh
Inventor
杨霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Chain Security Technology Co Ltd
Original Assignee
Chengdu Chain Security Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Chain Security Technology Co Ltd filed Critical Chengdu Chain Security Technology Co Ltd
Priority to CN201810266317.8A priority Critical patent/CN108536445B/zh
Publication of CN108536445A publication Critical patent/CN108536445A/zh
Application granted granted Critical
Publication of CN108536445B publication Critical patent/CN108536445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis

Abstract

本发明公开了面向区块链智能合约的高度自动化形式化验证系统及方法,使用代码转换器工具可将区块链智能合约源代码,自动化的转换为形式化验证识别的语言中间层代码,供形式化验证输入使用;采用形式化方法,可对转换的源代码进行高度自动化的形式化安全验证,判断该智能合约的安全属性需求是否安全。本发明能够以较高程度的自动化,实现对区块链智能合约进行形式化安全验证,其中的使用自动代码转换器能够自动化生成形式化的待验证程序,自动化验算策略提高的验证效率,这些措施则可以极大的提高智能合约形式化验证的效率,减少人工参与度。

Description

面向区块链智能合约的高度自动化形式化验证系统及方法
技术领域
本发明涉及区块链智能合约安全技术领域,具体涉及面向区块链智能合约的高度自动化形式化验证系统及方法。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。使用去中心化共识机制去维护一个完整的、分布式的、不可篡改的账本数据库的技术,它能够让区块链中的参与者在无需建立信任关系的前提下实现一个统一的账本系统。一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。在区块链技术背景下,智能合约是指运行在区块链上,能够执行某些功能的程序代码。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可追踪、不可篡改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。
形式化验证方法是使用数学的公式、定理和系统来验证一个系统的正确性等。形式化验证过程可以证明一个系统不存在某个缺陷或符合某个或某些属性。软件测试无法证明系统不存在缺陷,也不能证明它符合一定的属性。系统无法被证明或测试为无缺陷,这是因为不可能形式地规定什么是“没有缺陷”。所有可以做的,就是证明一个系统没有任何可以想到的缺陷,并且满足所有的使系统符合功能要求的和有用的属性。
智能合约运行在一个由众人共同维护的区块链链上自动执行的程序代码,一旦因为程序自身设计的问题,导致智能合约的安全漏洞,或将产生不可逆转的重大损失。形式化验证方法可以很好的检验和验证智能合约代码的漏洞,但传统的形式化验证方法人工参与量大,效率较低,并且对使用安全验证方法的程序员要求较高。
发明内容
本发明的目的在于提供一种面向区块链智能合约的高度自动化形式化验证系统及方法,解决上述区块链智能合约面临的安全问题以及形式化验证人工参与度较大、验证效率低的问题。
本发明通过下述技术方案实现:
面向区块链智能合约的高度自动化形式化验证系统,包括:
自动代码转换器:用于接收智能合约源代码,并将智能合约源代码转换为形式化的中间语言代码;
形式化的中间层代码:对自动代码转换器产生的中间语言代码进行形式化的描述,生成待验证的形式化程序文件,并输入到虚拟执行与验证器;
虚拟执行与验证器:将接收到的形式化程序文件进行虚拟化地址配置,并调用自动化证明模块对该文件进行高度自动化的形式化验证,并得出验证结果;
自动化验证模块:用于存储多种用于验证的策略,并供虚拟执行与验证器调用。
本发明面向区块链智能合约的高度自动化形式化验证系统,不同区块链平台的智能合约源代码导入形式化验证工具的自动代码转换器模块,这些源代码由不同的高级编程语言编写,常见的智能合约编程语言有C++,Javascript,Solidity,Python,Go语言,能够高度自动化的生成面向多个区块链平台的安全的智能合约程序,并可以为其它智能合约提供安全和功能正确性的代码验证,本发明工具能够以较高程度的自动化,对区块链智能合约进行形式化安全验证,其中使用的自动代码转换器能够自动化生成形式化的待验证程序,自动化验算策略可以提高的验证效率,这些措施则可以极大的提高智能合约形式化验证的效率,减少人工参与度。
具体的讲所述自动化验证模块包括:
自动化验算策略库:用于存储多种自动化验算策略,提高证明效率;
形式化验证库:为了进一步减少形式化验证工作的人工参与度,提高验证自动化能力和效率,建立区块链平台关键函数的形式化验证库,将多个区块链平台标准函数的正确性事先进行形式化验证,并形成一个验证库,以以太坊区块链平台为例,验证库包括send、transfer、SafeMath等通用接口函数的功能正确性验证。
面向区块链智能合约的高度自动化形式化验证方法,包括以下步骤:
(a)接收智能合约源代码,并将其输入到自动代码转换器,生成形式化的中间语言代码,并生成待验证的形式化文件;
(b)将步骤(a)中产生的形式化文件导入定理辅助证明器中;
(c)导入形式化验证库到步骤(a)中生成的形式化文件中,并建立虚拟执行环境。
(d)根据智能合约的功能,抽象出安全属性,再由人工编写定理,并由定理辅助证明器调用自动化验算策略对步骤(a)中生成的形式化文件的功能正确性进行证明,如果证明失败,说明该智能合约的源代码不符合功能需求,再修改源代码,并将修改后的源代码输入到自动代码转换器,重新对代码进行功能正确性验证;如果验证成功,则生成验证报告。
本发明面向区块链智能合约的高度自动化形式化验证方法,首先将不同区块链平台的智能合约源代码导入形式化验证工具的自动代码转换器模块,这些源代码由不同的高级编程语言编写,常见的智能合约编程语言有C++,Javascript,Solidity,Python,Go语言,自动代码转换器,将步骤001中导入的智能合约源程序转换为形式化的中间语言代码,转换工具分为前端和后端两部分,前端主要负责输入用于高级语言的合约程序,而后端负责产生形式化的中间层代码,首先,工具前端根据不同的高级语言编写智能合约的文法规则,使用词法分析器产生词法单元序列,并将词法单元序列传入到语法分析器,语法分析器分析词法单元序列,按照文法规则生成中间语法树。转换工具的后端,将中间语法树和形式化的中间语言的语法树对接,遍历语法树,将多种高级语言编写的智能合约代码推导为形式化验证方法能够识别的中间层代码,形式化的中间层代码是对智能合约高级编程语言的形式化描述,包括对高级语言的词法、语法、语义的形式化描述。形式化中间语言能够对多种智能合约编程语言如C++,Javascript,Solidity,Python,Go等高级语言进行形式化的描述,然后通过定理辅助证明器进行中间语言代码的验证,通过对中间代码的验证,以确定输入的智能合约源代码是否存在安全问题。
进一步讲所述步骤(c)是:定理辅助证明器接收配置后的对应形式化代码文件,根据用户提交的合约功能说明,人工编写定理。为提高证明效率,调用自动化验算策略库中存储的自动化验算策略,来证明出中间语言代码是否存在安全问题,如果通过验证,则不存在安全问题,提交验证报告;如果验证失败,则重新修改所接收到的智能合约源代码,重新验证直到验证通过。根据智能合约功能与需求抽象出需要验证的具体功能属性,然后导入形式化验证库与所生成的待验证形式化程序文件,并配置虚拟执行环境。虚拟执行环境对所生成的形式化程序进行符号执行,同时定理辅助证明器利用自动化验算策略对形式化中间代码基于霍尔逻辑的逻辑表达式自动推导;推导的逻辑不变量结果将自动被定理所识别,并进行与属性所期望不变量进行等价性判定;如果判定等价,则表明被验证的程序符合所期望的验证属性,并提交验证报告;否则验证失败,说明源程序不符合用户给定的功能属性,存在安全问题,或者其功能不符合用户需求。对于验证失败的情况,将重新修改智能合约源代码程序,并提交自动化代码转换器重新生成形式化的中间语言,并重新验证,多次反复,直到验证通过为止。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明面向区块链智能合约的高度自动化形式化验证系统,能够以较高程度的自动化,实现对区块链智能合约的形式化验证,其中使用自动代码转换器能够自动化生成形式化的待验证程序,自动化验算策略提高了验证效率,这些措施则可以极大的提高智能合约形式化验证的效率,减少人工参与度;
2、本发明面向区块链智能合约的高度自动化形式化验证方法,设计自动化验算策略,对转换后的形式化代码进行高度自动化的验证,证明该智能合约的功能实现是否符合预期,并且证明源代码是否存在逻辑漏洞和安全问题;
3、本发明所提的验证系统和方法,不仅仅适用于区块链智能合约的验证,对于其他关键程序的验证,同样有效。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明原理框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
如图1所示,本发明面向区块链智能合约的高度自动化形式化验证系统及方法,本发明开发面向区块链智能合约的形式化验证工具,验证智能合约的功能正确性。为了能够更容易让本领域技术人员理解,以下将用以太坊区块链智能合约的形式化验证为例进行说明。其并不构成对本发明的任何限制。本领域技术人员在本发明公开的技术内容启示下,将其应用于其他区块链平台,例如超级账本Fabric、EOS区块链平台等。本例中以太坊区块链平台的ICO类智能合约应用为例,结合图1,使用本发明工具对智能合约进行形式化验证的流程进行详细阐述,主要步骤如下:
(a)以太坊区块链平台的ICO智能合约源代码导入形式化验证工具的自动代码转换器模块;将可正确编译的以太坊ICO智能合约源代码完整导入至 形式化验证工具的 自动代码转换器模块中的源代码输入前端,源代码包括完整的ICO智能合约,与其有继承关系的父合约源代码,与其有外部函数调用的库合约源代码,本例中的ICO智能合约是由以太坊区块链中支持的高级编程语言:solidity语言;
(b)代码转换器将以太坊solidity语言编写的ICO智能合约转换为形式化验证中间层语言代码;
智能合约是一段运行在区块链平台上能够执行不同功能的代码程序,需要将该代码一对一转换到形式化验证的中间层语言程序代码。 本发明转换器采用语法树对接的方式对应转换程序,本例中为solidity至形式化中间语言的转换程序。 自动代码转换模块将前端接收到的ICO智能合约的solidity源代码进行处理,前端识别ICO智能合约的开发语言为solidity高级语言,并使用匹配的solidity文法规则, 首先 solidity词法分析器解析ICO源程序。solidity词法分析器将生成与ICO智能合约源程序匹配的特定词法单元序列,并将此特定的词法单元序列传入solidity语法分析器,solidity语法器分析特定的ICO智能合约词法单元序列,并依据solidity文法规则生成特定的ICO智能合约中间语法树,到此solidity至形式化中间语言的转换程序中前端模块的工作结束,前端模块将最终生成的ICO智能合约中间语法树传入后端模块进行转换工作,后端将ICO智能合约中间语法树和形式化中间语言的语法树进行对接,通过遍历生成的形式化中间层语言的语法树,并依据形式化中间语言的文法规则, 将solidity语言编写的智能合约代码转换为形式化验证中间层语言描述的代码;
(c)通过分析自动转换工具生成的形式化验证中间语言描述的ICO智能合约代码中的源代码变量、智能合约继承关系,以及功能函数的限定符等得到ICO智能合约的程序语义信息集。对所得到的语义信息集生成目标程序解析出ICO智能合约代码中的常量例如:ICO发发行的目标代币量TOKEN_TARGET_AMOUNT、普通用户的以太币与代币的汇率RATE_ORDINARY、te特权 用户的以太币与代币的汇率RATE_PRIVILEGE ;ICO智能合约中的变量例如:众筹资金的目标地址safe、已被购买的代币数量subscription、普通用户众筹开启时间ordinaryOpen、普通用户众筹结束时间ordinaryClose、特权用户众筹开启时间privilegeOpen、特权用户众筹结束时间privilegeClose、参与众筹的用户participants、众筹用户的购买金额deposits,众筹用户的特权属性privileges、合约的所有者owner;ICO智能合约中的函数例如合约的构造函数function IcoController 、合约的回调函数function fallback、众筹用户注册函数 function registerParticipant、众筹时间设置函数function setPeriod,众筹金额查询函数 function getDeposit。对上述解析出的ICO智能合约中存在的常量、变量及函数分配确定且互不相同的抽象内存地址,以模块为单位声明并限定上述函数与ICO智能合约的相互调用,并直接映射到虚拟执行空间中,同时输出与原程序完全等价的可以被高度自动化证明器所识别的形式化ICO智能合约程序文件。本发明验证工具中的虚拟执行空间可模拟 真实计算机执行环境 ,将形式化验证中间层程序直接在其上运行,可追踪变量状态和程序逻辑;根据智能合约功能与需求抽象出需要验证的具体属性; 智能合约的功能和需求以及智能合约开发过程中使用的相关标准同时对智能合约可操作的行为进行约束;这些约束指明了在特定的条件下系统预期执行的操作,从而直接映射为智能合约的安全性属性。以ICO智能合约为例,对于给出众筹开启opentime及结束时间closetime需求的ICO智能合约,人工抽象会得到ICO智能合约关于时间的安全属性:只有在众筹开启opentime及结束时间closetime 之内发起的众筹交易能够被合约执行,形式化验证过程可以证明一个系统不存在某个缺陷或符合某个或某些属性。依据步骤004中抽象的ICO智能合约关于时间的安全属性,分析得到定理的前置条件:当前时间now小于ICO智能合约开启时间或者当前时间大于ICO智能合约结束时间closetime;后置条件:执行fallback函数后的ICO智能合约的内存状态异常。将该时间属性的前置条件、后置条件与ICO智能合约的初始内存状态整合在一起形成待验证的定理 Theorem transition_time。将形式化验证库与待证明的定理 Theorem transition_time 一起导入所生成的待验证形式化程序文件,并配置适合的虚拟执行与验证器; 本发明针对形式化的中间层语言的语法结构 ,编写若干形式化验证安全策略例如:step、push 、next和initmen,基于这些形式化验证安全策略, 形式化验证器验证虚拟执行空间依据待证明定理的目标形式按需调用安全验证策略对形式化程序fallback进行符号执行, 并同时基于霍尔逻辑的逻辑表达式进行自动推导,形式化程序fallback的最终推导结果将自动与定理中给出的异常不变量行等价性判定 ;如果判定等价,则表明被验证的程序fallback符合所期望的交易时间属性Theorem transition_time ,并提交验证报告;否则验证失败,说明源程序对应代码段不符合用户给定的功能属性,存在安全问题,或者其功能不符合用户需求。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.面向区块链智能合约的高度自动化形式化验证系统,其特征在于包括:
自动代码转换器:用于接收智能合约源代码,并将智能合约源代码转换为形式化的中间语言代码;
形式化的中间层代码:对自动代码转换器产生的中间语言代码进行形式化的描述,生成待验证的形式化程序文件,并输入到虚拟执行与验证器模块;
虚拟执行与验证器模块:将接收到的形式化程序文件和形式化验证库同时导入定理辅助证明器,并进行虚拟化地址配置,从而建立虚拟执行环境;然后由定理辅助证明器调用自动化验证模块中的自动化验算策略对该形式化程序文件进行高度自动化的形式化验证,并得出验证结果;
自动化验证模块:用于提供形式化的验证库和自动化验算策略库,供定理辅助证明器调用,以提高形式化验证效率。
2.根据权利要求1所述面向区块链智能合约的高度自动化形式化验证系统,其特征在于所述自动化证明模块包括:
自动化验算策略库:用于存储多个自动化验算策略,供定理辅助证明器调用,提高证明效率;
形式化验证库:将多个区块链平台标准函数的正确性事先进行形式化验证,并形成一个验证库。
3.面向区块链智能合约的高度自动化形式化验证方法,其特征在于包括以下步骤:
(a)接收智能合约源代码,并将其输入到自动代码转换器,生成形式化的中间语言代码,并生成待验证的形式化文件;
(b)将步骤(a)中产生的形式化文件导入定理辅助证明器中;
(c)导入形式化验证库到步骤(a)中生成的形式化文件中,并建立虚拟执行环境;
(d)根据智能合约的功能,抽象出安全属性,再由人工编写定理,并由定理辅助证明器调用自动化验算策略对步骤(a)中生成的形式化文件的功能正确性进行证明,如果证明失败,说明该智能合约的源代码不符合功能需求,再修改源代码,再次从步骤(a)开始重新对代码进行功能正确性验证;如果验证成功,则生成验证报告,如果验证失败,再次重复此步骤,直到验证通过,生成正确的验证报告为止。
CN201810266317.8A 2018-03-28 2018-03-28 面向区块链智能合约的高度自动化形式化验证系统及方法 Active CN108536445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810266317.8A CN108536445B (zh) 2018-03-28 2018-03-28 面向区块链智能合约的高度自动化形式化验证系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810266317.8A CN108536445B (zh) 2018-03-28 2018-03-28 面向区块链智能合约的高度自动化形式化验证系统及方法

Publications (2)

Publication Number Publication Date
CN108536445A true CN108536445A (zh) 2018-09-14
CN108536445B CN108536445B (zh) 2021-03-30

Family

ID=63481536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810266317.8A Active CN108536445B (zh) 2018-03-28 2018-03-28 面向区块链智能合约的高度自动化形式化验证系统及方法

Country Status (1)

Country Link
CN (1) CN108536445B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358859A (zh) * 2018-09-27 2019-02-19 上海点融信息科技有限责任公司 在区块链网络中安装智能合约的方法、装置及存储介质
CN109460657A (zh) * 2018-10-15 2019-03-12 杭州安恒信息技术股份有限公司 一种基于智能合约代码数值溢出的安全检测方法
CN109493226A (zh) * 2018-11-21 2019-03-19 北京物资学院 一种基于区块链的智能合约状态监测系统及监测方法
CN109523383A (zh) * 2018-10-30 2019-03-26 广州斯拜若科技有限公司 一种智能合约转换系统及方法
CN109615518A (zh) * 2018-12-11 2019-04-12 北京瑞卓喜投科技发展有限公司 一种智能合约系统的构建方法和智能合约系统
CN109634810A (zh) * 2018-12-10 2019-04-16 广东亿迅科技有限公司 基于Fabric的区块链业务平台和运行方法
CN109903164A (zh) * 2019-01-03 2019-06-18 广州斯拜若科技有限公司 基于区块链的私募股权基金自动化监管方法与系统
CN110347405A (zh) * 2019-07-01 2019-10-18 电子科技大学 一种schedule调度模块的形式化验证方法
CN110390213A (zh) * 2019-07-31 2019-10-29 中国工商银行股份有限公司 区块链网络环境下智能合约的安全部署方法及系统
CN110554866A (zh) * 2019-09-12 2019-12-10 北京工商大学 一种基于mvc交易类智能合约交互式设计方法
CN110866255A (zh) * 2019-11-07 2020-03-06 博雅正链(北京)科技有限公司 一种智能合约漏洞检测方法
CN110989997A (zh) * 2019-12-04 2020-04-10 电子科技大学 基于定理证明的形式化验证方法
CN111062038A (zh) * 2019-11-23 2020-04-24 同济大学 一种基于状态空间的智能合约形式化验证系统及方法
US20200201838A1 (en) * 2018-12-20 2020-06-25 Sri International Middleware to automatically verify smart contracts on blockchains
CN111427785A (zh) * 2020-03-24 2020-07-17 北京金山云网络技术有限公司 形式化任务验证方法、装置、电子设备和计算机可读介质
CN111562906A (zh) * 2020-04-15 2020-08-21 杭州云象网络技术有限公司 一种基于Noesis逻辑的智能合约开发与验证方法
CN112104709A (zh) * 2020-08-28 2020-12-18 腾讯科技(深圳)有限公司 智能合约的处理方法、装置、介质及电子设备
CN112612482A (zh) * 2020-12-28 2021-04-06 杭州趣链科技有限公司 执行智能合约的方法、装置、设备及存储介质
CN112686671A (zh) * 2021-01-07 2021-04-20 腾讯科技(深圳)有限公司 基于区块链的智能合约部署方法、装置、设备以及介质
CN113031934A (zh) * 2021-04-06 2021-06-25 卡斯柯信号有限公司 一种用于形式化验证的联锁数据安全转换方法及翻译器
CN113190628A (zh) * 2021-07-01 2021-07-30 四川新龟科技有限公司 一种基于区块链的供应链物流控货平台及其使用方法
JP2022535785A (ja) * 2019-06-12 2022-08-10 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー ブロックチェーンネットワークにおけるスマートコントラクトをサポートするための方法及びコントラクト書き換えフレームワークシステム
US11790360B1 (en) * 2023-03-14 2023-10-17 Gearlay Technologies Inc. Multi-actor transaction simulation in a blockchain network
CN117593129A (zh) * 2024-01-19 2024-02-23 腾讯科技(深圳)有限公司 交易的执行方法、装置、计算机可读介质及电子设备
CN117593129B (zh) * 2024-01-19 2024-05-03 腾讯科技(深圳)有限公司 交易的执行方法、装置、计算机可读介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030176984A1 (en) * 2000-07-31 2003-09-18 Owen David Paul Signal measurement
CN105809062A (zh) * 2016-03-01 2016-07-27 布比(北京)网络技术有限公司 一种合约构建、执行方法及装置
CN107147704A (zh) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 一种面向区块链的通用服务中间件系统
CN107609848A (zh) * 2017-11-06 2018-01-19 张婷 一种基于物联网的知识产权许可方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030176984A1 (en) * 2000-07-31 2003-09-18 Owen David Paul Signal measurement
CN105809062A (zh) * 2016-03-01 2016-07-27 布比(北京)网络技术有限公司 一种合约构建、执行方法及装置
CN107147704A (zh) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 一种面向区块链的通用服务中间件系统
CN107609848A (zh) * 2017-11-06 2018-01-19 张婷 一种基于物联网的知识产权许可方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡凯,白晓敏,高灵超,董爱强: "智能合约的形式化验证方法", 《信息安全研究》 *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358859B (zh) * 2018-09-27 2021-07-30 上海点融信息科技有限责任公司 在区块链网络中安装智能合约的方法、装置及存储介质
CN109358859A (zh) * 2018-09-27 2019-02-19 上海点融信息科技有限责任公司 在区块链网络中安装智能合约的方法、装置及存储介质
CN109460657A (zh) * 2018-10-15 2019-03-12 杭州安恒信息技术股份有限公司 一种基于智能合约代码数值溢出的安全检测方法
CN109523383A (zh) * 2018-10-30 2019-03-26 广州斯拜若科技有限公司 一种智能合约转换系统及方法
CN109523383B (zh) * 2018-10-30 2022-01-21 广州斯拜若科技有限公司 一种智能合约转换系统及方法
CN109493226A (zh) * 2018-11-21 2019-03-19 北京物资学院 一种基于区块链的智能合约状态监测系统及监测方法
CN109493226B (zh) * 2018-11-21 2019-07-16 北京物资学院 一种基于区块链的智能合约状态监测系统及监测方法
CN109634810A (zh) * 2018-12-10 2019-04-16 广东亿迅科技有限公司 基于Fabric的区块链业务平台和运行方法
CN109615518A (zh) * 2018-12-11 2019-04-12 北京瑞卓喜投科技发展有限公司 一种智能合约系统的构建方法和智能合约系统
US20200201838A1 (en) * 2018-12-20 2020-06-25 Sri International Middleware to automatically verify smart contracts on blockchains
CN109903164A (zh) * 2019-01-03 2019-06-18 广州斯拜若科技有限公司 基于区块链的私募股权基金自动化监管方法与系统
JP7250178B2 (ja) 2019-06-12 2023-03-31 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー ブロックチェーンネットワークにおけるスマートコントラクトをサポートするための方法及びコントラクト書き換えフレームワークシステム
JP2022535785A (ja) * 2019-06-12 2022-08-10 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー ブロックチェーンネットワークにおけるスマートコントラクトをサポートするための方法及びコントラクト書き換えフレームワークシステム
CN110347405A (zh) * 2019-07-01 2019-10-18 电子科技大学 一种schedule调度模块的形式化验证方法
CN110390213A (zh) * 2019-07-31 2019-10-29 中国工商银行股份有限公司 区块链网络环境下智能合约的安全部署方法及系统
CN110554866B (zh) * 2019-09-12 2022-11-01 北京工商大学 一种基于mvc交易类智能合约交互式设计方法
CN110554866A (zh) * 2019-09-12 2019-12-10 北京工商大学 一种基于mvc交易类智能合约交互式设计方法
CN110866255A (zh) * 2019-11-07 2020-03-06 博雅正链(北京)科技有限公司 一种智能合约漏洞检测方法
CN110866255B (zh) * 2019-11-07 2022-04-12 博雅正链(北京)科技有限公司 一种智能合约漏洞检测方法
CN111062038B (zh) * 2019-11-23 2022-06-24 同济大学 一种基于状态空间的智能合约形式化验证系统及方法
CN111062038A (zh) * 2019-11-23 2020-04-24 同济大学 一种基于状态空间的智能合约形式化验证系统及方法
CN110989997A (zh) * 2019-12-04 2020-04-10 电子科技大学 基于定理证明的形式化验证方法
CN111427785A (zh) * 2020-03-24 2020-07-17 北京金山云网络技术有限公司 形式化任务验证方法、装置、电子设备和计算机可读介质
CN111427785B (zh) * 2020-03-24 2023-08-18 北京金山云网络技术有限公司 形式化任务验证方法、装置、电子设备和计算机可读介质
CN111562906B (zh) * 2020-04-15 2023-06-06 杭州云象网络技术有限公司 一种基于Noesis逻辑的智能合约开发与验证方法
CN111562906A (zh) * 2020-04-15 2020-08-21 杭州云象网络技术有限公司 一种基于Noesis逻辑的智能合约开发与验证方法
CN112104709A (zh) * 2020-08-28 2020-12-18 腾讯科技(深圳)有限公司 智能合约的处理方法、装置、介质及电子设备
CN112104709B (zh) * 2020-08-28 2022-06-07 腾讯科技(深圳)有限公司 智能合约的处理方法、装置、介质及电子设备
CN112612482A (zh) * 2020-12-28 2021-04-06 杭州趣链科技有限公司 执行智能合约的方法、装置、设备及存储介质
CN112686671A (zh) * 2021-01-07 2021-04-20 腾讯科技(深圳)有限公司 基于区块链的智能合约部署方法、装置、设备以及介质
CN113031934B (zh) * 2021-04-06 2022-07-26 卡斯柯信号有限公司 一种用于形式化验证的联锁数据安全转换方法及翻译器
CN113031934A (zh) * 2021-04-06 2021-06-25 卡斯柯信号有限公司 一种用于形式化验证的联锁数据安全转换方法及翻译器
CN113190628B (zh) * 2021-07-01 2021-09-17 四川新龟科技有限公司 一种基于区块链的供应链物流控货平台及其使用方法
CN113190628A (zh) * 2021-07-01 2021-07-30 四川新龟科技有限公司 一种基于区块链的供应链物流控货平台及其使用方法
US11790360B1 (en) * 2023-03-14 2023-10-17 Gearlay Technologies Inc. Multi-actor transaction simulation in a blockchain network
CN117593129A (zh) * 2024-01-19 2024-02-23 腾讯科技(深圳)有限公司 交易的执行方法、装置、计算机可读介质及电子设备
CN117593129B (zh) * 2024-01-19 2024-05-03 腾讯科技(深圳)有限公司 交易的执行方法、装置、计算机可读介质及电子设备

Also Published As

Publication number Publication date
CN108536445B (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN108536445A (zh) 面向区块链智能合约的高度自动化形式化验证系统及方法
Hajdu et al. solc-verify: A modular verifier for solidity smart contracts
CN112100054B (zh) 一种面向数据管控的程序静态分析方法和系统
US11868745B2 (en) System and method for compiling high-level language code into a script executable on a blockchain platform
AU2023201080A1 (en) Digital asset modelling
Büttner et al. Verification of ATL transformations using transformation models and model finders
Inverardi et al. Static checking of system behaviors using derived component assumptions
Murray et al. Survey of formal verification methods for smart contracts on blockchain
US20210357195A1 (en) Method and System for Executable Smart Legal Contract Construction and Execution over Legal Contracts
CN110968437A (zh) 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质
Shishkin Debugging smart contract’s business logic using symbolic model checking
Nehai et al. Deductive proof of ethereum smart contracts using why3
Khan et al. Code cloning in smart contracts on the ethereum platform: An extended replication study
Argañaraz et al. Detection of vulnerabilities in smart contracts specifications in ethereum platforms
CN111651977B (zh) 一种语言独立的法律合约与智能合约一致性度量方法
He Modeling and analyzing smart contracts using predicate transition nets
Mousavi Inference of emergent behaviours of scenario-based specifications
Wang et al. SMARTINV: Multimodal Learning for Smart Contract Invariant Inference
Liu et al. Automated Invariant Generation for Solidity Smart Contracts
Dixon et al. Verifying higher-order concurrency with data automata
Wang et al. A formal verification method for smart contract
Martinelli et al. Model checking based approach for compliance checking
Dong et al. Smifier: A Smart Contract Verifier for Composite Transactions.
Zhang et al. Process Discovery for Structured Program Synthesis
Semeráth Formal Validation and Model Generation for Domain-Specific Languages by Logic Solvers

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
GR01 Patent grant
GR01 Patent grant