CN111311255B - 一种基于预言机的智能合约形式化验证和纠错方法 - Google Patents

一种基于预言机的智能合约形式化验证和纠错方法 Download PDF

Info

Publication number
CN111311255B
CN111311255B CN202010057063.6A CN202010057063A CN111311255B CN 111311255 B CN111311255 B CN 111311255B CN 202010057063 A CN202010057063 A CN 202010057063A CN 111311255 B CN111311255 B CN 111311255B
Authority
CN
China
Prior art keywords
intelligent contract
verification
consensus
intelligent
error correction
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.)
Active
Application number
CN202010057063.6A
Other languages
English (en)
Other versions
CN111311255A (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.)
Hangzhou Yunxiang Network Technology Co Ltd
Original Assignee
Hangzhou Yunxiang Network 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 Hangzhou Yunxiang Network Technology Co Ltd filed Critical Hangzhou Yunxiang Network Technology Co Ltd
Priority to CN202010057063.6A priority Critical patent/CN111311255B/zh
Publication of CN111311255A publication Critical patent/CN111311255A/zh
Application granted granted Critical
Publication of CN111311255B publication Critical patent/CN111311255B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于预言机的智能合约形式化验证和纠错方法,包括:(1)多个参与方制定电子化的智能合约;(2)制定共识协议,并部署其对应的智能合约,签名后的智能合约传入区块链网络中;(3)对智能合约进行形式化验证;(4)经过形式化验证后,被证明可执行的智能合约继续触发执行;(5)经过形式化验证后,被发现问题的智能合约,触发共识协议的智能合约,通过预言机对问题进行纠错。本发明的形式化验证方法,能够实现提高对智能合约验证的效率,并能保证区块链交易安全,利用预言机实现对出现问题的智能合约进行纠错,本发明还通过制定共识协议,确保只有出错的目标智能合约才能被纠错。

Description

