首页 / 专利库 / 银行与财务事项 / 智能合约 / 一种基于区块链的智能合约的实现方法

一种基于链的智能合约的实现方法

阅读:6发布:2022-01-31

专利汇可以提供一种基于链的智能合约的实现方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种 智能合约 的实现方法,包括步骤:建立智能合约,其中,合约C为三元组:C=(I,M*,{M1,M2,…,Mm}),包括:合约方信息I,Ii表示第i个合约方Pi的信息,i=1…m,共有m个合约方参与合约;合约状态机M*与合约执行状态机集合{M1,M2,…,Mm};输入各个合约方的状态及事件,并存储在安全度高的 数据库 中;执行智能合约,获取合约的执行结果。并且还提供了一种基于 区 块 链 的智能合约系统,包括: 用户界面 、智能合约装置及区块链管理模块。,下面是一种基于链的智能合约的实现方法专利的具体信息内容。

1.一种智能合约的实现方法,其特征在于,包括步骤:
建立智能合约,其中,合约C为三元组:C=(I,M*,{M1,M2,…,Mm}),包括:合约方信息I,Ii表示第i个合约方Pi的信息,i=1…m,共有m个合约方参与合约;合约状态机M*与合约执行状态机集合{M1,M2,…,Mm};把合约C存放入安全度高的数据库中;
输入各个合约方的状态及事件,并把所述状态及事件作为证据记录在安全度高的数据库中;
根据建立好的合约C与各个合约方输入的事件来执行智能合约,获取合约的执行结果。
*
2.根据权利要求1所述的一种智能合约的实现方法,其特征在于,合约状态机M为五元组(Q,Σ,δ*,s*,F*),Q={(q1*,q2*,…,qm*,L)},Q是合约状态机所有状态的集合;L是合约订立参数,qi*被包含于第i个合约方的状态集qIi,qi*∈qIi,i=1…m,Σ是输入事件的集合;δ*是转换函数的集合δ*:Q×Σ→Q;s*是初始状态值s*∈Q,F*是终止状态的集合合约执行状态机Mi表示第i个合约方Pi的执行状态机,为五元组(qIi,Σ,δi,si,Fi),qIi是合约方Pi的执行状态集合,i=1…m;Σ是输入事件的集合;δi是转换函数的集合δ i:qIi×Σ→qIi;si是初始状态值si∈qIi,Fi终止状态的集合
3.根据权利要求2所述的一种智能合约的实现方法,其特征在于,将合约C及合约状态机、合约执行状态机、合约执行过程保存在安全度高的数据库中。
4.根据权利要求3所述的一种智能合约的实现方法,其特征在于,当合约的执行出现纠纷,将该数据库中保存的与合约相关的数据发送给第三方检验。
5.根据权利要求2所述的一种智能合约的实现方法,其特征在于,各个合约方Pi对其输入进行数字签名。
6.一种基于链的智能合约系统,其特征在于,包括:用户界面、智能合约装置,其中,
用户通过用户界面在智能合约装置上建立智能合约,合约C为三元组:C=(I,M*,{M1,M2,…,Mm}),包括:合约方信息I,Ii表示第i个合约方Pi的信息,i=1…m,共有m个合约方参与合约;合约状态机M*与合约执行状态机集合{M1,M2,…,Mm};把合约C存放入区块链数据库中;
用户通过用户界面在智能合约装置输入各个合约方的状态及事件,所述状态及事件作为证据记录在区块链数据库中;
智能合约装置根据建立好的合约C与各个合约方输入的事件来执行合约,获取合约的执行结果。
7.根据权利要求6所述的一种智能合约系统,其特征在于,合约状态机M*为五元组(Q,Σ,δ*,s*,F*),Q={(q1*,q2*,…,qm*,L)},Q是合约状态机所有状态的集合;L是合约订立参数,qi*被包含于第i个合约方的状态集qIi,qi*∈qIi,i=1…m,Σ是输入事件的集合;δ*是转换函数的集合δ*:Q×Σ→Q;s*是初始状态值s*∈Q,F*是终止状态的集合
合约执行状态机Mi表示第i个合约方Pi的执行状态机,为五元组(qIi,Σ,δi,si,Fi),qIi是合约方Pi的执行状态集合,i=1…m;Σ是输入事件的集合;δi是转换函数的集合δ i:qIi×Σ→qIi;si是初始状态值si∈qIi,Fi终止状态的集合
8.根据权利要求7所述的一种基于区块链的智能合约系统,其特征在于,还包括区块链管理模块,用于保存合约C及合约状态机、合约执行状态机、合约执行过程。
9.根据权利要求8所述的一种基于区块链的智能合约系统,其特征在于,当合约的执行出现纠纷,将区块链数据库中保存的与合约相关的数据发送给第三方检验。
10.根据权利要求7所述的一种基于区块链的智能合约系统,其特征在于,各个合约方Pi对其输入进行数字签名。

