[发明专利]一种基于区块链的智能合约实现方法在审
申请号: | 201710289161.0 | 申请日: | 2017-04-27 |
公开(公告)号: | CN107103473A | 公开(公告)日: | 2017-08-29 |
发明(设计)人: | 张小松;夏琦;范文慧;牛伟纳;陈瑞东 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06Q20/40 |
代理公司: | 成都弘毅天承知识产权代理有限公司51230 | 代理人: | 李春芳,马林中 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 智能 合约 实现 方法 | ||
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的智能合约实现方法。
背景技术
合约,指两方面或几方面在办理某事时,为了确定各自的权利和义务而订立的共同遵守的条文。
传统合约是写在纸上的,签字盖章之后才会生效,合约的执行过程由很多控制协议构成,控制协议包括表格账单等记录的保存以及记录的审核与协商,记录的审核与协商通常需要第三方的参与,而合约的执行效能只能通过法律、武力保证。
随着信息技术的发展,通过计算机、互联网和密码理论等技术减少合约指定、控制及执行的成本逐渐成为一种新的发展趋势。1997年,Nick Szabo引入“智能合约”的概念:智能合约把合约条款嵌入到软、硬件中,通过协议与用户接口来促进合约的执行,它是我们在互联网中形成安全、数字化关系的关键。也就是说,在计算机界里,合约是通过代码的形式实现的。数字化的合约,存在着是否有效、容易被否认、可能会被篡改及被黑客攻击的风险,因此数字化的合约始终可信度不高。
发明内容
针对上述现有技术,本发明目的在于提供一种基于区块链的智能合约实现方法。
为达到上述目的,本发明采用的技术方案如下:
一种基于区块链的智能合约执行方法,包括以下步骤:
步骤1、对于两个及两个以上有数据共享需求的用户,根据每个用户自身需要制定一份合约,合约用于明确各方的权利和义务,并通过编程语言获得电子化合约,由参与合约制定的各个用户对电子化合约进行数字签名,获得有效合约,签名用以保证合约的有效性,实现智能合约制定;
步骤2、有效合约通过P2P的方式在区块链中扩散,区块链中参与该有效合约制定的各个节点都收到一份有效合约并保存在对应的区块中,对应的区块中除了包含本体信息之外,还包含有效合约记录及与有效合约记录对应的时间戳,实现智能合约在区块链网络中存入;
步骤3、设置有效合约定期检查自动机状态,逐条遍历有效合约内包含的状态机、事务和触发条件,当事务满足触发条件,利用验证节点首先对事务进行签名验证,此处签名用于确保事务的有效性,当验证节点通过签名验证之后执行事务,实现智能合约自动执行。
上述方法中,所述的步骤3,包括以下步骤:
步骤3.1、由用户发起数据共享请求后产生相应的事务,并把用户的操作记录在对应的区块中;
步骤3.2、检查有效合约状态机的执行状态,遍历有效合约找到该事务对应的触发条件;
步骤3.3、当该事务满足触发条件时,通过验证节点对该事务进行签名认证;
步骤3.3.1、当事务通过签名验证后,向数据库发起对应请求并返回用户所需要的数据,即该事务被系统成功执行并通知用户;
步骤3.3.2、若该事务不能通过验证节点的验证,则用户发起的数据共享请求失败,即该事务执行失败,系统返回相应的状态并通知用户;
步骤3.4、在执行过程中,由有效合约对事务实时监督是否出现违背合约操作,若出现违背合约操作,则中止事务的执行并将该状态返回给用户。
上述方法中,所述的步骤1,还包括在制定合约前,有数据共享需求的用户在区块链中进行账户注册,注册后由对应账户接收区块链所分配的一对公钥和私钥。
上述方法中,所述的步骤1,其中参与合约制定的各个用户都是通过各自账户的私钥对电子化合约进行签名,以确保合约的有效性。
上述方法中,所述的步骤2,其中当有效合约通过P2P方式扩散到区块链中时,由区块链中的验证节点对有效合约进行验证,当一半以上验证节点通过验证并达成共识之后有效合约被存储到对应的区块中。
一种基于区块链的智能合约系统,包括
智能合约指定模块,接收由用户合约所转化的电子化合约;
智能合约存入模块,接收智能合约指定模块所传输的有效合约;
智能合约自动执行模块,遍历检查由智能合约存入模块存储于区块中的有效合约所包含的状态机、事务和触发条件且由检查结果选择地执行事务。
上述方案中,所述的智能合约自动执行模块包括智能合约执行状态机、用于存储数据的数据库、用户发起数据共享请求和验证节点;所述的智能合约执行状态机,接收由用户发起数据共享请求生成的事务且遍历有效合约找出事务对应的触发条件;
所述的验证节点,接收智能合约执行状态机所反馈的触发条件满足情况且由满足情况选择地对事务签名验证;
所述的数据库,接收验证节点所签名验证事务的验证状态且由验证状态选择地对发起数据共享请求的用户返回数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710289161.0/2.html,转载请声明来源钻瓜专利网。