CN113421095A - 一种区块链交易并行执行加速方法 - Google Patents

一种区块链交易并行执行加速方法 Download PDF

Info

Publication number
CN113421095A
CN113421095A CN202110769243.1A CN202110769243A CN113421095A CN 113421095 A CN113421095 A CN 113421095A CN 202110769243 A CN202110769243 A CN 202110769243A CN 113421095 A CN113421095 A CN 113421095A
Authority
CN
China
Prior art keywords
block
blocks
cache pool
transaction
parallel execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110769243.1A
Other languages
English (en)
Inventor
韩虎
白健
刘在爽
安红章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Electronic Technology Cyber Security Co Ltd
Original Assignee
China Electronic Technology Cyber Security Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Electronic Technology Cyber Security Co Ltd filed Critical China Electronic Technology Cyber Security Co Ltd
Priority to CN202110769243.1A priority Critical patent/CN113421095A/zh
Publication of CN113421095A publication Critical patent/CN113421095A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种区块链交易并行执行加速方法,包括步骤:S1,将待提交的区块放入缓存池;S2,使用缓存池中的区块生成有向无环图DAG;S3,根据有向无环图DAG产生提交队列;S4,区块并行写入文件等。本发明解决了现有区块链系统性能低下,交易确认时间较长的问题,实现在保证交易最终结果一致的情况下实现区块并行提交,实现并发地将多个不同的区块写入不同的文件中。

Description

一种区块链交易并行执行加速方法
技术领域
本发明涉及区块链技术领域,更为具体的,涉及一种区块链交易并行执行加速方法。
背景技术
现有区块链系统存在如下问题:
(1)性能低下。由于区块系统的每一个决策节点都要维护一系列交易状态数据,而在区块链系统中执行的交易往往具有前后依赖的关系,必须保证拥有依赖关系的交易的执行顺序,以避免不同决策节点间交易状态数据出现不一致的情况,因此现有的区块链系统的区块提交流程往往是串行的,造成系统吞吐量往往偏低,无法发挥多核计算机的优势。
(2)交易确认时间较长。由于现有区块链系统中区块提交过程中采用的是串行处理的方式,因此一条交易的确认需要逐步通过多个串行步骤,最终才会生效,因此确认时间较长。
发明内容
本发明的目的在于克服现有技术的不足,提供一种区块链交易并行执行加速方法,解决现有区块链系统性能低下,交易确认时间较长的问题,实现在保证交易最终结果一致的情况下实现区块并行提交;实现并发地将多个不同的区块写入不同的文件中。
本发明的目的是通过以下方案实现的:
一种区块链交易并行执行加速方法,包括步骤:
S1,将待提交的区块放入缓存池;
S2,使用缓存池中的区块生成有向无环图DAG;
S3,根据有向无环图DAG产生提交队列;
S4,区块并行写入文件。
进一步地,在步骤S1前,包括步骤S0:创建一个有限容量的缓存池,用于保存将被用于生成有向无环图DAG的区块队列。
进一步地,在步骤S2中,包括步骤:对DAG缓存池中的每一个区块进行解析,得到区块内每条交易的读写集,并使后一笔交易的读集和写集均不在前一笔交易的写集中。
进一步地,在步骤S3中,包括步骤:将互不相关的区块放入同一个等级level,依赖前方区块的被放入下一个等级level,按照level等级排序进行提交,同一个等级level内的区块并行提交,不同等级level之间串行提交。
进一步地,在步骤S4中,包括步骤:根据缓存池大小,同时打开多个文件,对打开的多个文件进行并发写入。
进一步地,所述并发写入的写入规则包括:
将特定的区块号n对缓存池大小数值取模得到m,然后将区块n写入到blockfile_m中;若blockfile_m已达到限制大小,则将区块n写入到blockfile_(m+k*10);K为递增系数,存放在数据库中。
本发明的有益效果包括:
(1)本发明的方法实现了一种高效的记链方式,该方法能够充分发挥了多核计算机的优势,将多个区块提交过程并行操作,极大地提升了记链速度,提升了区块链系统的整体性能,使区块链系统可以应用于更多的场景。
(2)本发明的方法通过分析不同区块中的交易关联关系,使待提交区块以DAG的方式构建连接,以达到同时提交不相关区块的目的,因此可以在保证交易最终结果一致的情况下实现区块并行提交。
(3)本发明的方法实现并发地将多个不同的区块写入不同的文件中,能够大幅提高区块链系统的整体吞吐量,极大缩短交易上链的确认时间,有效的满足了高频业务和时间敏感型业务的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的方法步骤流程图;
图2为本发明方法实施例的流程示意图。
具体实施方式
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
如图1,2所示,一种区块链交易并行执行加速方法,具体实施流程如下:
阶段一:将待提交的区块放入缓存池
为了控制并发数量,本发明创建一个有限容量的缓存池用于保存将被用于生成DAG的区块队列。假定DAG缓存池的大小为10,则本发明顺序取出Block1到Block10这10个连续的区块放入到DAG缓存池中。
阶段二:使用缓存池中的区块生成DAG
本发明对DAG缓存池中的每一个区块进行解析,得到区块内每条交易的读写集。
在有所交易的读写集中,虽然大部分读集和写集是一致的(例如a向b转10块钱,则交易中的读集是a,b,写集也是a,b),但依然会有个别的交易出现读集和写集不一致的情况(例如读集是a,b,写集c是由a,b计算得出的值)。因此要判定两笔交易是否相关联,就需要确定后一笔交易的读集和写集均不在前一笔交易的写集中。由此规则本发明可以将DAG缓存池中的区块生成一张DAG。
阶段三:根据DAG产生提交队列
为了简化DAG,本发明将关联关系进行分级。互不相关的区块放入同一个level,依赖前方区块的被放入下一个level。因此本发明将DAG缓存池中的10个区块分到了level0到level4这5个level中。虽有本发明按照level等级由低到高进行提交。此时同一个level内的区块并行提交,不同的level之间串行提交。
阶段四:区块并行写入文件
这里根据缓存池大小为10,则同时打开10个文件,对10个文件进行并发写入。写入规则为:特定的区块号n对10取模得到m,然后将区块n写入到blockfile_m中。若blockfile_m已达到限制大小,则将区块n写入到blockfile_(m+k*10)。K为递增系数,存放在数据库中。
本发明实施例,至少解决了如下技术问题:
(1)在保证交易最终结果一致的情况下实现区块并行提交;
(2)实现并发地将多个不同的区块写入不同的文件中。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
除以上实例以外,本领域技术人员根据上述公开内容获得启示或利用相关领域的知识或技术进行改动获得其他实施例,各个实施例的特征可以互换或替换,本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
本发明功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,在一台计算机设备(可以是个人计算机,服务器,或者网络设备等)以及相应的软件中执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、或者光盘等各种可以存储程序代码的介质,进行测试或者实际的数据在程序实现中存在于只读存储器(Random Access Memory,RAM)、随机存取存储器(Random Access Memory,RAM)等。