说明书全文

一种基于链的智能合约的实现方法

技术领域

[0001] 本发明涉及智能合约技术领域,特别是涉及到智能合约执行模型的设计。本发明不仅解决了智能合约执行模型的设计问题,还提供了一种基于区块链的智能合约系统,使得智能合约的存储与执行具有公信,安全性更高。

背景技术

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

发明内容

[0010] 有鉴于此,本发明设计了一种基于区块链的智能合约实现方法系统。
[0011] 一种智能合约的实现方法,其特征在于,包括步骤:
[0012] 建立智能合约,其中,合约C为三元组:C=(I,M*,{M1,M2,…,Mm}),包括:合约方信息I,Ii表示第i个合约方Pi的信息,i=1…m,共有m个合约方参与合约;合约状态机M*与合约执行状态机集合{M1,M2,…,Mm};把合约C存放入安全度高的数据库中;
[0013] 输入各个合约方的状态及事件,并把所述状态及事件作为证据记录在安全度高的数据库中;
[0014] 根据建立好的合约C与各个合约方输入的事件来执行智能合约,获取合约的执行结果。
[0015] 优选的,合约状态机M*为五元组(Q,Σ,δ*,s*,F*),Q={(q1*,q2*,…,qm*,L)},Q是合约状态机所有状态的集合;L是合约订立参数,qi*被包含于第i个合约方的状态集qIi,qi*∈qIi,i=1…m,Σ是输入事件的集合;δ*是转换函数的集合δ*:Q×Σ→Q;s*是初始状态值s*∈Q,F*是终止状态的集合
[0016] 合约执行状态机Mi表示第i个合约方Pi的执行状态机,为五元组(qIi,Σ,δi,si,Fi),qIi是合约方Pi的执行状态集合,i=1…m;Σ是输入事件的集合;δi是转换函数的集合δi:qIi×Σ→qIi;si是初始状态值si∈qIi,Fi终止状态的集合
[0017] 优选的,将合约C及合约状态机、合约执行状态机、合约执行过程保存在安全度高的数据库中。
[0018] 优选的,当智能合约的执行出现纠纷,将该数据库中保存的与合约相关的数据发送给第三方检验。
[0019] 优选的,各个合约方Pi对其输入进行数字签名。
[0020] 一种基于区块链的智能合约系统,其特征在于,包括:用户界面、智能合约装置,其中,
[0021] 用户通过用户界面在智能合约装置上建立智能合约,合约C为三元组:C=(I,M*,{M1,M2,…,Mm}),包括:合约方信息I,Ii表示第i个合约方Pi的信息,i=1…m,共有m个合约方参与合约;合约状态机M*与合约执行状态机集合{M1,M2,…,Mm};把合约C存放入区块链数据库中;
[0022] 用户通过用户界面在智能合约装置输入各个合约方的状态及事件,所述状态及事件作为证据记录在区块链数据库中;
[0023] 智能合约装置根据建立好的合约C与各个合约方输入的事件来执行合约,获取合约的执行结果。
[0024] 优选的,合约状态机M*为五元组(Q,Σ,δ*,s*,F*),Q={(q1*,q2*,…,qm*,L)},Q是合约状态机所有状态的集合;L是合约订立参数,qi*被包含于第i个合约方的状态集qIi,qi*∈qIi,i=1…m,Σ是输入事件的集合;δ*是转换函数的集合δ*:Q×Σ→Q;s*是初始状态值s*∈Q,F*是终止状态的集合
[0025] 合约执行状态机Mi表示第i个合约方Pi的执行状态机,为五元组(qIi,Σ,δi,si,Fi),qIi是 合约方Pi的执行状态集合,i=1…m;Σ是输入事件的集合;δi是转换函数的集合δi:qIi×Σ→qIi;si是初始状态值si∈qIi,Fi终止状态的集合
[0026] 优选的,还包括区块链管理模块,用于保存智能合约C及合约状态机、合约执行状态机、合约执行过程。
[0027] 优选的,当智能合约的执行出现纠纷,将区块链数据库中保存的与合约相关的数据发送给第三方检验。
[0028] 优选的,各个合约方Pi对其输入进行数字签名。附图说明
[0029] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要的附图做简单的介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030] 图1为本发明的合约执行步骤示意图。
[0031] 图2为本发明的基于区块链的智能合约系统架构。
[0032] 图3为本发明实施例的合约状态机、合约方执行状态机。