一种基于预言机的智能合约形式化验证和纠错方法
技术领域
本发明属于区块链智能合约形式化验证技术领域,具体涉及一种基于预言机的智能合约形式化验证和纠错方法。
背景技术
1995年,密码学家尼克萨博对智能合约进行定义,认为智能合约是一种执行合约条款的可计算交易协议,是计算机执行程序。并且尼克萨博提出的智能合约理论几乎与互联网同时出现,但主要由2个方面的原因导致应用严重落后于理论:
1)智能合约如何控制实物资产保证有效地执行合约,计算机程序很难控制现实世界的现金、股份等资产;
2)计算机很难保证执行这些条款以获得合约方的信任,合约方需要可靠地解释和执行代码的计算机,无法亲自检查有问题的计算机,也无法直接观察与验证其他合约方的执行动作,只有让第三方审核各方合约执行的记录。
形式化方法应用于智能合约的整个生命周期流程,保证智能合约代码环境和执行的安全,所述流程的步骤包括合约设计、自然语言描述、形式化描述、模型验证、自动代码生成和一致性测试。形式化方法是基于数学描述系统性质的技术,即使用适当的数学分析达到提高设计的可靠性和鲁棒性的目的,用于计算机软件的规范、开发和验证等方面,而形式化验证是形式化方法很重要的一步。
形式化验证是指在形式规约的基础上,建立系统行为及其性质的关系,从而验证系统是否满足期望的关键性质,主要包括:
1)模型检测:是一种重要的自动验证(基于有限状态机的模型检测可以全自动验证)和分析技术,通过显式状态搜素或隐式不动点计算来验证有穷状态系统是否满足预期的性质,可以检测模型的不同状态。通过使用抽象技术在单个操作中考虑整个状态组,探索模型中的所有的状态和转换,并减少计算时间。
2)定理证明:是指利用数学方法在一些关键路径进行手动控制,以证明程序的正确性。其中等价验证主要是验证设计的一致性(设计是否满足需要,或程序和合约是否相同)。将系统行为和性质都用逻辑方法来刻画,基于公理和推理规则组成形式系统,证明系统是否满足要求的关键性质。目前使用定理证明器(常用的定理证明器主要有Coq,PVS,Isabelle等)进行辅助证明,实现了将手工证明变成能够在计算机上自动进行的符号演算,能够对证明过程进行正确性检查,从而提高证明的可信度。
预言机是区块链和外界的接口,是区块链技术的一个发展方向。对智能合约而言,预言机相当于智能合约的输入参数,输入参数对智能合约的输出结果有直接的影响。
目前,形式化验证方法已应用在对智能合约代码的验证。但是,基于区块链执行平台的智能合约,通常是处于去中心化和不可篡改的网络环境,智能合约分布式存储于区块链网络中并根据触发条件自动执行交易等活动,一旦部署,就无法修改,这是为了保证区块链网络上涉及交易等事件的共识协议的绝对性,但存在控制困难、修复困难以及不能根据场景灵活对智能合约进行纠错等问题,不能满足对出错的智能合约进行纠错的限制,也限制了智能合约的应用。并且,作为执行程序的智能合约,都是容易遇到存在漏洞的情况,如果遇到明显有利于某一合约方的智能合约,应该如何进行修复,如何验证智能合约的逻辑并杜绝漏洞,一直是智能合约所面临的关键问题。
发明内容
本发明基于上述背景和现有技术所存在的问题,拟设计一种基于预言机的智能合约形式化验证和纠错方法,其能够通过形式化验证方法,提高对智能合约验证的效率,以便智能合约的高效安全的执行环境。本发明还有一个目的是利用预言机实现对出错的智能合约进行纠错,本发明制定共识协议,通过另一个不可篡改的智能合约执行,确保只有出错的目标智能合约才能被纠错,实现智能合约的实时更新机制。
为了实现本发明的这些目的和其它优点,提供了一种基于预言机的智能合约形式化验证和纠错方法,具体实现步骤如下:
(1)多个参与方共同就实现事件a(这里的事件a不特指任何类型的交易或执行事件)制定电子化的智能合约A;
(2)制定共识协议,并部署其对应的智能合约B,参与方获取公钥和私钥,并共同制定一份电子化承诺,用各自私钥对智能合约进行签名,签名后的智能合约传入区块链网络中;
(3)触发智能合约A时,对制定完毕的智能合约进行形式化验证(可采用模型检测/测试);
(4)经过形式化验证后,被证明可执行的智能合约正常触发执行任务;
(5)经过形式化验证后,被发现问题(合法性、代码错误、漏洞或场景不适用等情况)的智能合约,触发所述步骤(2)的共识协议的智能合约B,对发现问题的智能合约A达成通过验证的一致性共识后,对需要纠错的问题,通过预言机进行纠错(包括修正、补充和删除)。纠错后,正常执行任务。
优选的是,其中,所述步骤(2)中制定共识协议,此共识协议亦可作为独立的一个机制,通过接口触发执行,包括触发节点、共识节点,触发节点用于触发某事件的智能合约(触发某事件的智能合约,包括智能合约签名和内容),共识节点,参与验证共识的过程包括触发节点;区块链中所有的节点可以是触发节点和共识节点。具体协议包括:
1.1准备阶段:触发节点触发事件a,并对a对应的的智能合约A进行形式化验证,发现存在问题,才触发此共识协议,准备向所有共识节点发送A是否纠错的验证请求消息;
1.2验证阶段:共识节点对A进行验证,通过验证后,将验证结果广播到全网,并通知所有节点准备接收此结果,结果包括需要或不需要对A进行纠错;
1.3回复阶段:所有节点完成接收后,回复触发节点,如果结果为需要纠错,则基于预言机对智能合约进行纠错,如果结果为不需要纠错,则正常执行任务,此时还包括可以选择终止或暂停执行任务。
进一步地,所述共识协议还包括纠错触发条件:当部署的智能合约存在合法性问题、编程错误问题以及常见漏洞时,都会触发此共识协议。一般有三类常见的漏洞,从Solidity层面来看,漏洞发生的原因往往包括溢出、拒绝服务、重入漏洞、类型混乱、未检查返回值和控制访问等,从以太坊虚拟机(EVM)的漏洞类型来看,包括变量类型限制、合约运行成本(Gas)、交易过程中以太币丢失以及调用堆栈深度都有可能导致漏洞,从区块链本身的链式结构角度来看,其对于时间戳的依赖、交易顺序出错以及随机数生成错误都有可能导致智能合约漏洞发生。
优选的是,其中,所述步骤(3)中,形式化验证通过模型检测来实现,模型检测是一种用于自动验证有限状态并发系统的技术,其算法通常对系统的状态空间进行穷尽搜索对系统进行验证。在资源充足的情况下,检测结果以是或非终止,是或非分别表示系统满足或不满足某些性质,并给出反例。具体实现步骤包括:
2.1抽象建模:把智能合约转化为被模型检测工具接受的形式,包括还需要使用抽象技术简化细节(原因是可能由于验证时间和计算机内存的限制,则需要简化不相关或不重要的细节),抽象是指从具体对象中构建其抽象模型的理论、方法、技术和工具。抽象的基本思想是通过去掉一些与验证性质无关的信息,从而使得检测可以在一个相对简单的系统上进行。一个有效的抽象满足的条件:一方面产生的抽象模型足够小,这样才能完成建立模型,另一方面所产生的模型不能太粗糙,以保证在模型中保留所需要的检测信息。
2.2刻画逻辑形式:即刻画逻辑形式性质,声明智能合约编程必须满足的性质。性质刻画通常以某种逻辑的形式(如时序逻辑,这种逻辑体系表示系统随着时间的变化)表示。一种逻辑形式刻画一个性质,通常包括时序逻辑、线性时序逻辑LTL和分支时序逻辑CTL。
2.3验证:用状态空间搜索来验证待检测的智能合约A,自动完成验证,并分析结果,当得到存在问题的结果后,给出反例。实际上,用状态空间搜索存在状态爆炸的问题,一般解决状态爆炸的方法有:符号化模型检测、偏序规约技术、高速数据传输错误纠正技术、对称技术和抽象和组合技术。
优选的是,所述步骤(5)中,通过预言机对出错的智能合约进行纠错,具体实现步骤包括:
3.1全网N个节点,通过去中心化的预言机,准备对已经达成纠错共识的问题智能合约进行纠错;
3.2区块链上的触发节点将保存完整的智能合约中存在问题的程序,组成编码块;
3.3共识节点分配预言机接口参数,此参数用于匹配相应智能合约的问题编码块;
3.4所述编码块匹配预言机接口参数,并接入预言机中,对代码进行纠错,达到一致性条件的智能合约才能执行。
进一步地,所述步骤3.4中,达到一致性的智能合约是指,只对智能合约的问题部分进行纠错,即没有问题的部分智能合约不列入问题编码块中,纠错完成后的智能合约还需要经过编译,被测系统与给定标准智能合约文本一致,确认达到一致性(没有错误)才能运行。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。本发明至少包括以下有益效果:
1.本发明对智能合约形式化验证的方法,是在智能合约部署在区块链上的情况下完成的,首次提出合约代码在链上进行检查的方法,在可以满足执行效率的前提下,确保实用环节的智能合约执行的安全,保证链上资产交易的安全;
2.通过进一步制定共识协议,确保对问题智能合约的纠错是绝对的,即确保不能随意对智能合约进行修改(目前的区块链智能合约一旦部署就无法修改,实现绝对执行过程,目的是保证链上交易的公正与合法);
3.基于预言机,实现智能合约的可纠错,基于共识协议的触发机制,只有触发共识协议并需要纠错的智能合约代码才能根据参数调用预言机接口进行纠错。
附图说明
图1为本发明基于预言机实现智能合约形式化验证的流程图;
图2为本发明的共识协议组成图;
图3为模型检测原理图;
图4为预言机的实现原理图。
具体实施方式
为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施。下面将附图结合具体实施方式对本发明的技术加以详细说明。
1.图1示出了本发明的一种实现流程图,示出了本发明基于预言机实现智能合约形式化验证的流程,其包含的具体实现步骤如下:
(1)多个参与方共同就实现事件a(这里的事件a不特指任何类型的交易或执行事件)制定电子化的智能合约A;
(2)制定共识协议,并部署其对应的智能合约B,参与方获取公钥和私钥,并共同制定一份电子化承诺,用各自私钥对智能合约进行签名,签名后的智能合约传入区块链网络中;
(3)触发智能合约A时,对制定完毕的智能合约进行形式化验证(可采用模型检测/测试);
(4)经过形式化验证后,被证明可执行的智能合约正常触发执行任务;
(5)经过形式化验证后,被发现问题(合法性、代码错误、漏洞或场景不适用等情况)的智能合约,触发所述步骤(2)的共识协议的智能合约B,对发现问题的智能合约A达成通过验证的一致性共识后,并对需要纠错的问题,通过预言机进行纠错(包括修改、补充和删除)。纠错后,正常执行任务。
2.本发明所述的制定共识协议,协议组成如图2所示。此共识协议亦可作为独立的一个机制,通过接口触发执行,包括触发节点、共识节点,触发节点用于触发某事件的智能合约(触发某事件的智能合约,包括智能合约签名和内容),共识节点,参与验证共识的过程包括触发节点;区块链中所有的节点可以是触发节点和共识节点。具体协议包括:
1.1准备阶段:触发节点触发事件a,并对a对应的智能合约A进行形式化验证,发现存在问题,才触发此共识协议,准备向所有共识节点发送A是否纠错的验证请求消息;
1.2验证阶段:共识节点对A进行验证,通过验证后,将验证结果广播到全网,并通知所有节点准备接收此结果,结果包括需要或不需要对A进行纠错;
1.3回复阶段:所有节点完成接收后,回复触发节点,如果结果为需要纠错,则基于预言机对智能合约进行纠错,如果结果为不需要纠错,则正常执行任务,此时还包括可以选择终止或暂停执行任务。
所述共识协议还包括触发条件:当部署的智能合约存在合法性问题、编程错误问题以及常见漏洞时,都会触发此共识协议。一般有三类常见的漏洞,从Solidity层面来看,漏洞发生的原因往往包括溢出、拒绝服务、重入漏洞、类型混乱、未检查返回值和控制访问等,从以太坊虚拟机(EVM)的漏洞类型来看,包括变量类型限制、合约运行成本(Gas)、交易过程中以太币丢失以及调用堆栈深度都有可能导致漏洞,从区块链本身的链式结构角度来看,其对于时间戳的依赖、交易顺序出错以及随机数生成错误都有可能导致智能合约漏洞发生。
3.图3为模型检测原理图,通过此图可进一步理解本发明所述的形式化验证方法的优点。形式化验证通过模型检测来实现,模型检测是一种用于自动验证有限状态并发系统的技术,其算法通常对系统状态空间进行穷尽搜索对系统进行验证。在资源充足的情况下,检测结果以是或非终止,是或非分别表示系统满足或不满足某些性质,并给出反例。具体实现步骤包括:
2.1抽象建模:把智能合约转化为被模型检测工具接受的形式,包括还需要使用抽象技术简化细节(原因是可能由于验证时间和计算机内存的限制,则需要简化不相关或不重要的细节),抽象是指从具体对象中构建其抽象模型的理论、方法、技术和工具。抽象的基本思想是通过去掉一些与验证性质无关的信息,从而使得检测可以在一个相对简单的系统上进行。一个有效的抽象满足的条件:一方面产生的抽象模型足够小,这样才能完成建立模型,另一方面所产生的模型不能太粗糙,以保证在模型中保留所需要的检测信息。
2.2刻画逻辑形式:即刻画逻辑形式性质,声明智能合约编程必须满足的性质。性质刻画通常以某种逻辑的形式(如时序逻辑,这种逻辑体系表示系统随着时间的变化)表示。一种逻辑形式刻画一个性质,通常包括时序逻辑、线性时序逻辑LTL和分支时序逻辑CTL。
2.3验证:用状态空间搜索来验证待检测的智能合约A,自动完成验证,并分析结果。当得到存在问题的结果后,给出反例。实际上,用状态空间搜索存在状态爆炸的问题,一般解决状态爆炸的方法有:符号化模型检测、偏序规约技术、高速数据传输错误纠正技术、对称技术和抽象和组合技术。
4.如图4所示为预言机实现原理图,通过此图理解本发明将预言机应用于形式化验证后的纠错,达到减少智能合约漏洞的问题,通过预言机对出错的智能合约进行纠错,具体实现步骤包括:
3.1全网N个节点,通过去中心化的预言机,准备对已经达成纠错共识的问题智能合约进行纠错;
3.2区块链上的触发节点将保存完整的智能合约中存在问题的程序,组成编码块;
3.3共识节点分配预言机接口参数,此参数用于匹配相应智能合约的问题编码块;
3.4所述编码块匹配预言机接口参数,并接入预言机中,对代码进行纠错,达到一致性条件的智能合约才能执行。
所述步骤3.4中,达到一致性的智能合约是指,只对智能合约的问题部分进行纠错,即没有问题的部分智能合约不列入问题编码块中,纠错完成后的智能合约还需要经过编译,确认达到一致性(没有错误)才能运行。
对本发明的基于预言机和共识协议的形式化验证方法的应用、修改和变化对本领域的技术人员来说是显而易见的。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

