[发明专利]一种跨区块异步调用合约系统有效
申请号: | 201710402925.2 | 申请日: | 2017-05-31 |
公开(公告)号: | CN107193672B | 公开(公告)日: | 2020-01-14 |
发明(设计)人: | 陈小虎;徐卿;李正鹏 | 申请(专利权)人: | 无锡井通网络科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 32260 无锡市汇诚永信专利代理事务所(普通合伙) | 代理人: | 张欢勇 |
地址: | 214000 江苏省无锡市新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 验证 验证单元 区块 调用请求 异步调用 分布式系统 预定义协议 发送请求 服务节点 缓存单元 结果返回 系统容错 支付请求 远端 并发 返回 通讯 | ||
一种跨区块异步调用合约系统,该系统包括:分布式系统验证单元:包括一个或多个服务节点以及若干个验证节点,验证节点用于验证共识过的{TX};{TX}包括合约调用请求TX和支付请求TX;分布式合约执行单元:位于本地或验证单元远端,与验证单元之间通过预定义协议进行通讯,用以获取合约执行所需信息,并在合约执行完毕后,将结果返回至验证节点;合约执行缓存单元:包括用于接收来自验证节点的合约调用请求,发送请求至合约执行单元,接收合约执行结果,返回当前合约执行状态至验证节点,以实现合约的异步调用。本发明系统的区块共识不依赖于合约执行结果,可提高合约执行的并发量以及区块能支持的合约数量,提高系统容错能力。
技术领域
本发明涉及区块链技术领域,具体涉及一种跨区块异步调用合约系统。
背景技术
现有的智能合约的执行采用同步方式,利用交易触发或者自动触发合约调用,合约在具体执行的时候,区块链的共识机制必须等待合约执行完,返回结果后才能继续操作,从而完成对当前区块的共识。
上述智能合约执行方式具有以下缺陷:
(1)合约执行的速度严重影响区块生成的时间:
因为区块共识依赖于合约执行的结果,每个节点必须对合约的结果的一致性达成共识,因此,合约的执行速度的快慢,直接影响区块后续操作,导致区块生成时间的延迟。
(2)合约执行的速度严重影响区块链能够支持的合约执行并发量:
在区块链生成的频率通常大致固定的情况下,在同样的时间段内,一个合约执行的快慢,将直接影响到同区块其他合约的执行,极端情况下,一个恶意的合约可能导致系统无法处理其他的合约,导致处理合约的并发量大大降低。
(3)合约执行过程中的容错能力受限:
由于采用同步执行的方式,合约执行时针对各种错误情况的处理需要全面考虑,并且实现对各种时间敏感的操作的快速处理,比如需要对各种操作的超时情况作相应的处理。
一些现有的解决方案,如以太坊,采用gas的方式,对每个合约进行运算量的估算,并且利用一个系统总gas量来控制当前区块能支持的总运算量,来保证共识的按时完成。但是系统能支持的合约总数受到这个总量gas的限制,如果合约的代码越来越复杂,整个系统能支持的合约数就越来越少;另外,以太坊共识时间有限,gas的最高值并不能大幅增加。
发明内容
针对现有智能合约执行技术存在的问题,本发明提供一种跨区块异步调用合约系统,该系统的区块共识不依赖于合约执行结果,可提高合约执行的并发量以及区块能支持的合约数量,提高系统容错能力。
为实现以上技术目的,本发明的技术方案是:
一种跨区块异步调用合约系统,包括以下单元:
分布式系统验证单元:包括一个或多个服务节点以及若干个验证节点,所述服务节点用于接收用户递交的交易请求集合{TX},所述验证节点用于验证共识过的所述交易请求集合{TX};所述交易请求集合{TX}包括合约调用请求TX和支付请求TX;
分布式合约执行单元:位于本地或所述分布式系统验证单元的远端,与所述分布式系统验证单元之间通过预定义协议进行通讯,用以获取合约执行所需信息,并在合约执行完毕后,将结果返回至所述验证节点;
合约执行缓存单元:包括用于接收来自所述验证节点的所述合约调用请求,发送所述合约调用请求至所述分布式合约执行单元,接收合约执行结果,返回当前合约执行状态至所述验证节点,以实现合约的异步调用;
每个所述验证节点对应一个或多个所述合约执行缓存单元,以及一个或多个所述分布式合约执行单元;
该系统实现方法如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡井通网络科技有限公司,未经无锡井通网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710402925.2/2.html,转载请声明来源钻瓜专利网。