Claims (6)

1.一种区块链交易并行执行加速方法,其特征在于,包括步骤:
S1,将待提交的区块放入缓存池;
S2,使用缓存池中的区块生成有向无环图DAG;
S3,根据有向无环图DAG产生提交队列;
S4,区块并行写入文件。
2.根据权利要求1所述的一种区块链交易并行执行加速方法,其特征在于,在步骤S1前,包括步骤S0:创建一个有限容量的缓存池,用于保存将被用于生成有向无环图DAG的区块队列。
3.根据权利要求1所述的一种区块链交易并行执行加速方法,其特征在于,在步骤S2中,包括步骤:对DAG缓存池中的每一个区块进行解析,得到区块内每条交易的读写集,并使后一笔交易的读集和写集均不在前一笔交易的写集中。
4.根据权利要求1所述的一种区块链交易并行执行加速方法,其特征在于,在步骤S3中,包括步骤:将互不相关的区块放入同一个等级level,依赖前方区块的被放入下一个等级level,按照level等级排序进行提交,同一个等级level内的区块并行提交,不同等级level之间串行提交。
5.根据权利要求1所述的一种区块链交易并行执行加速方法,其特征在于,在步骤S4中,包括步骤:根据缓存池大小,同时打开多个文件,对打开的多个文件进行并发写入。
6.根据权利要求5所述的一种区块链交易并行执行加速方法,其特征在于,所述并发写入的写入规则包括:
将特定的区块号n对缓存池大小数值取模得到m,然后将区块n写入到blockfile_m中;若blockfile_m已达到限制大小,则将区块n写入到blockfile_(m+k*10);K为递增系数,存放在数据库中。
CN202110769243.1A 2021-07-07 2021-07-07 一种区块链交易并行执行加速方法 Pending CN113421095A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110769243.1A CN113421095A (zh) 2021-07-07 2021-07-07 一种区块链交易并行执行加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110769243.1A CN113421095A (zh) 2021-07-07 2021-07-07 一种区块链交易并行执行加速方法

Publications (1)

Publication Number Publication Date
CN113421095A true CN113421095A (zh) 2021-09-21

