一种基于事件库的智能合约处理机制的制作方法

文档序号:23471406发布日期:2020-12-29 13:16阅读:71来源:国知局
一种基于事件库的智能合约处理机制的制作方法

本发明属于区块链技术及智能合约技术领域,特别涉及基于事件库的智能合约处理设计。



背景技术:

智能合约是以一套数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。或者可以说,智能合约指的是满足一定条件会触发一段程序的自动执行。随着区块链技术的诞生,智能合约拥有了可信的代码执行环境,从而逐渐发展起来。

智能合约的触发执行一般由应用程序通过编程实现。对于每一个智能合约,应用需要了解合约的具体细节,每个触发场景需对应到应用的具体业务场景中。例如,积分管理的智能合约,当遇到消费积分导致积分减少的场景时,需要在消费积分的逻辑处理模块中调用指定的智能合约积分减少方法,如果系统增加一个新的智能合约用于执行计算,原有的代码则无法正常的触发新合约的使用,必须在系统的相应模块中增加计算合约的调用才能完成整个系统的逻辑。因此,每开发一个新的合约,都需要开发对应的合约触发或调用代码。现有的智能合约平台均不负责合约的触发与调用,仅提供合约执行接口供相关应用进行使用。

因此本发明提出一种基于事件库的智能合约处理机制,使得智能合约平台可以对智能合约的触发与调用进行通用的处理,降低智能合约的开发和使用成本。



技术实现要素:

本发明提出一种基于事件库的智能合约处理机制,解决了现有智能合约平台中每增加一个合约需额外开发合约调用、触发功能的问题,使合约的使用更加灵活。本发明提出的机制可以提高智能合约平台的功能性和灵活度,减少开发新智能合约及其应用的人工成本,并使合约更加标准化,易于使用。

本发明所指事件为可能导致智能合约数据变更、状态变更或触发智能合约方法执行的事情。

本发明提出的事件库具有以下特征:

(1)事件库里包含多个预定义的事件,这些事件可对智能合约造成影响;

(2)事件库中的事件按照多层分级进行组织;

(3)事件库顶层分级按照影响智能合约不同方面分为导致智能合约数据变更、导致智能合约状态变更、触发智能合约执行三类;

(4)事件库除顶层分级外,下面可设置一级或多级分类,每个事件在某一级只能对应其中一个分类,同时,如果某个事件在第n级中对应了分类a,则该事件在第n+1级中只可对应分类a下属的n+1级子分类中的一个;

(5)事件库中的事件可进行增减,或分级修改,但必须保证对应的智能合约得到妥善处理。

本发明提出的基于事件库的智能合约处理机制流程如下:

(1)预定义事件并维护智能合约平台事件库;

(2)新增智能合约时在平台中进行注册,并在事件库中选择会影响智能合约的事件进行登记;

(3)当外界发生某一事件时,该事件转化为形式化、标准化语言进行表示;

(4)事件经由应用或预言机输入智能合约平台;

(5)平台分析该事件是否为事件库中的预定义事件,如果是预定义事件,通过其附加属性和在事件库中登记的关联信息获取到受影响的智能合约或智能合约集合;

(6)平台触发受影响的智能合约进行相应操作;

(7)平台对事件及触发的智能合约操作记录审计信息并上链。

进一步地,对于所述步骤(2)智能合约可以关联某一个或多个特定的事件进行登记,也可选择事件库的某一层级中的一个分类进行登记,表示该分类下每个具体事件都会对该智能合约造成影响。

进一步地,对于所述步骤(2),登记时除了表明智能合约受该事件影响外,还需登记对应的具体操作,导致智能合约数据变更的需记录具体数据在合约代码中的参数名,导致智能合约状态变更的记录应变化为的状态,触发智能合约执行的记录合约代码中具体的方法名。

进一步地,对于所述步骤(5)中对如何查找受影响的智能合约或集合,首先通过事件输入的附加属性定位影响的智能合约或智能合约的某个实例化对象,如果没有能够定位智能合约的附加属性,则通过事件在事件库中登记的智能合约关联信息及所属分级,获取到受影响的智能合约(或集合)或智能合约实例化对象(或集合);

进一步地,对于所述步骤(6)中进行的相应操作,根据该事件的顶层分级进行处理,导致智能合约数据变更的进行智能合约数据更新处理,导致智能合约状态变更的进行智能合约状态变更处理,触发智能合约执行的进行合约执行处理。

进一步地,当事件附带额外数据或额外附件时,与智能合约有关的需作为独立的影响智能合约数据的事件进行单独处理,与智能合约无关的需作为附加数据上链存储,并在原事件的审计信息中进行标识。

进一步地,事件库中的事件与智能合约形成多对多的关系。

