[发明专利]一种区块链事务处理方法有效
| 申请号: | 201811486624.3 | 申请日: | 2018-12-06 |
| 公开(公告)号: | CN109697217B | 公开(公告)日: | 2021-04-06 |
| 发明(设计)人: | 王学东;陈永滔 | 申请(专利权)人: | 成都佰纳瑞信息技术有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27 |
| 代理公司: | 北京康盛知识产权代理有限公司 11331 | 代理人: | 杜志兰 |
| 地址: | 610000 四川*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 区块 事务处理 方法 | ||
本发明提供一种区块链事务处理方法,能够解决非确定性代码的问题,提升效率,优化全网共识问题,还能够提高系统的整体灵活性,其处理方法大体步骤如下:客户端首先将事务进行打包和封装,发送至网络中的执行节点,由执行节点执行事务,并得到相应的结果返回给客户端。在收到足够的结果后,足够的结果判定取决于客户端提交的执行策略,客户端会将结果重新封装成待排序的数据结构,发送给网络中的排序节点进行排序。最后,经过排序的结果集将分发至网络中的各个其他节点进行确认,确认后的事务将会最终更新账本。
技术领域
本发明涉及区块链事务处理领域,具体而言,涉及一种利用“执行-排序-验证”步骤的区块链事务处理方法。
背景技术
在目前的大部分区块链平台中,对于事务的执行往往都是利用共识协议先对其进行排序,然后在区块链网络中的其他节点按照相同的顺序进行执行。例如,在以太坊中,其目前使用的是基于PoW的共识协议。节点首先会组装一个包含有合法事务的块,接着节点会试图计算一个PoW难题,当某个节点P1成功计算出结果后,它就会将这个块广播至全网。所有接收到该块的节点都会去验证这个结果和重复执行一次块中的所有事务。
“排序-执行”从架构上来看非常简单,因此也被广泛应用于各大区块链平台中。但是,在某些场景中,例如带权限认证的区块链网络中,“排序-执行”的方式还是存在一些缺点。
首先,在所有节点上顺序执行事务会降低区块链整体的TPS(每秒传输的事物处理个数)。因为TPS与系统延迟成反比,这将会成为整个区块链网络的性能瓶颈。另一方面,DoS攻击也会严重降低这种区块链的性能,当有恶意的“智能合约”被部署时,由于无法停止,也可能会带来很严重的后果。为了解决无限循环的“智能合约”问题,以太坊才引入了“gas”的概念,但同时也增加了额外的费用开销。
其次,所有在共识后的操作执行必须是确定性的,否则就会导致账本的“分叉”。这通常通过面向特定领域的编程语言来解决,例如以太坊的Solidity。但这样的语言在设计上往往都是非常复杂的。
发明内容
本发明的目的在于提供一种区块链事务处理方法,其能够解决非确定性代码的问题,提升效率,优化全网共识问题,并且还能够提高系统的整体灵活性。
本发明的实施例是这样实现的:
一种区块链事务处理方法,该区块链事务处理方法包括如下步骤:
S1:客户端向执行节点提交事务,事务经过打包和封装后发送至网络中的执行节点,客户端在所述事务打包时产生一个执行策略;
S2:执行节点执行智能合约并反馈结果至客户端;
S3:使用排序节点为事务进行排序并将事务分发网络,客户端在收到一定量的结果时,客户端将结果重新封装成待排序的数据结构,并将数据结构发送至网络中的排序节点进行排序;排序节点为一组节点共同组成的集群,排序节点之间具有同步共识机制;
S4:将区块分发至各个Peer节点,排序节点将经过排序的结果分发至网络中的各个Peer节点进行确认,确认后的事务形成最终更新账本。
在本发明的较佳实施例中,上述S1的操作方法如下:
S11:客户端对事务进行标记,用于在事务执行过程中验证来源的准确性;
S12:形成执行策略,客户端在事务打包时产生一个执行策略,执行策略中预设有结果有效值区间,返回结果值符合结果有效值区间时,则事务提交有效;返回结果值不符合结果有效值区间,则事务提交无效;
在本发明的较佳实施例中,上述S11的具体操作如下:客户端对事务进行标记,标记内容包括对事务的签名和事务对应执行策略的权限证明;若智能合约的操作仅为账本查询,则在打包过程中剔除智能合约。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都佰纳瑞信息技术有限公司,未经成都佰纳瑞信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811486624.3/2.html,转载请声明来源钻瓜专利网。