Claims (4)

1.一种基于预言机的智能合约形式化验证和纠错方法,其特征在于,具体实现步骤如下:
(1)多个参与方共同就实现事件制定电子化的智能合约A;
(2)制定共识协议,并部署其对应的智能合约B,参与方获取公钥和私钥,并制定一份电子化承诺,用各自私钥对智能合约进行签名,签名后的智能合约传入区块链网络中;其中,制定共识协议,此共识协议亦可作为独立的一个机制,通过接口触发执行,包括触发节点、共识节点,触发节点用于触发某事件的智能合约,共识节点,参与验证共识的过程;区块链中所有的节点可以是触发节点和共识节点,具体协议包括:
1.1准备阶段:触发节点触发某事件,并对此事件涉及的智能合约进行形式化验证,发现存在问题的智能合约,才触发此共识协议,准备向所有共识节点发送此问题智能合约是否纠错的验证请求消息;
1.2验证阶段:共识节点对此事件涉及到的智能合约进行验证,通过验证后,将验证结果广播到全网,并通知所有节点准备接收此结果,结果包括需要或不需要对此智能合约进行纠错;
1.3回复阶段:所有节点完成接收后,回复触发节点,当结果为需要纠错,则基于预言机对智能合约进行纠错,当结果为不需要纠错,则正常执行任务,此时还包括可以选择终止或暂停执行任务;
(3)触发智能合约A时,对制定完毕的智能合约A进行形式化验证;
(4)经过形式化验证后,被证明可执行的智能合约A正常执行任务;
(5)经过形式化验证后,被发现问题的智能合约A,触发所述步骤(2)的共识协议智能合约B;对发现问题的智能合约A达成通过验证的一致性共识后,对需要纠错的智能合约A的问题,通过预言机进行纠错,包括修改、补充和删除;纠错后,正常执行任务;其中,通过预言机对出错的智能合约进行纠错,具体实现步骤包括:
3.1全网N个节点,通过预言机,准备对已经达成纠错共识的问题智能合约进行纠错;
3.2区块链上的触发节点将保存完整的智能合约中存在问题的程序,组成编码块;
3.3共识节点分配预言机接口参数,此参数用于匹配相应智能合约的问题编码块;
3.4所述编码块匹配预言机接口参数,并接入预言机中,对代码进行纠错,达到一致性条件的智能合约才能执行。
2.根据权利要求1所述基于预言机的智能合约形式化验证和纠错方法,其特征在于,所述共识协议还包括纠错触发条件:当部署的智能合约存在合法性问题、编程错误问题以及常见漏洞时,都会触发此共识协议。
3.根据权利要求1所述基于预言机的智能合约形式化验证和纠错方法,其特征在于,所述步骤(3)中,形式化验证通过模型检测来实现,其算法通常对系统状态空间进行穷尽搜索对系统进行验证,在资源充足的情况下,检测结果以是或非终止,是或非分别表示系统满足或不满足某些性质,并给出反例;具体实现步骤包括:
2.1抽象建模:把智能合约转化为被模型检测工具接受的形式,包括还需要使用抽象技术简化细节;
2.2刻画逻辑形式:即刻画逻辑形式性质,声明智能合约编程必须满足的性质,一种逻辑形式刻画一个性质;
2.3验证:用状态空间搜索来验证待检测的智能合约,自动完成验证,并分析结果;当得到存在问题的结果后,给出反例。
4.根据权利要求1所述基于预言机的智能合约形式化验证和纠错方法,其特征在于,所述步骤3.4中,达到一致性的智能合约是指,只对智能合约的问题部分进行纠错,即没有问题的部分智能合约不列入问题编码块中,纠错完成后的智能合约还需要经过编译,确认达到一致性后才能运行。
CN202010057063.6A 2020-01-19 2020-01-19 一种基于预言机的智能合约形式化验证和纠错方法 Active CN111311255B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010057063.6A CN111311255B (zh) 2020-01-19 2020-01-19 一种基于预言机的智能合约形式化验证和纠错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010057063.6A CN111311255B (zh) 2020-01-19 2020-01-19 一种基于预言机的智能合约形式化验证和纠错方法

