CN114584577B - 一种处理数据的区块链分片异步共识方法及系统 - Google Patents

一种处理数据的区块链分片异步共识方法及系统 Download PDF

Info

Publication number
CN114584577B
CN114584577B CN202210228072.6A CN202210228072A CN114584577B CN 114584577 B CN114584577 B CN 114584577B CN 202210228072 A CN202210228072 A CN 202210228072A CN 114584577 B CN114584577 B CN 114584577B
Authority
CN
China
Prior art keywords
consensus
nodes
node
group
slicing
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
CN202210228072.6A
Other languages
English (en)
Other versions
CN114584577A (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.)
Kunming University of Science and Technology
Original Assignee
Kunming University of Science and Technology
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 Kunming University of Science and Technology filed Critical Kunming University of Science and Technology
Priority to CN202210228072.6A priority Critical patent/CN114584577B/zh
Publication of CN114584577A publication Critical patent/CN114584577A/zh
Application granted granted Critical
Publication of CN114584577B publication Critical patent/CN114584577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种处理数据的区块链分片异步共识方法及系统,属于区块链技术与工业互联网技术领域。本发明通过随机类型算法,将共识节点分为地位、规模、功能上完全一致的多个共识组,每个共识组共识节点数量大致等,它们并行工作,之间相互独立,互不干扰,共识过程满足局部异步性。本发明会极大程度上分摊网络带宽,降低消息复杂度,提高共识效率,并且解决了目前分片共识算法安全性不高,攻击代价减少的缺点。

Description