Family

ID=77720533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110769243.1A Pending CN113421095A (zh) 2021-07-07 2021-07-07 一种区块链交易并行执行加速方法

Country Status (1)

Country Link
CN (1) CN113421095A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113674095A (zh) * 2021-10-20 2021-11-19 浙商银行股份有限公司 一种基于交易dag提高区块链吞吐量的方法
WO2023097077A1 (en) * 2021-11-29 2023-06-01 Circle Internet Financial, Inc. Parallel block processing in blockchains

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108537543A (zh) * 2018-03-30 2018-09-14 百度在线网络技术(北京)有限公司 区块链数据的并行处理方法、装置、设备和存储介质
CN110941647A (zh) * 2019-11-11 2020-03-31 华中科技大学 一种基于dag的区块链的跨链交互方法和系统
CN111179071A (zh) * 2018-11-09 2020-05-19 北京天德科技有限公司 一种基于拓扑排序的区块链交易依赖分析方法
CN111932257A (zh) * 2020-08-18 2020-11-13 工银科技有限公司 一种区块链并行化处理方法及装置
CN112837163A (zh) * 2021-03-22 2021-05-25 中国工商银行股份有限公司 基于区块链的批量交易上链方法及系统
CN112990895A (zh) * 2021-03-11 2021-06-18 杭州复杂美科技有限公司 一种加速区块链交易并行执行的方法、设备及储存介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108537543A (zh) * 2018-03-30 2018-09-14 百度在线网络技术(北京)有限公司 区块链数据的并行处理方法、装置、设备和存储介质
CN111179071A (zh) * 2018-11-09 2020-05-19 北京天德科技有限公司 一种基于拓扑排序的区块链交易依赖分析方法
CN110941647A (zh) * 2019-11-11 2020-03-31 华中科技大学 一种基于dag的区块链的跨链交互方法和系统
CN111932257A (zh) * 2020-08-18 2020-11-13 工银科技有限公司 一种区块链并行化处理方法及装置
CN112990895A (zh) * 2021-03-11 2021-06-18 杭州复杂美科技有限公司 一种加速区块链交易并行执行的方法、设备及储存介质
CN112837163A (zh) * 2021-03-22 2021-05-25 中国工商银行股份有限公司 基于区块链的批量交易上链方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113674095A (zh) * 2021-10-20 2021-11-19 浙商银行股份有限公司 一种基于交易dag提高区块链吞吐量的方法
WO2023097077A1 (en) * 2021-11-29 2023-06-01 Circle Internet Financial, Inc. Parallel block processing in blockchains
US11849039B2 (en) 2021-11-29 2023-12-19 Circle Internet Financial Limited Parallel block processing in blockchains

Similar Documents

Publication Publication Date Title
US11349639B2 (en) Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms
US9223720B2 (en) Systems and methods for rapidly generating suitable pairs of hash functions
US10503716B2 (en) Systems and methods for generating bit matrices for hash functions using fast filtering
JP5460486B2 (ja) データをソートする装置及び方法
TWI730690B (zh) 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備
CN113421095A (zh) 一种区块链交易并行执行加速方法
CN114116665B (zh) 数据库中并行写入事务日志以提升处理效率的方法
US20180300146A1 (en) Database operating method and apparatus
US20190042615A1 (en) Hybrid concurrency control
WO2023184052A1 (zh) 一种数据处理方法、区块链节点及区块链系统
EP3933639B1 (en) Transaction processing method, apparatus, and electronic device for blockchain
CN111724256A (zh) 一种基于多核架构的智能合约执行优化方法
US20070079109A1 (en) Simulation apparatus and simulation method
US7197445B1 (en) Atomic transaction processing for logic simulation
Körner et al. Distributed model checking using ProB
WO2020238736A1 (zh) 一种生成解码矩阵的方法、解码方法和对应装置
US11106846B1 (en) Systems and methods for emulation data array compaction
JPWO2019008715A1 (ja) データロードプログラム、データロード方法およびデータロード装置
CN110059378B (zh) 一种基于GPU并行计算的自动制造系统Petri网状态生成方法
US10606757B2 (en) Method, device and computer program product for flushing metadata in multi-core system
CN110377601A (zh) 一种基于B树数据结构的MapReduce计算过程优化方法
Agullo et al. A preliminary out-of-core extension of a parallel multifrontal solver
US11080030B2 (en) Information processing apparatus and information processing method
US20220138338A1 (en) Data replacement apparatus, data replacement method, and program
US20050251795A1 (en) Method, system, and program for optimizing code

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210921