Publications (2)

Publication Number Publication Date
CN111311255A CN111311255A (zh) 2020-06-19
CN111311255B true CN111311255B (zh) 2023-07-25

Family

ID=71146840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010057063.6A Active CN111311255B (zh) 2020-01-19 2020-01-19 一种基于预言机的智能合约形式化验证和纠错方法

Country Status (1)

Country Link
CN (1) CN111311255B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112119423A (zh) * 2017-11-28 2020-12-22 耶鲁大学 形式化验证的系统和方法
CN112910985B (zh) * 2021-01-27 2022-06-03 南京中兴力维软件有限公司 基于智能合约的协议转换方法、装置、设备及存储介质
CN112866282B (zh) * 2021-02-10 2022-12-27 中国人民银行数字货币研究所 区块链中时间信息验证方法和装置
CN113011894B (zh) * 2021-03-29 2023-04-07 昆明理工大学 一种基于可信计算与智能合约的金融衍生品数字交易系统
WO2022230082A1 (ja) * 2021-04-28 2022-11-03 三菱電機株式会社 データ検証装置、データ検証方法、及び、データ検証プログラム
CN115378620A (zh) * 2021-05-20 2022-11-22 顺丰科技有限公司 智能合约管理方法、装置、计算机设备和存储介质
CN113079221B (zh) * 2021-06-04 2021-08-24 军事科学院系统工程研究院网络信息研究所 一种基于Coq的安全跨链协议生成方法
CN113449034B (zh) * 2021-06-24 2024-03-19 合肥壹物易证科技有限公司 一种基于区块链网络的智能合约数据安全管理方法、系统及存储介质
CN113592645B (zh) * 2021-07-02 2023-11-14 中国人民银行数字货币研究所 数据验证的方法和装置
CN114462094B (zh) * 2021-09-08 2023-07-14 北京天德科技有限公司 一种基于容器的多方竞合智能合约数字系统及其执行方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001338139A (ja) * 2000-05-25 2001-12-07 Sigma Seiki Kk 契約取引業務における査定情報管理システム
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN108305170A (zh) * 2018-03-07 2018-07-20 物数(上海)信息科技有限公司 基于区块链的外部服务访问方法、系统、设备及存储介质
CN108694669A (zh) * 2018-07-18 2018-10-23 矩阵元技术(深圳)有限公司 一种区块链智能合约实现方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805561B (zh) * 2017-04-27 2023-06-02 中思博安科技(北京)有限公司 可访问多个区块链的智能合约的执行方法和系统
CN108510251A (zh) * 2018-03-30 2018-09-07 上海分赋信息科技有限公司 基于外部数据构建多种触发机制以执行区块链网络中智能合约的方法及系统
CN108985936A (zh) * 2018-07-09 2018-12-11 北京中电普华信息技术有限公司 一种基于智能合约的审计方法及系统
CN109242456A (zh) * 2018-09-04 2019-01-18 湖南宸瀚信息科技有限责任公司 区块链跨链交易方法、系统及存储介质
CN109753288B (zh) * 2019-01-14 2022-02-15 杭州云象网络技术有限公司 一种适用于形式化验证的智能合约编译方法
CN110659887A (zh) * 2019-08-05 2020-01-07 孟江华 一种基于区块链的自动交易处理系统和方法
CN110570283A (zh) * 2019-09-11 2019-12-13 炫盛(上海)科技有限公司 基于区块链的购物方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001338139A (ja) * 2000-05-25 2001-12-07 Sigma Seiki Kk 契約取引業務における査定情報管理システム
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN108305170A (zh) * 2018-03-07 2018-07-20 物数(上海)信息科技有限公司 基于区块链的外部服务访问方法、系统、设备及存储介质
CN108694669A (zh) * 2018-07-18 2018-10-23 矩阵元技术(深圳)有限公司 一种区块链智能合约实现方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Digital Resource Rights Confirmation and Infringement Tracking Based on Smart Contracts;Peng Qian 等;2019 IEEE 6th International Conference on Cloud Computing and Intelligence Systems(CCIS);第62-67页 *