一种处理数据的区块链分片异步共识方法及系统
技术领域
本发明涉及一种处理数据的区块链分片异步共识方法及系统,属于区块链技术与工业互联网技术领域。
背景技术
信息时代,海量无规则的信息在不同领域被筛选、整理、保存,信息如何安全高效的被筛选、保存成为各个企业、单位愈加重视的重要问题。2008年,中本聪发表了比特币白皮书,正式开启了区块链的发展征程,区块链为数据共识、存储提供了新思路,区块链本质上是一种去中心化的分布式数据库,在保障数据不可篡改的前提下,还增强了数据筛选可靠性。共识机制是区块链系统关键的逻辑部件,主要为系统提供满足数据有效性、一致性、可终止性协议。如今主流的共识算法主要有基于比特币网络的PoW算法、基于以太坊的PoS\DPoS算法、基于联盟链的PBFT算法以及基于异步环境的HoneyBadgerBTF算法等,但现有共识算法大多都受网络带宽、内存等限制,吞吐量有限,无法在保障安全性的前提下做到高效运算。
发明内容
本发明要解决的技术问题是提供一种处理数据的区块链分片异步共识方法及系统,以用于解决现有共识算法效率不高、网络条件要求严格、存储资源占用过高等问题。本发明突破带宽限制,增加了交易吞吐量,减少了通信复杂度,提高系统工作效率。
本发明的技术方案是:一种处理数据的区块链分片异步共识方法,具体步骤为:
Step1:通过哈希算法,对节点的地址或进入网络的时间戳等具有唯一标识的特征进行取模;
Step2:根据节点哈希值大小对节点进行切片,将节点分入不同的共识组,保证每个共识组的节点数量不少于0.5e,不多于2e,e为分片的平均节点数;
Step3:获取各共识组的节点数量,共识正确率以及共识反应速率数据,根据节点数量、共识正确率、共识速率对每个共识组及各节点进行加权运算,计算出各共识组以及各节点的权重值;权重计算模块每到Point时间分片完成后计算该Point时间内共识组和节点的权重值,最终权重值取各Point时间内权重值的平均值。
对节点数量、共识正确率、共识速率进行分片的权重计算,权重占比可以动态变动,指标计算公式为:
式中,eij表示第i个分片第j个权重指标的权重值,min为该指标的最小值,max为该指标的最大值;
分片权重值计算公式为:
式中,ei表示第i个分片的权重值,wj表示第j个权重指标的权重占比;
节点权重值计算公式为:
式中,eik表示第i个分片的第k个节点的权重值,eikj表示第i个分片的第k个节点第j个权重指标的权重值。
针对权重值单位不同的情况,可以将权重值限制于0到2之间,并且对于该范围的划定,权重值可以更合理的体现各节点和共识组的能力水平,保证各共识组承受的任务量最多是平均任务量的二倍,而最少则不会分配任务量。这样理论上保证了任务量全分配,同时权重高的共识组也不会出现任务过载的情况。
Step4:根据权重值乘以平均任务量的结果,对任务量进行分配;
Step5:依据共识正确率、交易速率选出各共识组权重最高的节点,做为外部验证节点;
Step6:共识组中节点从自身交易池中随机选出一批交易,对交易进行门限加密,通过RBC广播协议广播给分片内其他节点,再通过异步二进制ABA协议进行最后共识,共识完成后等待外部验证节点进行全局一致性验证;
Step7:共识完成后,外部验证节点将区块提交给其他各组外部验证节点,各组外部验证节点验证过后再通知验证该区块是否满足全局一致性;
Step8:若该区块满足全局一致性,则所有外部验证节点和原分片节点将该区块写入自身维护的区块链;
Step9:每隔Point时间,进入维护状态,节点可以动态的加入或退出节点,重新分配分片并计算各共识组权重。
一种处理数据的区块链分片异步共识系统,包括:
分片模块,用于对节点进行划分,通过hash运算对节点的地址或者节点进入网络的时间戳进行取模;
权重计算模块,用于对共识组进行权重计算,根据节点数量、共识正确率、共识速率对每个共识组及各节点进行加权运算,将各组权重最高的节点设为外部验证节点;
共识模块,用于对区块进行确认,分片内部各节点对区块进行共识,共识完成后由分片内外部验证节点与其他分片外部验证节点交互。
所述分片模块的分片数量为m/e,根据取模结果将节点划分到对应分片,保证每个分片节点数量不少于0.5e,不多于2e,其中,m表示节点数量,e表示理想状态下分片内节点平均数量。
所述权重计算模块每到Point时间分片完成后重新计算权重值,权重值低于0.5的分片被解散,调用分片模块对这些节点重新分片。
所述共识模块新增外部验证节点,分片内共识完成后还需与其他分片节点进行共识,有效实现了共识组之间的互动,共识不光要在组内进行,还需要共识组之间进行确认,有效防止了分片作恶的可能性,使其满足全局一致性。
Point时间前要对各共识组发出通知,各组收到Point时间通知后便不再进行新的共识,要保证Point时间时没有共识组正在进行共识,Point时间的设置前期可以动态变化,之后会趋于稳定,一般根据新增节点数量以及共识区块的数量划分,例如规定新增200个区块或者要新加入的节点超过200个时就要进入Point时间。
本发明的有益效果是:本发明通过随机类型算法,将共识节点分为地位、规模、功能上完全一致的多个共识组,每个共识组共识节点数量大致相等,它们并行工作,之间相互独立,互不干扰,并且共识过程可以满足局部异步性。
附图说明
图1是本发明的步骤流程图;
图2是本发明共识阶段的流程图。
具体实施方式
下面结合附图和具体实施方式,对本发明作进一步说明。
如图1所示,一种处理数据的区块链分片异步共识方法,主要应用于网络中共识节点数量庞大、网络环境不稳定的区块链场景,相较于一般的分片算法,本发明任务分配机制更为合理,可以有效防止拜占庭节点对某一共识组集中作恶,不会出现某一共识组过载的现象;而相较于单纯的异步共识算法,该算法会极大提高共识效率。
具体步骤为:
Step1:通过哈希算法,对节点的地址或进入网络的时间戳等具有唯一标识的特征进行取模。只要特征值不同,取模相同的场景几乎不存在,同时还会保证随机性,防止拜占庭节点因为预知分片策略而分入同一个共识组;
Step2:根据节点哈希值大小对节点进行切片,将节点分入不同的共识组,第一次分片数量为m/n,根据取模结果将节点划分到对应分片,其中,m表示节点数量,n表示理想状态下分片内节点平均数量。
之后每次Point时间的每次分片,新增节点按照节点哈希值大小随机分入各共识组。保证每个共识组的节点数量不少于0.5n,不多于2n(n为分片的平均节点数)。节点数量太少会减低共识组安全性,拜占庭节点攻击的成本会大大降低,节点数量太多则有悖于分片原则,共识组性能会降低。
Step3:系统获取各共识组的节点数量,节点的共识正确率以及共识反应速率数据,根据节点数量、共识正确率、共识速率对每个共识组及各节点进行加权运算,计算出各共识组以及各节点的权重值,权重计算模块每到Point时间分片完成后计算该Point时间内共识组和节点的权重值,最终权重值取各Point时间内权重值的平均值。每个Point时间都会权重值低于0.5的分片被解散,调用分片模块对这些节点重新分片。对节点数量、共识正确率、共识速率进行分片的权重计算,权重占比可以动态变动,指标计算公式为:
其中eij表示第i个分片第j个权重指标的权重值,min为该指标的最小值,max为该指标的最大值;
分片权重值计算公式为:
其中ei表示第i个分片的权重值,wj表示第j个权重指标的权重占比;
节点权重值计算公式为:
其中eik表示第i个分片的第k个节点的权重值,eikj表示第i个分片的第k个节点第j个权重指标的权重值。
针对权重值单位不同的情况,该算法可以将权重值限制于0到2之间,并且对于该范围的划定,权重值可以更合理的体现各节点和共识组的能力水平,保证各共识组承受的任务量最多是平均任务量的二倍,而最少则不会分配任务量。这样理论上保证了任务量全分配,同时权重高的共识组也不会出现任务过载的情况。
Step4:权重计算模块根据共识组权重结果,根据平均任务量乘以权重值分配任务量。
Step5:依据共识正确率、共识速率选出各共识组权重最高节点成为外部验证节点。权重值由节点之前的表现统计而来,很大程度上权重值代表了节点可信任程度,外部验证节点作为共识组之间交互的重要节点,通过权重值选举的方式会极大减少拜占庭节点通过外部验证节点作恶的可能。
Step6:共识组中节点从自身交易池中随机选出一批交易,对交易集合进行门限加密,通过RBC广播协议广播给分片内其他节点,再通过ABA异步二进制协议进行最后共识,共识完成后等待外部验证节点进行全局一致性验证。HoneyBadgerBTF算法作为异步共识算法,大部分时间呈现异步状态,同时广播阶段的门限加密算法和共识阶段的随机抛币算法有效保证了共识算法一致性、有效性和可终止性,可以很好的与分片共识机制达到互补状态。
Step7:共识完成后外部验证节点将区块提交给其他各组外部验证节点,各组外部验证节点验证过后再通知该区块外部验证节点是否满足全局一致性。片内共识完成后还需与其他分片节点进行共识,有效实现了共识组之间的互动,共识不光要在组内进行,还需要共识组之间进行确认,有效防止了分片作恶的可能性,使其满足全局一致性。
Step8:外部验证节点验证通过后保证该区块满足全局一致性,所有共识组的外部验证节点和原分片节点将该区块写入自身维护的区块链副本中。普通节点本地只保存该共识组共识后的区块,外部验证节点本地会保存完整的区块链,可以在不破坏数据完整性的情况下有效减少内存消耗。
Step9:每隔Point时间,系统进入维护状态,节点可以动态的加入或退出节点,重新分配分片并计算各共识组权重。Point时间前要对各共识组发出通知,各组收到Point时间通知后便不再进行新的共识,要保证Point时间时没有共识组正在进行共识,Point时间的设置前期可以动态变化,之后会趋于稳定,一般根据新增节点数量以及共识区块的数量划分,例如规定链上新增200个区块或者申请新加入网络的节点超过200个时就要进入Point时间。
一种处理数据的区块链分片异步共识系统,包括:
分片模块,用于对节点进行划分,通过hash运算对节点的地址或者节点进入网络的时间戳进行取模;
权重计算模块,用于对共识组进行权重计算,根据节点数量、共识正确率、共识速率对每个共识组及各节点进行加权运算,将各组权重最高的节点设为外部验证节点;
共识模块,用于对区块进行确认,分片内部各节点对区块进行共识,共识完成后由分片内外部验证节点与其他分片外部验证节点交互。
所述分片模块的分片数量为m/e,根据取模结果将节点划分到对应分片,保证每个分片节点数量不少于0.5e,不多于2e,其中,m表示节点数量,e表示理想状态下分片内节点平均数量。
所述权重计算模块每到Point时间分片完成后重新计算权重值,权重值低于0.5的分片被解散,调用分片模块对这些节点重新分片。
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (5)

