CN108985740B - 高性能共识算法的实现方法 - Google Patents

高性能共识算法的实现方法 Download PDF

Info

Publication number
CN108985740B
CN108985740B CN201810740356.7A CN201810740356A CN108985740B CN 108985740 B CN108985740 B CN 108985740B CN 201810740356 A CN201810740356 A CN 201810740356A CN 108985740 B CN108985740 B CN 108985740B
Authority
CN
China
Prior art keywords
partition
block
unit
request
consensus algorithm
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.)
Active
Application number
CN201810740356.7A
Other languages
English (en)
Other versions
CN108985740A (zh
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.)
Hu Zhensheng
Original Assignee
Quark Chain Technology Shenzhen 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 Quark Chain Technology Shenzhen Co ltd filed Critical Quark Chain Technology Shenzhen Co ltd
Priority to CN201810740356.7A priority Critical patent/CN108985740B/zh
Publication of CN108985740A publication Critical patent/CN108985740A/zh
Application granted granted Critical
Publication of CN108985740B publication Critical patent/CN108985740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了高性能共识算法的实现方法,包括以下步骤:①、用户发起转账请求,区块链把请求发送至全节点;②、全节点把请求广播到邻居节点;③、全节点和邻居节点把交易请求发送到一号分区单元;④、一号分区单元把请求进行一系列处理,发送至另外的(3n+1,n≥1)个分区单元;⑤、一号分区单元需要接收超过(2n+1,n≥1)个分区单元的确认签名;⑥、一号分区单元把其他分区单元签名的分区区块头单元发送到所有的DPOS出块节点;⑦、DPOS中的出块节点轮流出块,然后每个节点把负责的分区区块合并打包入链;⑧、将转账结果反馈给用户。本发明通过将区块打包的流程解耦,加入分区块机制,可以水平扩展提升区块链的交易速度。

Description

