[发明专利]一种区块链智能合约验证部署的方法及装置有效
| 申请号: | 201910716636.9 | 申请日: | 2019-08-05 |
| 公开(公告)号: | CN110443075B | 公开(公告)日: | 2021-05-25 |
| 发明(设计)人: | 陈晓蕊;苏恒;李东丽;黄剑 | 申请(专利权)人: | 中国工商银行股份有限公司 |
| 主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F16/27;G06Q40/04 |
| 代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王涛;任默闻 |
| 地址: | 100140 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 区块 智能 合约 验证 部署 方法 装置 | ||
本申请提供了一种区块链智能合约验证部署的方法及装置,包括:在事前将通过评审的智能合约依据哈希算法提取信息摘要存入区块链节点的白名单中,在部署智能合约时,区块链联盟各方按照相同的哈希算法对需要部署的智能合约进行信息摘要以便验证所部署智能合约的合法性、有效性,当接收到新增智能合约时对该合约采用哈希算法提取信息摘要并与白名单中的信息摘要进行比对验证。本申请通过引入智能合约事前管理机制,事前将需要发布的智能合约字节数组以哈希算法生成信息摘要的形式进行白名单管理,事中将需要部署在节点上的智能合约做合法性校验验证,弥补了目前智能合约管理只有事后监督机制的漏洞。
技术领域
本申请涉及区块链技术领域,具体地讲,涉及一种区块链智能合约白名单验证部署的方法及装置。
背景技术
区块链系统是将数据及数据的操作记录,通过密码学方法进行加密和散列,从而形成一种公开透明、不可篡改、可追溯的分布式数据库记账系统,该技术可以在支付清算、存证取证、价值转移、供应链金融、用户征信、监管审计等领域进行广泛应用。
在实际应用中,目前业界区块链智能合约发布是通过合约发布方直接上传到所属区块链节点,并由该节点自动广播到其他区块链节点,这一环节缺乏有效的监管机制,容易遭受恶意用户编写恶意合约的攻击,且一旦发生错误只能通过事后机制进行漏洞弥补,没有很好的事前和事中机制严格控制,从而造成一定的风险。
发明内容
本申请提供了一种区块链智能合约验证部署的方法,以至少解决现有技术中智能合约的发布缺乏有效的监管机制,容易遭受恶意用于编写恶意合约的攻击,而且一旦发生错误只能够通过事后机制进行漏洞弥补的问题。
根据本申请的一个方面,提供了一种区块链智能合约验证部署的方法,包括:区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,交易请求报文包括:合约字节码数组、所需计算资源、发布调用标志和目标合约唯一标识;若交易报文中标志位为发布,此时目标合约唯一标识为空,区块链节点对目标合约赋予唯一标识,再对交易请求报文进行验证;对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序;将所需计算资源、发布调用标志、目标合约唯一标识和合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
在一实施例中,对交易请求报文进行验证,包括:
利用哈希算法根据合约字节码数组生成信息摘要;
将信息摘要与预存的白名单信息摘要列表进行匹配,生成验证结果。
在一实施例中,区块链智能合约验证部署的方法还包括:
容器接收创建合约报文后建立容器唯一标识与目标合约唯一标识的对应关系并计算一共消耗的计算资源;
判断消耗的计算资源是否超过所需计算资源并设置相应的合约执行成功失败标志。
在一实施例中,判断消耗的计算资源是否超过所需计算资源并设置相应的合约执行成功失败标志,包括:
如果是,容器停止执行并报错退出,将合约执行成功失败标志设置为失败;
如果否,容器根据合约字节码数组执行具体的合约业务逻辑,将合约执行成功失败标志设置为成功。
根据本申请的另一个方面,还提供了一种区块链智能合约验证部署的装置,包括:
读取单元,用于区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,交易请求报文包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源;
验证单元,用于若发布调用标志为发布,所述目标合约唯一标识为空,对目标合约赋予唯一标识,并对交易请求报文进行验证;
共识单元,用于对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910716636.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种区块链节点数据完整性检测的方法
- 下一篇:基于实名区块链的存证方法和系统





