[发明专利]一种实现区块链交易并行化的方法及区块链节点在审
申请号: | 202010613063.X | 申请日: | 2020-06-30 |
公开(公告)号: | CN111861744A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 丁有振;杨春福 | 申请(专利权)人: | 上海简苏网络科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;H04L29/08 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 201702 上海市青*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 区块 交易 并行 方法 节点 | ||
本发明涉及区块链交易并行化技术领域,提供了一种实现区块链交易并行化的方法及区块链节点,其方法包括:在获取区块链节点对应的交易池中待打包的交易集合之后,遍历交易集合中的每一个交易,对交易中的独立交易进行过滤,取出所述交易集合中的独立交易并将其存入对应的独立交易缓存区中,后将所述交易集合中余下的关联交易保留于所述交易集合中;启动一用于处理所述关联交易的关联交易处理线程,并行启动处理所述独立交易的一个或多个独立交易处理线程。在确保关联交易能够有序正确的被处理的前提下,对交易并行化处理。轻松实现链上交易的并行化,不会给开发者带来任何心智负担,具有简单、安全、高效、易维护的特点。
技术领域
本发明涉及区块链交易并行化的技术领域,尤其涉及一种实现区块链交易并行化的方法及区块链节点。
背景技术
链上处理性能不足,是制约区块链发展的关键瓶颈之一。不同于传统的中心化服务可以通过堆叠硬件提高计算能力,区块链全网的交易处理能力并不会随着网络内节点个数的增加而提高,反而由于其单节点全链冗余备份计算的特性,呈现出某种程度的木桶效应。即理论上,全网交易的处理能力,由网络内性能最差的那个节点决定。当然,某区块链是否会出现短板效应,需要具体问题具体分析,需要考虑该区块链的整体架构、选用的共识算法、网络通信模型等诸多因素。但区块链的处理能力受限于单节点性能则是毋庸置疑的。
对于区块链性能不足的问题,业界提出了许多改进方向,其中比较热门的方向之一是交易并行化技术。然而,区块链交易并行化技术在业界从提出至今,已有多年的时间,但始终难有可行的落地技术方案。其根本原因还是该技术实现起来太过复杂,需要考虑的因素太多。在传统的并行化处理中,如果两个线程需要访问和修改同一处数据,需要用互斥锁、临界区、或信号量等竞争技术保证,在同一时间点上只有一个线程拥有数据的处理权。但区块链交易的并行化相对于传统程序的并行化,除了要解决数据处理权竞争问题之外,还要保证处理的先后顺序。因为,在区块链中,两笔交易执行的顺序不同,其最终结果也可能不同。例如,假设B地址有10元钱,第一笔交易是A地址给B地址转账40元,第二笔交易是B地址转账给C地址50元。那么显而易见,这两笔交易执行的顺序不同,自然结果就不同。如果这两笔交易放在不同线程并行化处理,很可能不同的节点得出不同的执行结果,因为不同的操作系统的线程调度算法是不同的。除此之外,一般情况下,交易至少涉及到两个地址,即源地址和目的地址。一个区块中,可以有多笔交易。一笔交易的目的地址在另外一笔交易中可能是源地址,也可能一个源地址发送多笔不同的交易请求,或者多笔不同交易指向同一个目的地址。那么,这种特性,在理论上将为被计算数据带来无限关联性。如果将区块内的交易集合分成若干组,交由若干线程并行化执行,那么线程之间将因这些复杂的关联地址形成难以解析的资源竞争问题。经过以上举例浅析,相信大家对区块链交易并行化的技术难度都能有一个简单直观的认识。
在专利申请“CN109636384A-一种并行化执行区块链交易的方法、装置及系统”中公开了“为了解决现有的区块链交易执行方式效率较低的问题,本说明书实施例提供一种并行化执行区块链交易的方法、装置及系统,技术方案如下:根据本说明书实施例的第1方面,提供一种并行化执行区块链交易的方法,包括:针对区块链网络中的每个节点,该节点获取待写入区块;针对所述待写入区块中的每个交易,该交易的执行结果为,创设一个存储地址并存入信息,或更新一个存储地址上存储的信息;从所述待写入区块中读取各交易,并将各交易组织成N个交易队列;N大于1;同时针对每个交易队列,由先到后依次执行该交易队列中的每个交易;将所述待写入区块写入区块链。”从上述专利申请的背景技术部分公开的内容“在有的区块链应用场景下,不存在会对不止一个存储地址上存储的信息进行更新的交易。在这些区块链应用场景下,采用上述的串行化的交易执行方式,会导致交易执行效率较低。”可知上述技术方案是基于在有的区块链应用场景下,不存在会对不止一个存储地址上存储的信息进行更新的交易,提出的一种并行化的处理方法。当出现关联交易时,即会对不止一个存储地址上存储的信息进行更新的交易时,无法使用上述并行化执行区块链交易的方法进行交易处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海简苏网络科技有限公司,未经上海简苏网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010613063.X/2.html,转载请声明来源钻瓜专利网。