高性能共识算法的实现方法
技术领域
本发明涉及区块链共识算法技术领域,尤其涉及高性能共识算法的实现方法。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识算法机制是区块链***中实现不同节点之间建立信任、获取权益的数学算法。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本;广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链的应用也越来越广泛,但是在现有技术中,区块链的交易速度低,主要的瓶颈是受共识算法的限制。
发明内容
本发明的目的是为了解决现有技术中区块链的交易速度低的问题,而提出的高性能共识算法的实现方法。
为了实现上述目的,本发明采用了如下技术方案:
高性能共识算法的实现方法,包括以下步骤:
(1)用户发起一笔转账请求,区块链把该请求发送到对应钱包所连接的全节点;
(2)接收请求后的全节点把该请求广播到若干个邻居节点;
(3)全节点和若干个邻居节点根据用户地址的哈希计算结果,把用户的交易请求发送到一号分区单元;
(4)一号分区单元把该分区内的交易请求进行预执行、打包的流程解耦和生成分片区块处理,然后一号分区单元把生成的分片区块发送至另外的(3n+1,n≥1)个分区单元;
(5)一号分区单元需要接收到超过(2n+1,n≥1)个分区单元的确认签名;
(6)一号分区单元把其他分区单元的确认签名进行合入分区区块处理,生成分区区块头单元,然后把分区区块头单元发送到所有的DPOS出块节点;
(7)DPOS中的出块节点轮流出块,DPOS出块节点把分区区块头单元进行打包处理,并发送到其他若干个DPOS做BFT共识,超过三分之二的DPOS的节点确认签名就可以成功出块,生成全局区块单元,把全局区块单元的信息加入区块链内并进行全网广播;
(8)最早接收请求的节点将区块链上的转账结果反馈给用户,并把转账结果进行显示。
优选的,所述步骤(4)中一号分区单元与另外的(3n+1,n≥1)个分区单元之间做分区单元间的BFT共识算法。
优选的,步骤(4)中打包的流程解耦时做的是分区单元内部的BFT共识算法。
优选的,所述步骤(4)和步骤(5)中的n要取同一数值。
优选的,所述步骤(4)中的预执行、打包的流程解耦和生成分片区块处理为并列同时操作。
优选的,所述步骤(6)中分区区块头单元包括的信息有:分区单元序号、区块序号、stateRoot、transactionsRoot、receiptsRoot、其他分区单元的签名信息和时间戳,所述分区单元序号包括一号分区序号和其他若干个分区单元的序号,所述stateRoot表示转账交易处于每个状态时的哈希值,所述transactionsRoot表示转账交易的哈希值,所述receiptsRoot表示转账交易收据的哈希值,所述时间戳为分区区块头单元成立的时间戳。
与现有技术相比,本发明提供了高性能共识算法的实现方法,具备以下有益效果:该高性能共识算法的实现方法,通过将区块打包的流程解耦,加入分区块机制,可以水平扩展提升区块链的交易速度。
该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现,本发明结构简单,操作方便。
附图说明
图1为本发明提出的高性能共识算法的实现方法的操作步骤流程图;
图2为本发明提出的高性能共识算法的实现方法的组成图;
图中:1、使用用户;2、全节点;3、邻居节点;4、主分区单元;5、分区单元;6、DPOS出块节点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
实施例1
如图1所示,高性能共识算法的实现方法,所述实现方法包括以下步骤:
(1)用户发起一笔转账请求,区块链把该请求发送到对应钱包所连接的全节点;
(2)接收请求后的全节点把该请求广播到若干个邻居节点;
(3)全节点和若干个邻居节点根据用户地址的哈希计算结果,把用户的交易请求发送到一号分区单元;
(4)一号分区单元把该分区内的交易请求进行预执行、打包的流程解耦和生成分片区块处理,然后一号分区单元把生成的分片区块发送至另外的(3n+1,n≥1)个分区单元;
(5)一号分区单元需要接收到超过(2n+1,n≥1)个分区单元的确认签名;
(6)一号分区单元把其他分区单元的确认签名进行合入分区区块处理,生成分区区块头单元,然后把分区区块头单元发送到所有的DPOS出块节点;
(7)DPOS中的出块节点轮流出块,DPOS出块节点把分区区块头单元进行打包处理,并发送到其他若干个DPOS做BFT共识,超过三分之二的DPOS的节点确认签名就可以成功出块,生成全局区块单元,把全局区块单元的信息加入区块链内并进行全网广播;
(8)最早接收请求的节点将区块链上的转账结果反馈给用户,并把转账结果进行显示。
进一步的,步骤(4)中一号分区单元与另外的(3n+1,n≥1)个分区单元之间做分区单元间的BFT共识算法,是为了防止一号分区单元内的节点联合作恶,影响正常的转账交易。
进一步的,步骤(4)中打包的流程解耦时做的是分区单元内部的BFT共识算法。
进一步的,步骤(4)和步骤(5)中的n要取同一数值,即分区单元的确认签名数量要至少占分区单元数量的三分之二才可以。
进一步的,步骤(4)中的预执行、打包的流程解耦和生成分片区块处理为并列同时操作,提高工作效率。
进一步的,步骤(6)中分区区块头单元包括的信息有:分区单元序号、区块序号、stateRoot、transactionsRoot、receiptsRoot、其他分区单元的签名信息和时间戳,分区单元序号包括一号分区序号和其他若干个分区单元的序号,stateRoot表示转账交易处于每个状态时的哈希值,transactionsRoot表示转账交易的哈希值,receiptsRoot表示转账交易收据的哈希值,时间戳为分区区块头单元成立的时间戳。
实施例2
如图2所示,高性能共识算法的实现方法的组成图,包括使用用户1和全节点2,全节点2用于接收使用用户1发送的转账请求,并将该转账请求广播给周围的若干个邻居节点3,全节点2和若干个邻居节点3根据使用用户1地址的哈希计算结果,把使用用户1的转账交易请求发送到主分区单元4,主分区单元4把该分区内的转账交易请求进行预执行、打包的流程解耦和生成分片区块处理,然后主分区单元4把生成的分片区块发送至另外的(3n+1,n≥1)个分区单元5,主分区单元4需要接收到超过(2n+1,n≥1)个分区单元5的确认签名,即分区单元5的确认签名数要占发送分区单元5数的三分之二,主分区单元4把其他分区单元5的确认签名进行合入分区区块处理,生成分区区块头单元,然后把分区区块头单元发送到所有的DPOS出块节点6,DPOS中的出块节点轮流出块,然后每个节点把负责的分区区块合并打包入链,DPOS出块节点6可以与若干的主分区单元4进行信息传递,DPOS出块节点6也可以与其他的DPOS出块节点进行信息传递,由此形成一个完整的交易区块链,且将区块打包的流程解耦,加入分区块机制,可以水平扩展提升区块链的交易速度,假如有1024个分区单元,每个分区单元每秒处理1000个交易请求,那么该平台分秒可以处理超过百万个交易请求,效率得到明显提高。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (6)

