首页 / 专利库 / 银行与财务事项 / 智能合约 / 一种智能合约的自动化生成方法

一种智能合约的自动化生成方法

阅读:155发布:2022-01-02

专利汇可以提供一种智能合约的自动化生成方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 智能合约 的自动化生成方法,其针对同一个行业或相似的行业内使用的智能合约比较相似,其中也就存在某些固定的特征,根据代码复用的思想,把这些固定特征 抽取 出来,编写出数据结构和相应的代码 片段 ,将这些代码片段保存到代码 数据库 中。本发明智能合约自动化生成方法利用智能合约模板能够大大节省人 力 物力以及时间成本,且方法可应用于一切具有相似性的智能合约,如交易历史合约、股票合约、资产合约等。,下面是一种智能合约的自动化生成方法专利的具体信息内容。

1.一种智能合约的自动化生成方法,其特征在于:
首先,根据已有的智能合约通过新增智能合约模板组建模板库,并保持对该模板库进行更新;所述智能合约模板包含功能描述、属性代码以及方法代码;
然后,根据所需智能合约的相关属性代码查找模板库,得到相应的智能合约模板并根据该模板自动生成所需的智能合约。
2.根据权利要求1所述的自动化生成方法,其特征在于:所述新增智能合约模板的具体过程为:对于已有的任一智能合约,先将其分解为属性代码和方法代码;然后新建一空的智能合约模板,并将分解得到的属性代码和方法代码直接赋予该智能合约模板并添加相应功能描述,进而将该智能合约模板保存到模板库中。
3.根据权利要求1所述的自动化生成方法,其特征在于:所述对模板库进行更新的具体过程为:对于新的智能合约,先将其分解为属性代码和方法代码,进而将新智能合约与模板库中各智能合约模板进行比对:
若模板库中有一智能合约模板,其与新智能合约相比较属性代码一致但方法代码不一致,则将该智能合约模板的方法代码全部替换为新智能合约的方法代码;
若模板库中有一智能合约模板,其与新智能合约相比较属性代码不完全一致,即不具有新智能合约的个别属性代码,则将该个别属性代码及其相关方法代码添加至该智能合约模板中,并更新相应的功能描述。
4.根据权利要求1所述的自动化生成方法,其特征在于:所述查找模板库及生成智能合约的具体实现过程为:首先,根据所需智能合约的相关属性代码查找模板库:
若模板库中有一智能合约模板,其具有所需智能合约的所有属性代码,则从该智能合约模板中选中相关属性代码及相关方法代码,自动生成所需的智能合约;
若模板库中有一智能合约模板,其具有所需智能合约大部分的属性代码,只缺少个别属性代码,则从该智能合约模板中选中相关属性代码及相关方法代码,自动生成相应的智能合约,进而将缺少的个别属性代码及相关方法代码补充至该智能合约中,最终得到所需的智能合约并利用其对该智能合约模板进行更新;
若模板库中不存在相关的智能合约模板,则根据所需智能合约的相关属性代码和方法代码编写相应的智能合约,并利用编写得到的智能合约新增相应的智能合约模板保存到模板库中。

说明书全文

一种智能合约的自动化生成方法

技术领域

[0001] 本发明属于智能合约技术领域,具体涉及一种智能合约的自动化生成方法。

背景技术