1.一种处理数据的区块链分片异步共识方法,其特征在于,具体步骤为:
Step1:通过哈希算法,对节点的地址或进入网络的时间戳具有唯一标识的特征进行取模;
Step2:根据节点哈希值大小对节点进行切片,将节点分入不同的共识组,保证每个共识组的节点数量不少于0.5e,不多于2e,e为分片的平均节点数;
Step3:获取各共识组的节点数量,共识正确率以及共识反应速率数据,根据节点数量、共识正确率、共识速率对每个共识组及各节点进行加权运算,计算出各共识组以及各节点的权重值;
Step4:根据权重值,对任务量进行分配;
Step5:依据共识正确率、交易速率选出各共识组权重最高的节点,做为外部验证节点;
Step6:共识组中节点从自身交易池中随机选出一批交易,对交易进行门限加密,通过RBC广播协议广播给分片内其他节点,再通过异步二进制ABA协议进行最后共识,共识完成后等待外部验证节点进行全局一致性验证;
Step7:共识完成后,外部验证节点将区块提交给其他各组外部验证节点,各组外部验证节点验证过后再通知验证该区块是否满足全局一致性;
Step8:若该区块满足全局一致性,则所有外部验证节点和原分片节点将该区块写入自身维护的区块链;
Step9:每隔Point时间,进入维护状态,节点可以动态的加入或退出节点,重新分配分片并计算各共识组权重。
2.一种处理数据的区块链分片异步共识系统,用于执行如权利要求1所述的处理数据的区块链分片异步共识方法,其特征在于,包括:
分片模块,用于对节点进行划分,通过hash运算对节点的地址或者节点进入网络的时间戳进行取模;
权重计算模块,用于对共识组进行权重计算,根据节点数量、共识正确率、共识速率对每个共识组及各节点进行加权运算,将各组权重最高的节点设为外部验证节点;
共识模块,用于对区块进行确认,分片内部各节点对区块进行共识,共识完成后由分片内外部验证节点与其他分片外部验证节点交互。
3.根据权利要求2所述的处理数据的区块链分片异步共识系统,其特征在于:所述分片模块的分片数量为m/e,根据取模结果将节点划分到对应分片,保证每个分片节点数量不少于0.5e,不多于2e,其中,m表示节点数量,e表示理想状态下分片内节点平均数量。
4.根据权利要求2所述的处理数据的区块链分片异步共识系统,其特征在于:所述权重计算模块每到Point时间分片完成后重新计算权重值,权重值低于0.5的分片被解散,调用分片模块对这些节点重新分片。
5.根据权利要求2所述的处理数据的区块链分片异步共识系统,其特征在于:所述共识模块新增外部验证节点,分片内共识完成后还需与其他分片节点进行共识,使其满足全局一致性。
CN202210228072.6A 2022-03-08 2022-03-08 一种处理数据的区块链分片异步共识方法及系统 Active CN114584577B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210228072.6A CN114584577B (zh) 2022-03-08 2022-03-08 一种处理数据的区块链分片异步共识方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210228072.6A CN114584577B (zh) 2022-03-08 2022-03-08 一种处理数据的区块链分片异步共识方法及系统

