[发明专利]一种基于区块链的智能合约实现方法在审
申请号: | 201710289161.0 | 申请日: | 2017-04-27 |
公开(公告)号: | CN107103473A | 公开(公告)日: | 2017-08-29 |
发明(设计)人: | 张小松;夏琦;范文慧;牛伟纳;陈瑞东 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06Q20/40 |
代理公司: | 成都弘毅天承知识产权代理有限公司51230 | 代理人: | 李春芳,马林中 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 智能 合约 实现 方法 | ||
1.一种基于区块链的智能合约执行方法,其特征在于,包括以下步骤:
步骤1、对于两个及两个以上有数据共享需求的用户,根据每个用户自身需要制定一份合约,并通过编程语言获得电子化合约,由参与合约制定的各个用户对电子化合约进行数字签名,获得有效合约;
步骤2、有效合约通过P2P的方式在区块链中扩散,区块链中参与该有效合约制定的各个节点都收到一份有效合约并保存在对应的区块中,对应的区块中除了包含本体信息之外,还包含有效合约记录及与有效合约记录对应的时间戳;
步骤3、设置有效合约定期检查自动机状态,逐条遍历有效合约内包含的状态机、事务和触发条件,当事务满足触发条件,利用验证节点首先对事务进行签名验证,当验证节点通过签名验证之后执行事务。
2.如权利要求1所述的一种基于区块链的智能合约执行方法,其特征在于,所述的步骤3,包括以下步骤:
步骤3.1、由用户发起数据共享请求后产生相应的事务,并把用户的操作记录在对应的区块中;
步骤3.2、检查有效合约状态机的执行状态,遍历有效合约找到该事务对应的触发条件;
步骤3.3、当该事务满足触发条件时,通过验证节点对该事务进行签名认证;
步骤3.3.1、当事务通过签名验证后,向数据库发起对应请求并返回用户所需要的数据,即该事务被系统成功执行并通知用户;
步骤3.3.2、若该事务不能通过验证节点的验证,则用户发起的数据共享请求失败,即该事务执行失败,系统返回相应的状态并通知用户;
步骤3.4、在执行过程中,由有效合约对事务实时监督是否出现违背合约操作,若出现违背合约操作,则中止事务的执行并将该状态返回给用户。
3.如权利要求1所述的一种基于区块链的智能合约执行方法,其特征在于,所述的步骤1,还包括在制定合约前,有数据共享需求的用户在区块链中进行账户注册,注册后由对应账户接收区块链所分配的一对公钥和私钥。
4.如权利要求2所述的一种基于区块链的智能合约执行方法,其特征在于,所述的步骤1,其中参与合约制定的各个用户都是通过各自账户的私钥对电子化合约进行签名。
5.如权利要求1所述的一种基于区块链的智能合约执行方法,其特征在于,所述的步骤2,其中当有效合约通过P2P方式扩散到区块链中时,由区块链中的验证节点对有效合约进行验证,当一半以上验证节点通过验证并达成共识之后有效合约被存储到对应的区块中。
6.一种基于区块链的智能合约系统,其特征在于,包括
智能合约指定模块,接收由用户合约所转化的电子化合约;
智能合约存入模块,接收智能合约指定模块所传输的有效合约;
智能合约自动执行模块,遍历检查由智能合约存入模块存储于区块中的有效合约所包含的状态机、事务和触发条件且由检查结果选择地执行事务。
7.如权利要求6所述的一种基于区块链的智能合约系统,其特征在于,所述的智能合约自动执行模块包括智能合约执行状态机、用于存储数据的数据库、用户发起数据共享请求和验证节点;所述的智能合约执行状态机,接收由用户发起数据共享请求生成的事务且遍历有效合约找出事务对应的触发条件;
所述的验证节点,接收智能合约执行状态机所反馈的触发条件满足情况且由满足情况选择地对事务签名验证;
所述的数据库,接收验证节点所签名验证事务的验证状态且由验证状态选择地对发起数据共享请求的用户返回数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710289161.0/1.html,转载请声明来源钻瓜专利网。