1.高性能共识算法的实现方法,其特征在于:包括以下步骤:
(1)用户发起一笔转账请求,区块链把该请求发送到对应钱包所连接的全节点;
(2)接收请求后的全节点把该请求广播到若干个邻居节点;
(3)全节点和若干个邻居节点根据用户地址的哈希计算结果,把用户的交易请求发送到一号分区单元;
(4)一号分区单元把该分区内的交易请求进行预执行、打包的流程解耦和生成分片区块处理,然后一号分区单元把生成的分片区块发送至另外的(3n+1,n≥1)个分区单元;
(5)一号分区单元需要接收到超过(2n+1,n≥1)个分区单元的确认签名;
(6)一号分区单元把其他分区单元的确认签名进行合入分区区块处理,生成分区区块头单元,然后把分区区块头单元发送到所有的DPOS出块节点;
(7)DPOS中的出块节点轮流出块,DPOS出块节点把分区区块头单元进行打包处理,并发送到其他若干个DPOS做BFT共识,超过三分之二的DPOS的节点确认签名就可以成功出块,生成全局区块单元,把全局区块单元的信息加入区块链内并进行全网广播;
(8)最早接收请求的节点将区块链上的转账结果反馈给用户,并把转账结果进行显示。
2.根据权利要求1所述的高性能共识算法的实现方法,其特征在于:所述步骤(4)中一号分区单元与另外的(3n+1,n≥1)个分区单元之间做分区单元间的BFT共识算法。
3.根据权利要求1所述的高性能共识算法的实现方法,其特征在于:步骤(4)中打包的流程解耦时做的是分区单元内部的BFT共识算法。
4.根据权利要求1所述的高性能共识算法的实现方法,其特征在于:所述步骤(4)和步骤(5)中的n要取同一数值。
5.根据权利要求1所述的高性能共识算法的实现方法,其特征在于:所述步骤(4)中的预执行、打包的流程解耦和生成分片区块处理为并列同时操作。
6.根据权利要求1所述的高性能共识算法的实现方法,其特征在于:所述步骤(6)中分区区块头单元包括的信息有:分区单元序号、区块序号、stateRoot、transactionsRoot、receiptsRoot、其他分区单元的签名信息和时间戳,所述分区单元序号包括一号分区序号和其他若干个分区单元的序号,所述stateRoot表示转账交易处于每个状态时的哈希值,所述transactionsRoot表示转账交易的哈希值,所述receiptsRoot表示转账交易收据的哈希值,所述时间戳为分区区块头单元成立的时间戳。
CN201810740356.7A 2018-07-07 2018-07-07 高性能共识算法的实现方法 Active CN108985740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810740356.7A CN108985740B (zh) 2018-07-07 2018-07-07 高性能共识算法的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810740356.7A CN108985740B (zh) 2018-07-07 2018-07-07 高性能共识算法的实现方法

Publications (2)

Publication Number Publication Date
CN108985740A CN108985740A (zh) 2018-12-11
CN108985740B true CN108985740B (zh) 2021-08-06

Family

ID=64537332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810740356.7A Active CN108985740B (zh) 2018-07-07 2018-07-07 高性能共识算法的实现方法

Country Status (1)

