[发明专利]一种基于区块链的并行交易执行方法有效
申请号: | 201710685258.3 | 申请日: | 2017-08-11 |
公开(公告)号: | CN107688999B | 公开(公告)日: | 2020-11-13 |
发明(设计)人: | 谢晗剑 | 申请(专利权)人: | 杭州溪塔科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06Q20/38 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 黄欢娣;邱启旺 |
地址: | 310012 浙江省杭州市西湖区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 并行 交易 执行 方法 | ||
本发明公开了一种基于区块链的并行交易执行方法,首先对链上的数据单元进行索引编号,用户的并发交易除了基本的交易内容外,需再提供交易执行所需读取和写入的数据索引。用户的串行交易只需提供基本的交易内容。节点根据并发交易的数据依赖关系,安排并发处理,并发处理完成后,再将无法并发的交易和串行交易进行顺序执行。
技术领域
本发明涉及区块链模型状态索引的创建,并发交易的生成、执行和校验的相关领域,改进了原有区块链模型中交易无法并发处理,或并发处理会出现大范围冲突的情况。
背景技术
区块链是一种新的分布式技术,由一个个顺序排列而成的交易组成块,再由一个个顺序排列而成的块组成链,每个块包含一个自增的高度作为编号,还有一个时间戳用于记载打包时间。
现有区块链内一般以账户为基本单元,账户内有各种属性,包括余额、交易数、合约代码、合约存储数据结构等。区块链内的一个交易会涉及两个或多个账户属性的相互读写操作,这些属性的状态存在前后线性依赖关系,以解决双花问题。
区块链为了追求全链状态的确定性,要求交易在块内以列表形式存在,并且由所有节点一个个地顺序执行,不能出现随机跳序或随意并发执行的情况,否则各个节点的计算结果可能会出现不一致,最终无法达成共识。完全串行执行使节点的物理机器性能无法得到完全发挥,节点处理能力受制于单核CPU的最高主频,无法发挥多核优势和集群优势,严重影响区块链技术的处理性能。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于区块链的并行交易执行方法。
本发明的目的是通过以下技术方案实现的:一种基于区块链的并行交易执行方法,该方法中,首先对区块链中的交易所涉及的数据单元进行划分,每个数据单元产生唯一性索引index。各用户节点实时同步出块节点的最新区块,保持本地最新的链状态备份。用户发起交易时,选择交易类型,如果选择的交易类型为“串行执行”,直接将交易内容Data签名广播;如果选择的交易类型为“并行执行”,根据本地最新状态,对交易内容进行模拟执行,获得状态依赖信息State,并签名广播。其中State包含如下内容:上述模拟执行过程中会读取的数据单元的索引集合read_indexes;模拟执行过程会写入的数据单元的索引集合write_indexes;以及状态冲突处理方法:“交易报错”或“改为串行”。
出块节点执行交易、打包出块的方法如下:
(1)出块节点生成一个空的列表serial_txs用于存放串行交易。
(2)构建一个空的集合rely_txs,用于存放多组并行交易列表;构建一个空的集合rely_indexes用于存放一系列子集。rely_txs中的每组并行交易列表会生成一组对应的依赖数据单元,rely_indexes的每一个子集就是用于存放这组依赖数据单元的索引集合的。具体如下:
出块节点逐个选择交易类型为“并行执行”的交易。假设当前选择的“并行执行”交易为tx,当前已生成的rely_indexes子集个数为N个,出块节点对这N个子集进行遍历。假设当前正在遍历的子集为rely_indexes_%i%,如果该子集对应的并行交易列表rely_indexes_%i%为空列表,即子集rely_indexes_%i%为空,或tx的read_indexes和write_index的并集与rely_indexes_%i%存在交集,则将tx加入到rely_txs_%i%中,将tx的write_indexes加入到rely_indexes_%i%中。
如果对所有子集遍历完成,均不存在交集或空元素,则新建子集,将tx中的write_indexes中的数据单元索引加入到rely_indexes的N+1个子集中,并在rely_txs中建立新的并行交易列表,将该交易tx加入到该新建的交易列表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州溪塔科技有限公司,未经杭州溪塔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710685258.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种土木工程设备除锈装置
- 下一篇:电梯高精度导轨进料装置