【技术实现步骤摘要】
模型驱动的智能合约交易和监管性质运行验证方法和装置
[0001]本专利技术涉及智能合约
,尤其涉及一种模型驱动的智能合约交易和监管性质运行验证方法和装置。
技术介绍
[0002]区块链上的智能合约承载了巨大的价值和交易量,但同时,由智能合约引发的区块链安全问题也十分突出。用于现代服务交易的智能合约需要保证交易完备性,并支持监管。交易完备性体现在三个方面:(1)不论系统如何执行,最后的结果必须保证交易正确且一致,不会因为得出交易结果的次序不同而出现不同的结果;(2)保证交易记录的不可篡改性;(3)保证合理的用户权限管理。其中,交易的不可篡改性通过加密等方法保证,用户权限由区块链管理方法保障,交易正确性和一致性可以在合约运行前采用形式化验证方法进行检查,如验证交易合约中时序性质、状态可达性、交易终结性是否与合约预期的行为一致。但是,合约运行前验证只能发现软件设计问题。智能合约运行过程中面临众多不确定性,如区块链运行环境的物理设备故障、人为干预交易进行不正当洗钱、外部攻击等。这些不确定性对交易完备性和监管性质造成影响。如何在 ...
【技术保护点】
【技术特征摘要】
1.模型驱动的智能合约交易和监管性质运行验证方法,其特征在于,包括以下步骤:基于智能合约的合同文本构建智能合约模型,在所述智能合约模型的关键任务中添加监管标签;所述关键任务为与待验证的交易和监管性质相关的任务;基于带标签的智能合约模型,生成智能合约代码;将所述监管标签转换为智能合约代码中的事件桩;所述事件桩用于在智能合约代码运行过程中发送事件消息;采用性质描述语言描述所述交易和监管性质,生成对应的性质监控器;监听所述智能合约代码运行过程中所述事件桩发送的事件消息,基于所述事件消息和所述性质监控器验证所述智能合约的运行是否满足所述交易和监管性质。2.根据权利要求1所述的模型驱动的智能合约交易和监管性质运行验证方法,其特征在于,所述基于带标签的智能合约模型,生成智能合约代码,包括:获取预先配置好的智能合约代码模板,解析所述智能合约模型,从所述智能合约模型中提取所述智能合约代码模板中的变量对应的值,基于所述智能合约代码模板和所述智能合约代码模板中的变量对应的值生成智能合约代码;查找所述关键任务在生成的智能合约代码中对应的函数,在所述关键任务对应的函数中插入事件桩。3.根据权利要求1所述的模型驱动的智能合约交易和监管性质运行验证方法,其特征在于,采用性质描述语言描述所述交易和监管性质,生成对应的性质监控器,包括:采用线性时序逻辑表达式描述所述交易和监管性质;将所述线性时序逻辑表达式转换为buchi自动机;解析所述buchi自动机的文本文件得到自动机的所有状态节点和转移条件,基于所述状态节点和转移条件,生成性质监控器。4.根据权利要求3所述的模型驱动的智能合约交易和监管性质运行验证方法,其特征在于,基于所述状态节点和转移条件,生成性质监控器,包括:针对每个状态节点,获取其能转移到的所有下一状态节点及对应的转移条件;解析所述转移条件,将所述转移条件中的每个标签转换为带值字符串表示,采用桶结构存储所述带值字符串及所述带值字符串间的运算关系,构成转移条件结构体;将所述下一状态节点和对应的转移条件结构体组成键值对,所有下一状态节点和对应的转移条件结构体组成的键值对列表构成当前状态节点结构体;所有状态节点结构体的集合构成所述性质监控器。5.根据权利要求3所述的模型驱动的智能合约交易和监管性质运行验证方法,其特征在于,基于所述事件消息和所述性质监控器验证所述智能合约的运行是否满足所述交易和监管性质,包括,将所述事件消息解析为带值字符串,根据所述带值字符串判断所述事件消息相关的性质监控器是否能够跳转到下一状态节点,若否,则验证所述智能合约的运行不满足所述性质监控器对应的交易和监管性质。6.模型驱动的智能合约交易和监管性质运行验证装置,其特征在于,包括以下模块:智能合约...
【专利技术属性】
技术研发人员:葛宁,王金,周雅静,韩禹,蔡维德,张莉,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。