Country Link
CN (1) CN108985740B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886681B (zh) * 2019-01-31 2021-06-18 北京瑞卓喜投科技发展有限公司 区块链共识方法及共识***
CN110020859B (zh) * 2019-03-28 2022-03-11 杭州秘猿科技有限公司 一种并行执行的区块链共识方法、装置及电子设备
CN110990497A (zh) * 2019-12-19 2020-04-10 上海优扬新媒信息技术有限公司 一种基于区块链的信息处理方法及装置、设备、存储介质
CN113095940B (zh) * 2021-04-29 2024-05-10 平安科技(深圳)有限公司 基于同构多链的交易处理方法、区块链***、设备及介质
CN114124350A (zh) * 2021-11-11 2022-03-01 弥达斯科技(深圳)有限公司 一种网络异构环境下提升性能的共识算法
CN114219650B (zh) * 2022-02-21 2022-05-20 浙江数秦科技有限公司 一种低交易延迟的区块链共识方法
CN114710374B (zh) * 2022-03-14 2023-04-18 中国科学院软件研究所 一种数据广播与共识解耦的异步区块链共识方法和***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097344B2 (en) * 2016-07-15 2018-10-09 Mastercard International Incorporated Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains
CN108241968B (zh) * 2017-03-26 2020-08-14 杭州复杂美科技有限公司 前置机参与区块链共识的方法
CN107124403A (zh) * 2017-04-14 2017-09-01 朱清明 区块链中共识区块的生成方法与计算设备
CN106936589B (zh) * 2017-04-21 2020-02-07 杭州秘猿科技有限公司 一种无中心的许可链平行分片方法及交易方法
CN107171829B (zh) * 2017-04-24 2019-12-24 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法
CN108023729B (zh) * 2017-10-13 2020-06-23 ***股份有限公司 区块链网络及其交易方法
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、***和计算机可读存储介质

Also Published As

Publication number Publication date
CN108985740A (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
CN108985740B (zh) 高性能共识算法的实现方法
CN111681003B (zh) 资源跨链转移方法、装置、计算机设备以及存储介质
CN109471744B (zh) 基于区块链的主链加并行多子链***架构
CN111026511B (zh) 基于事务数据分区-链间融合的区块链并行***及方法
CN111899002B (zh) 一种区块链中高效进行跨链信息交易交互的方法
EP2189903B1 (en) Barrier synchronization apparatus, barrier synchronization system, and barrier synchronization method
CN107480990A (zh) 区块链记账方法及装置
CN109711192B (zh) 区块链***节点间交易方法及***
CN110336779B (zh) 一种区块链的构建方法、装置和电子设备
CN113645278B (zh) 一种区块链的跨链消息传输方法、设备、存储介质
CN113064764B (zh) 在区块链***中执行区块的方法及装置
CN110324166B (zh) 一种在多个节点中同步目标信息的方法、装置及***
CN109426631A (zh) 一种基于rdma的通信方法、装置及存储介质
CN107231400A (zh) 一种数据的同步方法和装置
CN109766724A (zh) 一种基于区块链的数据存证方法
CN113067669A (zh) 一种网络编码方法及安全网络
CN113961908B (zh) 数据存证方法、装置、计算机设备和存储介质
CN113438032B (zh) 一种量子通信方法及装置
CN113821566A (zh) 一种基于多链分片的区块链聚合架构
CN101714940B (zh) 路径计算及建立方法、路径计算单元和节点、网络
CN116258609B (zh) 一种电力***交易协同方法、装置及存储介质
CN117082054A (zh) 一种数据传输方法、装置、***和介质
CN113079026B (zh) 一种区块链***及区块链网络资源管理方法
CN110266478A (zh) 一种信息处理方法、电子设备
CN113364869B (zh) 一种区块链的消息传输方法、设备及储存介质

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240423

Address after: 433000, No. 15 Xianyuan Avenue, Xiantao City, Hubei Province

Patentee after: Hu Zhensheng

Country or region after: China

Address before: 1202, 12 Keji South 12th Road, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000

Patentee before: QUARK CHAIN TECHNOLOGY (SHENZHEN) Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right