Publications (2)

Publication Number Publication Date
CN114584577A CN114584577A (zh) 2022-06-03
CN114584577B true CN114584577B (zh) 2023-12-19

Family

ID=81773282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210228072.6A Active CN114584577B (zh) 2022-03-08 2022-03-08 一种处理数据的区块链分片异步共识方法及系统

Country Status (1)

Country Link
CN (1) CN114584577B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114862397B (zh) * 2022-07-06 2022-09-30 国网天津市电力公司培训中心 一种基于双链结构的双解耦区块链分布式方法
CN116233145B (zh) * 2023-05-05 2023-08-01 北京邮电大学 一种基于分片策略的区块链异步共识方法及装置
CN116743343B (zh) * 2023-06-26 2024-01-23 天津大学 一种面向复杂网络环境的高性能区块链共识方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106442575A (zh) * 2016-04-11 2017-02-22 红云红河烟草(集团)有限责任公司 一种分析检验卷烟烟丝中各配方模块分布的方法
CN107330786A (zh) * 2017-05-19 2017-11-07 杭州云象网络技术有限公司 一种基于权重的区块链网络节点通信方法
CN113191790A (zh) * 2021-05-27 2021-07-30 贵阳爱法信息有限公司 用户需求与商品服务槽点表对接与质量跟踪方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263059B2 (en) * 2018-09-07 2022-03-01 International Business Machines Corporation Load leveler
US11526808B2 (en) * 2019-05-29 2022-12-13 The Board Of Trustees Of The Leland Stanford Junior University Machine learning based generation of ontology for structural and functional mapping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106442575A (zh) * 2016-04-11 2017-02-22 红云红河烟草(集团)有限责任公司 一种分析检验卷烟烟丝中各配方模块分布的方法
CN107330786A (zh) * 2017-05-19 2017-11-07 杭州云象网络技术有限公司 一种基于权重的区块链网络节点通信方法
CN113191790A (zh) * 2021-05-27 2021-07-30 贵阳爱法信息有限公司 用户需求与商品服务槽点表对接与质量跟踪方法和系统