本发明提出一种基于事件库的智能合约处理机制,使外界事件输入开放平台后进行标准化处理,根据提前登记的智能合约与关联事件的关系可自动触发关联的智能合约进行相应操作,减少了新合约产生时的开发成本,。

附图说明

图1为本发明提出的事件库与智能合约关系示意图;

图2为本发明提出的一种基于事件库的智能合约处理机制流程示意图。

具体实施案例

在以下的叙述中,为了使读者更好的理解

本技术:
而提出了许多技术细节,但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也是本申请各权利要求所要求保护的技术方案。

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的实施方式作进一步地详细描述。

智能合约平台事件库中维护大量事件,其中与存款有关的触发合约执行的事件包含利息调整、提前取出、到期后取出等。实现了定期存款逻辑的智能合约a在智能合约平台中进行注册,并登记与事件“利息调整”、“提前取出”等相关联。该智能合约a在实例化过程中会生成多个合约对象,可理解为“用户甲的存款智能合约a”、“用户乙的存款智能合约a”。

当外界出现全局范围内的“利息调整”事件时,该事件输入到智能合约平台中,系统根据登记的合约与事件关系查找到受影响的智能合约a及其他关联智能合约,由于该事件为全局事件,未进行附加标识,因此智能合约a的所有实例化合约对象均需被进行处理,均要触发“利息调整”对应的合约方法进行执行。

当外界出现用户乙发起的“提前取出”事件时,该事件的附加属性需标明智能合约a及用户乙信息,智能合约平台可直接定位到智能合约a的用户乙实例,进行触发执行操作。

以上为本发明的一个具体实施方式,应当指出,对于本技术领域的开发人员来说,在不脱离本发明原理的前提下,可以做适当调整和修改,但仍应视为本发明的保护范围。



技术特征:

1.一种基于事件库的智能合约处理机制,其特征为,事件库具有以下特征:

(1)事件库里包含多个预定义的事件,这些事件可对智能合约造成影响;

(2)事件库中的事件按照多层分级进行组织;

(3)事件库顶层分级按照影响智能合约不同方面分为导致智能合约数据变更、导致智能合约状态变更、触发智能合约执行三类;

(4)事件库除顶层分级外,下面可设置一级或多级分类,每个事件在某一级只能对应其中一个分类,同时,如果某个事件在第n级中对应了分类a,则该事件在第n+1级中只可对应分类a下属的n+1级子分类中的一个;

(5)事件库中的事件可进行增减,或分级修改,但必须保证对应的智能合约得到妥善处理。

2.根据权利要求书1所述一种基于事件库的智能合约处理机制,其特征为,机制处理流程如下:

(1)预定义事件并维护智能合约平台事件库;

(2)新增智能合约时需要在系统中进行注册,并在事件库中选择会影响智能合约的事件进行登记,智能合约可以关联某一个或多个特定的事件进行登记,也可选择事件库的某一层级中的一个分类进行登记,表示该分类下每个具体事件都会对该智能合约造成影响;

(3)当外界发生某一事件时,该事件使用形式化、标准化语言进行表示;

(4)事件经由应用或预言机输入智能合约平台;

(5)平台分析该事件是否为事件库中的预定义事件,如果是预定义事件,通过其附加属性和在事件库中登记的关联信息获取到受影响的智能合约或智能合约集合;

(6)平台触发受影响的智能合约进行相应操作,导致智能合约数据变更的进行智能合约数据更新处理,导致智能合约状态变更的进行智能合约状态变更处理,触发智能合约执行的进行合约执行处理;

(7)平台对事件及触发的智能合约操作记录审计信息并上链。

3.根据权利要求书2所述一种基于事件库的智能合约处理机制,其特征为,当事件附带额外数据或额外附件时,与智能合约有关的需作为独立的影响智能合约数据的事件进行单独处理,与智能合约无关的需作为附加数据上链存储,并在原事件的审计信息中进行标识。


技术总结
本发明提出一种基于事件库的智能合约处理机制,使得智能合约平台可以对智能合约的触发与调用进行通用的处理,降低智能合约的开发和使用成本。流程如下:(1)预定义事件并维护智能合约平台事件库;(2)新增智能合约时在平台中进行注册,并在事件库中选择会影响智能合约的事件进行登记;(3)当外界发生某一事件时,该事件使用形式化、标准化语言进行表示;(4)事件经由应用或预言机输入智能合约平台;(5)平台分析该事件是否为事件库中的预定义事件,如果是预定义事件,找到受影响的智能合约或智能合约集合;(6)平台触发受影响的智能合约进行相应操作;(7)平台对事件及触发的智能合约操作记录审计信息并上链。

技术研发人员:蔡维德
受保护的技术使用者:北京天德科技有限公司;天民(青岛)国际沙盒研究院有限公司
技术研发日:2020.05.07
技术公布日:2020.12.29
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1