[0002] 合约指两方面或几方面在办理某事时,为了确定各自的权利和义务而订立的共同遵守的条文。传统的合约都是先经过“桌面会议”讨论得到一致后,记录在纸张上。经过了这么多年的发展,“合约”已经形成了自身的概念与原则。
[0003] 在传统合约中,人们先通过面谈的形式制定合约并达成一致,把合约记录在纸张上,合约双方在纸上签字;合约的执行过程由很多的控制协议构成,控制协议包括两个部分:表格、账单等记录的保存,还有记录的审核与协商,记录的审核与协商往往需要第三方参与,容易造成合约方之间的地位不平等;合约的执行效能只能通过法律、武来保证。这些控制协议都是经过多年的沉淀积累下来的。虽然控制协议的成本很高,但它是我们在不信任的环境中保持协作的根本保证。合约的执行过程中,记录的审核不仅花费很高,而且依靠低效率的人工完成,所以人们往往通过抽样审核来缩减成本的。
[0004] 我们已经进入了数字社会的时代,应该通过计算机、互联网、密码理论等技术的引入,来减少了交易在合约制定、控制协议和执行效能保障的人工花费与计算成本。1997年,Nick Szabo引入“智能合约”的概念:智能合约把合约条款嵌入到软、硬件中,通过协议与用户接口来促进合约的执行,它是我们在互联网中形成安全、数字化关系的关键。他在“Formalizing and Securing Relationships on Public Networks”中提出了智能合约的三大重要的性质:可观察性、可验证性与接入控制。可观察性指合约本身与合约执行过程能够被观察;可验证性指合约执行的过程与判决都能够被验证;接入控制是指合约本身及与合约相关的信息只有相关的合约方才能够接触,当发生冲突的时候才会把相关信息暴露给第三方审查。
[0005] 通过把智能合约与传统合约比较,可以看到智能合约的优势:首先,传统合约需要通过“桌面协议”的形式协商与撰写,智能合约可以通过互联网与数字签名技术就可以形成有合约方认证签名的智能合约;与此同时,传统合约的执行过程由很多的控制协议构成,控制协议包括两个部分:表格、账单等记录的保存,还有记录的审核与协商,记录的审核与协商往往需要第三方参与,这样不仅容易造成合约方之间的地位不平等,而且需要花费第三方的费用,智能合约通过密码协议与用户界面的结合保证合约的本身及其执行过程的可观察性、可验证性,减少了控制协议的人工花费与计算成本。
[0006] 因此,智能合约不仅比传统“纸质”合约具有更大功能、生命力更强,它还减少了交易在合约制定、控制协议和执行效能保障的人工花费与计算成本。同时,它还是形成“数字社会”主力军,起着不可缺少的重要作用。由此看来,智能合约的发展潜力是巨大的。
[0007] 由于技术的不成熟,所以智能合约的发展一直十分缓慢,直到2013年,Ethereum提出了带有内置图灵完备编程语言的链,智能合约能够在区块链上实现,使得智能合约的研究又进入了一个新的阶段。区块链是一个可验证的、不可更改的复制型分布式数据库。区块链有两个重要的组成部分:交易和区块。其中,交易不仅记录了改变数据库状态的操作,还是对数据库使用权限的载体;区块是对交易验证时间与顺序的记录。区块链记录了所有的交易,保证区块链的可验证性。交易、区块的正确性主要在于系统对标准的制定,交易的有效性判断标准在于实际的需要;由于区块链是复制型数据库,所以区块的有效性判断决定了区块链的不可更改性与一致性、系统的安全性。同时,带有内置图灵完备编程语言的区块链可以自动执行保存在区块链中的规则,所以智能合约能够用区块链实现。
[0008] 随着区块链技术的发展,区块链之上的智能合约也越来越多,也必然存在了大量相似甚至重复的智能合约,若每次都需要重新编写,需要一定的人力与时间成本。

发明内容

[0009] 为了节省人力物力以及时间成本,本发明提供了一种智能合约的自动化生成方法,其针对同一个行业或相似的行业内使用的智能合约比较相似,其中也就存在某些固定的特征,根据代码复用的思想,把这些固定特征抽取出来,编写出数据结构和相应的代码片段,将这些代码片段保存到代码数据库中。本发明使用智能合约自动化生成系统生成合约时,选择需要的智能合约模板以及属性和方法就可以自动化生成合约。
[0010] 一种智能合约的自动化生成方法,包括如下步骤:
[0011] 首先,根据已有的智能合约通过新增智能合约模板组建模板库,并保持对该模板库进行更新;所述智能合约模板包含功能描述、属性代码以及方法代码;
[0012] 然后,根据所需智能合约的相关属性代码查找模板库,得到相应的智能合约模板并根据该模板自动生成所需的智能合约。
[0013] 所述新增智能合约模板的具体过程为:对于已有的任一智能合约,先将其分解为属性代码和方法代码;然后新建一空的智能合约模板,并将分解得到的属性代码和方法代码直接赋予该智能合约模板并添加相应功能描述,进而将该智能合约模板保存到模板库中。
[0014] 所述对模板库进行更新的具体过程为:对于新的智能合约,先将其分解为属性代码和方法代码,进而将新智能合约与模板库中各智能合约模板进行比对:
[0015] 若模板库中有一智能合约模板,其与新智能合约相比较属性代码一致但方法代码不一致,则将该智能合约模板的方法代码全部替换为新智能合约的方法代码;
[0016] 若模板库中有一智能合约模板,其与新智能合约相比较属性代码不完全一致,即不具有新智能合约的个别属性代码,则将该个别属性代码及其相关方法代码添加至该智能合约模板中,并更新相应的功能描述。
[0017] 所述查找模板库及生成智能合约的具体实现过程为:首先,根据所需智能合约的相关属性代码查找模板库:
[0018] 若模板库中有一智能合约模板,其具有所需智能合约的所有属性代码,则从该智能合约模板中选中相关属性代码及相关方法代码,自动生成所需的智能合约;
[0019] 若模板库中有一智能合约模板,其具有所需智能合约大部分的属性代码,只缺少个别属性代码,则从该智能合约模板中选中相关属性代码及相关方法代码,自动生成相应的智能合约,进而将缺少的个别属性代码及相关方法代码补充至该智能合约中,最终得到所需的智能合约并利用其对该智能合约模板进行更新;
[0020] 若模板库中不存在相关的智能合约模板,则根据所需智能合约的相关属性代码和方法代码编写相应的智能合约,并利用编写得到的智能合约新增相应的智能合约模板保存到模板库中。
[0021] 基于上述技术方案,本发明智能合约自动化生成方法利用智能合约模板能够大大节省人力物力以及时间成本,且方法可应用于一切具有相似性的智能合约,如交易历史合约、股票合约、资产合约等。附图说明
[0022] 图1为本发明智能合约模板的更新流程示意图。
[0023] 图2为本发明智能合约自动化生成的流程示意图。