Also Published As

Publication number Publication date
CN114584577A (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN114584577B (zh) 一种处理数据的区块链分片异步共识方法及系统
CN110113388B (zh) 一种基于改进型聚类算法的区块链系统共识的方法和装置
CN107621973B (zh) 一种跨集群的任务调度方法及装置
CN111294234B (zh) 一种基于智能合约优化模型的并行区块链分片方法
US20220086539A1 (en) Virtual optical network-oriented spectrum resource trading method and system
CN111182048B (zh) 一种基于区块链使能的群智感知的智能交通管理方法
CN108270805A (zh) 用于数据处理的资源分配方法及装置
WO2022267715A1 (zh) 一种预言机节点筛选方法、装置、存储介质及电子装置
CN110598060A (zh) 一种区块链快速共识方法、装置、计算机设备和存储介质
CN111478795A (zh) 一种基于混合拜占庭容错的联盟区块链网络共识方法
CN106130960A (zh) 盗号行为的判断系统、负载调度方法和装置
CN110995597A (zh) 一种电力通信网安全链路选择方法和系统
CN115033340A (zh) 一种宿主机的选择方法及相关装置
CN107038067B (zh) 分布式流处理中处理资源的管理方法和装置
CN111813580B (zh) 一种基于矩阵表示的分布式模型训练优化方法
CN111881165B (zh) 一种数据聚合方法、装置和计算机可读存储介质
CN110619020B (zh) 一种基于机器学习的区块链分片方法
CN113746859B (zh) 一种高网络性能与安全性的vaPBFT区块链共识方法
CN112801791A (zh) 一种基于授权的区块链共识方法及系统
Zhang et al. Txallo: Dynamic transaction allocation in sharded blockchain systems
CN109285015B (zh) 一种虚拟资源的分配方法及系统
CN115713395A (zh) 一种基于Flink的用户风控管理方法、装置及设备
CN114997865A (zh) 一种基于区块链系统的平台交易方法及装置
CN115525230A (zh) 存储资源的分配方法、装置、存储介质及电子设备
CN114090226A (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