Also Published As

Publication number Publication date
CN111311255A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111311255B (zh) 一种基于预言机的智能合约形式化验证和纠错方法
Johnson et al. A meta language for threat modeling and attack simulations
CN110263536B (zh) 一种区块链中智能合约的监控方法及装置
EP3564884A1 (en) Method and system for verifying policy compliance of transactions in a blockchain executing smart contracts
Van Dongen et al. Structural patterns for soundness of business process models
Blanchet Automatic proof of strong secrecy for security protocols
Murray et al. Survey of formal verification methods for smart contracts on blockchain
CN109347651B (zh) 基于msvl的区块链系统建模和安全性验证的方法及系统
Kongmanee et al. Securing smart contracts in blockchain
Antignac et al. Privacy architectures: Reasoning about data minimisation and integrity
He et al. A bounded statistical approach for model checking of unbounded until properties
Thomsen et al. Formalizing nakamoto-style proof of stake
Kulik et al. A framework for threat-driven cyber security verification of iot systems
Duan et al. Formal modeling and verification of blockchain system
Jawad et al. Analyzing the impact of cyberattacks on industrial control systems using timed automata
CN114357459A (zh) 一种面向区块链系统的信息安全检测方法
Hentschel et al. Flow: Separating Consensus and Compute--Execution Verification
CN113079221B (zh) 一种基于Coq的安全跨链协议生成方法
US20240214214A1 (en) Data security management method, system and storage medium for smart contract based on block chain network
Canidio et al. VeriOSS: using the blockchain to foster bug bounty programs
Baouya et al. Formal modeling and verification of blockchain consensus protocol for iot systems
CN114666115A (zh) 一体化风险攻击树生成方法、装置、电子设备及存储介质
Seehusen A technique for risk-based test procedure identification, prioritization and selection
Betarte et al. Set-based models for cryptocurrency software
CN111770111A (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
GR01 Patent grant
GR01 Patent grant