[发明专利]一种基于区块链的智能合约状态监测系统及监测方法有效
申请号: | 201811393275.0 | 申请日: | 2018-11-21 |
公开(公告)号: | CN109493226B | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 丁毅;靳军;周丽;李洁;唐恒亮 | 申请(专利权)人: | 北京物资学院 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 北京华仲龙腾专利代理事务所(普通合伙) 11548 | 代理人: | 李静 |
地址: | 101100 北京市通州*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约状态 监测器 监测 接收器 动态事件 监测模块 监测系统 虚拟机 插桩 区块 格式化 代码动态 动态代码 监测属性 接收监测 事件封装 属性验证 所得信息 通信循环 消息传递 隔离性 侵入的 侵入性 内置 植入 独立性 发送 反馈 分析 保证 | ||
本发明提供了一种基于区块链的智能合约状态监测系统,包括:合约虚拟机,用于运行智能合约代码,保证智能合约的独立性和隔离性,内置多个监测模块,用于接收合约监测器发送的信息,并在监测点将其对应的监测属性或事件封装成格式化的消息传递给动态事件接收器;合约监测器,包括两个模块:动态事件接收器,负责接收监测智能合约状态所得信息;属性验证器,负责对智能合约状态展开分析,将分析结果向合约虚拟机进行反馈,完成一个合约监测通信循环。还公开了相应的监测方法,动态代码插桩是非侵入性的,可以在内存中将监测模块无侵入的植入合约代码中,实现代码动态插桩。在获得更丰富的状态信息的同时不影响智能合约代码的内容。
技术领域
本发明涉及一种信息技术的监测领域,特别是涉及一种基于区块链的智能合约状态监测系统及监测方法。
背景技术
早在1997年,智能合约的概念就被Nick Szabo提出,发表于“Formalizing andSecuring Relationships on Public Networks”以及“A Formal Language forAnalyzing Contracts”两篇论文中,相对于传统纸质合约,智能合约具有信息化的优势,通过新兴的互联网和相关信息安全技术来加强其适用范围。
智能合约虽然很早就被提出,但实践却一直落后于理论,主要原因是缺乏有效机制来保证满足合约的可观察性、可验证性与自强制性。在区块链技术出现之前,合约方无法直接观察与验证其他合约方的执行动作,只能通过第三方审核各方合约执行的记录,导致合约执行效率低下,并且成本较高。区块链可追踪、不可篡改、安全、可靠以及分布式的特征,可有效满足Nick Szabo对智能合约的基本要求。因此,区块链和智能合约结成天然的联盟,互相配合,发挥重要作用。
由于智能合约通常需要多方交互,涉及多方利益,一旦上链很难更改,因此智能合约对正确性的要求很高,同时智能合约的执行效率也是系统有效运行的前提条件。这些都是基于区块链的智能合约高效运行的必要因素。
目前,为了保证智能合约执行的正确性,通常的做法是:1)合约代码在运行前可正确编译,并可进行用例调试,或是通过更加可靠的形式化方法进行验证;2)合约在运行时出现错误,则需将合约运行立即中断,合约所更改的数据状态进行回滚,系统将运行合约代码与区块链上所保存的合约代码进行对比验证,防止合约被恶意篡改。
然而,当前智能合约正确性的保障方法存在错误修复和性能提升上的不足。无法实时感知合约运行的状态,在合约出现错误时,所提供的错误日志有限,使合约修复复杂化,并且合约只注重正确性而忽视了合约的运行性能,无法得到合约在执行各个阶段的代码运行时间,使得合约性能提升困难化。因此需要进行运行时验证,是一种首先监测系统的运行情况,然后对系统是否符合给定的属性或规范进行判定的验证技术。
发明内容
为了解决这些问题,本发明提出了一种基于区块链的智能合约状态监测系统,包括:
合约虚拟机,用于运行智能合约代码,所述合约虚拟机保证合约的独立性和隔离性,所述合约虚拟机内置多个监测模块,用于接收合约监测器发送的信息,并在监测点将其对应的监测属性或事件封装成格式化的消息传递给动态事件接收器;
合约监测器,所述合约监测器包括两个模块:一个是动态事件接收器,负责接收监测智能合约状态所得信息;一个是属性验证器,负责对智能合约状态展开分析,将分析结果向所述合约虚拟机进行反馈,完成一个合约监测通信循环。
优选的,合约监测器还包括策略器,所述属性验证器将监测属性分析结果发送给策略器,所述策略器根据接收的所述合约监测器的属性监测分析结果动态对合约代码进行插桩点的调整,所述合约虚拟机与所述合约监测器相互通信,在无外界干预的情况下,动态监测智能合约运行状态是否正确,实现对于所述智能合约的智能监测。
本发明的目的还在于提供一种基于区块链的智能合约状态监测方法,包括步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京物资学院,未经北京物资学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811393275.0/2.html,转载请声明来源钻瓜专利网。