具体实施方式

[0033] 智能合约的建立、协商与提交
[0034] 智能合约建立、协商与提交的过程:各方律师先建立智能合约,通过自然语言处理生成形式化的、可执行的合约;各方律师对生成的智能合约一一核实,包括用形式化工具验证合约,并用一致性工具检验合约;通过密码协议,合约各方给合约数字签名;最后把签名后的合约上传到区块链上,合约本身与合约执行的所有状态(包括合约状态机、合约方执行状态机)都保存在区块链上。
[0035] 合约C是一个三元组:合约方信息I(Ii表示第i个合约方Pi的信息,i=1…m,共有m个人参与合约)、合约状态机M*与合约方的执行状态机集合{M1,M2,…,Mm}。
[0036] C=(I,M*,{M1,M2,…,Mm})
[0037] 合约状态机
[0038] 合约状态机M*是一个五元组(Q,Σ,δ*,s*,F*),Q={(q1*,q2*,…,qm*,L)},Q是合约状态机所有状态的集合,L是合约执行背景,合约执行背景即合约订立时的环境参数(如合约订立时间,合约订立所需的参数等),其中qi*被包含于第i个合约方的状态集qIi,qi*∈qIi,i=1…m。Σ是输入(事件)的集合。δ*是转换函数的集合(δ*:Q×Σ→Q)。s*是初始状态值(s*∈Q),F*是终止状态的集合
[0039] 区块链数据库保存着合约本身与合约的所有状态(包括合约状态机、合约方执行状态机),以及合约执行过程证据的记录。同时,每个参与计算的节点都保存着相同的区块链数据库,每个节点能够接收到合约方发送的消息,并根据消息执行合约,得到新的合约状态集合{S’}。通过投票,选出大多数节点同意的新状态S*,并将它保存在区块链的最新区块上。
[0040] 转换函数相当于给合约方的执行进行判决,判决包括两个部分,一个是对合约方所执行内容的真实性、是否达标进行检验;第二个是执行判决,包括合约状态的转移、强制性的实施。强制性的实施在于资产是否数字可控的。
[0041] 合约执行状态机
[0042] 合约执行状态机Mi表示第i个合约方Pi的执行状态机,是一个五元组(qIi,Σ,δi,si,Fi),qIi是合约方Pi的执行状态集合,i=1…m。Σ是输入(事件)的集合。δi是转换函数的集合(δi:qIi×Σ→qIi)。si是初始状态值si∈qIi,Fi终止状态的集合
[0043] 合约的审计
[0044] 当合约的执行出现纠纷,只需要把记录在区块链上的与合约相关的证据交给第三方检验就可以了。
[0045] 合约的接入控制
[0046] 消息作为权利的载体,所以合约方Pj必须对所发送的消息签名,以防止伪造。
[0047] 合约执行步骤
[0048] 图1为合约执行步骤示意图,合约的执行步骤包括以下内容:
[0049] 1、建立智能合约,设计智能合约条款(背景、合约方的义务和判决)。合约建立后需要经过形式化验证,然后合约方数字签名;
[0050] 2、发布被签名的合约,使其存储在区块链上;
[0051] 3、执行合约,合约方按照智能合约条款规定把执行记录放入在区块链上,当该条款的合约义务已完成,则把结果记录在区块链上的合约账户(区块链上的账户是指存储与智能合约相关信息的地方);合约账户接收到消息后,对合约方义务完成情况进行判决。同时,智能合约的执行会改变合约的状态,每个状态的改变都必须通过参与计算的节点投票决定(区块链中参与计算的节点是指制作区块的节点),以此保证计算的同步与防伪。
[0052] 如果合约方起争执,则还包括:4、合约方起争执,则公开其合约及其相应存储给第三方公审。
[0053] 除此之外,基于上述的执行模型,本发明的第二个方面是基于智能合约的系统架构。
[0054] 参见图2,系统一共分为三大部分,分别是用户界面、智能合约装置,区块链管理模块。通信是整个系统的基础设施;区块链管理模块用作安全的分布式存储系统,存储与智能合约相关的信息,作为分布式虚拟机的运行环境;智能合约分为三个部分,合约的形式化生成与验证、合约执行管理与合约审计。
[0055] 用户通过用户界面在智能合约装置上建立智能合约,并且通过用户界面在智能合约装置输入各个合约方的状态及事件;
[0056] 智能合约装置执行合约,获取合约的执行结果,具体包括合约的形式化生成与验证、合约执行管理与合约审计;
[0057] 区块链管理模块,用于保存合约C及合约状态机、合约执行状态机、合约执行过程,当合约的执行出现纠纷,将区块链管理模块中保存的与合约相关的数据发送给第三方检验。
[0058] 该系统以带有区块链为基础设施,在其上面添加智能合约装置,包括智能合约的集成开发环境、合约执行管理、合约的形式化生成与验证、合约的一致性检测、合约的组合定制功能、自然语言处理。除此之外,还有智能资产管理模块与合约审计功能模块。
[0059] 合约集成开发环境:用于编写合约代码并调试;
[0060] 合约执行管理模块:检测合约状态,管理合约方的合约执行记录;
[0061] 合约数据库:保存不同功能的合约,增强重用性;
[0062] 合约组合器:根据用户需求从合约数据库中寻找所需功能的合约,进行组装;
[0063] 形式化验证工具:验证用户生成的或者合约组合器生成的合约,还可以直接根据用户定制的需求来生成所需的合约,并检验性质;
[0064] 一致性检验工具:检验合约的逻辑一致性;
[0065] 智能资产管理模块:与物联网相连,注册与管理数字资产;
[0066] 合约审计:当合约方对合约执行的结果产生歧义的时候,第三方可以通过这个模块进行审核;
[0067] 自然语言处理:合约代码与人类语言之间的一个桥梁,自然语言处理与一致性工具的结合使得合约代码能够被一般人读懂和验证,令智能合约可以具有法律效力;
[0068] 加密模块:智能合约很多功能都需要不同的加密协议支持,如数字签名、数字印、安全多方签名等。
[0069] 为了让本发明的目的、特征和优点能更加明显易懂,下文列举了本发明的实施例子,做详细说明如下,籍以使本领域普通技术人员能够更清楚的了解本发明所欲阐述的精神。
[0070] 售后服务的事例
[0071] 建立合约、协商与提交,其中合约内容如下表1,合约方Custmoer执行状态机与Merchant执行状态机如下表2、3,合约状态机、事件及转换函数分别如下表4、5、6所示。
[0072] 表1
[0073]
[0074] 表2
[0075]
[0076] 表3
[0077]
[0078] 表4
[0079]
[0080] 表5
[0081]
[0082] 表6
[0083]
[0084] 建立合约,包括合约方信息、合约状态机与合约方执行状态机。然后通过自然语言处理,得到形式化的、可执行的智能合约。为了方便程序表示,我们约定如表7:
[0085] 表7
[0086](s1,s2,L) S0
(A,1,L) S1
(B,2,L) S2
(C,3,L) S3
(D,4,L) S4
(E,5,L) S5
(S1,6,L) S6
(T,7,L) S7
[0087]
[0088] 得到合约的状态机与合约方执行状态机,如图3。
[0089] 合约方用形式化工具、一致性检测工具检验合约,若通过,则合约方在合约上添加数字签名。
[0090] 根据合约内容执行合约,合约本身、与合约相关的所有状态都需要记录,还有合约方执行合约的证据需按照合约规定存储在区块链中。合约状态机每个状态的转换都必须一致性算法保证各个节点的执行一致。
[0091] 当出现对合约执行结果出现争执的时候,则进入审计阶段。
[0092] 以上所述,仅是本发明的实例,并非对本发明做任何形式上的限制。任何精于本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出其他种种的改良或修饰为等同变化的等效实例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施所做的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