具体实施方式

[0024] 为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
[0025] 本实施方式使用智能合约自动化生成系统用于生成智能合约,生成合约时,选择需要的智能合约模板以及属性和方法就可以自动化生成合约;智能合约模板包含功能描述以及属性代码和方法代码。
[0026] 本实施方式所使用的智能合约自动化生成系统具有以下功能:
[0027] 1.增加新的智能合约模板:根据智能合约,增加新的智能合约模板;增加方法为:将智能合约分解为属性代码和方法代码,然后组合成智能合约模板,添加功能描述,最后保存到数据库中。
[0028] 2.更新已存在的智能合约模板:根据智能合约,更新已存在的智能合约模板;更新方法为:将智能合约分解为属性代码和方法代码,与智能合约模板中的属性代码和方法代码对比,如果相关属性代码已存在于智能合约模板中,但是相关方法代码不同,则更新方法代码至模板中;如果有个别属性代码不存在于智能合约模板中,则将该属性代码及其相关方法代码添加到智能合约模板中,更新功能描述,最后保存到数据库中。
[0029] 3.删除已存在智能合约模板:从数据库删除已经存在的智能合约模板。
[0030] 4.智能合约模板的展示:展示智能合约模板的功能描述,以及属性和方法名称,提供复选框可以选择属性和方法,但不直接展示相应的代码片。
[0031] 5.自动化生成智能合约:根据选择的智能合约模板,以及在复选框中选择的属性和方法名称,从数据库中取出代码片,然后自动化组合生成智能合约,返回给用户。
[0032] 用户可以通过Web或其他方式使用上述智能合约自动化生成系统。在多个领域都有Customer这个对象,因此以下我们将以自动化生成Customer智能合约为例详细介绍该智能合约自动化生成系统的模板更新及合约生成过程:
[0033] (1)初始时,智能合约自动化生成系统是没有模板的。公司X首先需要Customer智能合约,需要为Customer编写智能合约。为Customer编写的智能合约具有以下属性代码:CustID、CustName、CustAddress;方法代码有:getCust ID()、getCustName()、getCustAddress()、updateCustID(_CustID)、updateCust Name(_CustName)、updateCustAddress(_CustAddress)。
[0034] (2)利用编写好的Customer智能合约更新系统已经存有的智能合约模板,但因为Customer并不是从模板自动生成的,所以使用的智能合约模板B设置为空。
[0035] (3)调用子程序更新智能合约模板,输入参数为智能合约A和智能合约模板B,其过程如图1所示。当智能合约模板B为空时,生成空白的智能合约模板B;否则,跳过。分解智能合约A中的属性代码和方法代码,使用这些属性代码和方法代码更新智能合约模板B,更新方法为:将从智能合约A分解得到的属性代码和方法代码与智能合约模板B中的属性代码和方法代码进行对比,如果属性代码一致,而方法代码不一致,则将智能合约模板B中的方法代码替换为智能合约A的方法代码;如果智能合约模板B中不存在智能合约A的个别属性代码,则增加该属性代码和相应方法代码至智能合约模板B中。
[0036] (4)公司Y需要Customer智能合约,相关属性代码有CustID、CustName、CustAddress、CustTel,需要这些属性代码相关的方法代码。如图2所示通过检索,发现系统中已经存在了Customer合约模板B。那么,公司Y只需要根据模板B,选择属性代码CustID、CustName、CustAddress,然后选择getCustID()、getCustName()、getCustAddress()、updateCustID(_CustID)、updateCustName(_CustName)、updateCustAddress(_CustAddress)等方法代码。然后,系统会自动化生成智能合约C,但智能合约C中缺少属性代码CustTel和相应方法代码,需要增加属性代码CustTel以及方法代码getCustTel()、updateCustTel(_CustTel)至智能合约C中,得到智能合约D。由于新的智能合约D系统中不存在有对应的智能合约模板,所以需要更新系统中的智能合约模板B,转到步骤(3)更新智能合约模板,其中输入参数为智能合约D和智能合约模板B。
[0037] 步骤(1)到(3)中还未涉及到自动化生成智能合约,涉及了增加及更新智能合约模板;步骤(4)利用已存在智能合约模板,自动化生成了智能合约,然后更新了智能合约模板。
[0038] 上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