CN114520812B - 用于区块链分片***的存储轮换方法、***、设备及应用 - Google Patents

用于区块链分片***的存储轮换方法、***、设备及应用 Download PDF

Info

Publication number
CN114520812B
CN114520812B CN202110939644.7A CN202110939644A CN114520812B CN 114520812 B CN114520812 B CN 114520812B CN 202110939644 A CN202110939644 A CN 202110939644A CN 114520812 B CN114520812 B CN 114520812B
Authority
CN
China
Prior art keywords
committee
array
module
fragmentation
nodes
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
CN202110939644.7A
Other languages
English (en)
Other versions
CN114520812A (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.)
Xi'an Lianrong Technology Co ltd
Xidian University
Original Assignee
Xi'an Lianrong Technology Co ltd
Xidian University
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 Xi'an Lianrong Technology Co ltd, Xidian University filed Critical Xi'an Lianrong Technology Co ltd
Priority to CN202110939644.7A priority Critical patent/CN114520812B/zh
Publication of CN114520812A publication Critical patent/CN114520812A/zh
Application granted granted Critical
Publication of CN114520812B publication Critical patent/CN114520812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • 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
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于区块链及区块链分片应用技术领域,公开了一种用于区块链分片***的存储轮换方法、***、设备及应用,所述用于区块链分片***的存储轮换方法包括:节点通过解决一个简单的PoW问题加入区块链***;区块链主链广播分片协议,将诸多节点划分到不同委员会;阵列配置模块将不同委员会按照协议要求组成委员会阵列;epoch结束时,***进行重组轮换,将交易无缝迁移到委员会阵列中其他的委员会,而不中断***。本发明提供的区块链分片的快速划分和重置方法,可以显著减少区块链***为重置分片而暂停服务的时间,使***能一直保持较高的吞吐量;该方法可以有效的减轻新分片节点同步数据进行数据交换带来的网络负载压力,提高分片***的稳定性。

Description

用于区块链分片***的存储轮换方法、***、设备及应用
技术领域
本发明属于区块链及区块链分片应用技术领域,尤其涉及一种用于区块链 分片***的存储轮换方法、***、设备及应用。
背景技术
目前,智能电网由于本身的精确测量,高级配电,高级资产管理等业务需 求,其体系结构庞大又复杂。区块链技术在智能电网中应用时,必然会接入大 量不同种类的节点,这些节点包括监控设备的传感器网路节点、工业互联网的 控制节点、设备运维方的节点、各种发电厂的接入节点,用户方的轻量节点等。 目前,以太坊和Hyperledger Fabric等著名的区块链项目都面临着一个问题:由 于全网每一节点都要处理、存出全网的所有交易和全部数据,整个区块链*** 的处理能力受限于单个计算节点。此外,由于共识算法的影响,随个全网节点 数目的增加,区块链***的整体处理能力很可能不会提升,反而还会下降。
分片技术将全网节点划分为若干个片区,利用多个并行的委员会来处理系 统中的交易,提升了区块链***的交易处理效率,解决了区块链的横向扩展问 题。其流程通常包括验证节点的加入、委员会成员的选举与分配、分布式一致 性算法、广播区块和重新配置委员会等步骤。从分片层次来看,分片技术可以 分为通信分片、计算分片、存储分片三个层次,三个方案层层递进。
分片技术的关键在于设计合理的分片方式,支持周期的轮换片区和新旧节 点的更替。因此,针对智能电网的应用场景,亟需设计一套契合电网业务的分 片方案,并提供一种高效的分片存储信息的划分和重置方案。
通过上述分析,现有技术存在的问题及缺陷为:
(1)传统区块链***的事务处理能力受限于单个节点的计算能力,***的 吞吐量和可扩展性太低,无法满足智能电网等新兴场景的业务需求。
(2)传统区块链分片技术使得区块链的吞吐量可以随着分片委员会的数量 线性增加,但牺牲了区块链***的部分安全性,分片***需要频繁的重配置来 保证***的安全性,大大增加***的通信开销和中断服务时间。
解决以上问题及缺陷的难度为:智能电网等新兴场景的业务需求对区块链 ***的吞吐量要求较高,传统的区块链技术无法满足要求,在保证区块链去中 心化和安全性的同时,提高区块链的可扩展性较为困难;利用分片技术提高区 块链可扩展性,实现高吞吐量的同时,如何减少***的通信开销和中断服务时 间较为困难。
解决以上问题及缺陷的意义为:保证区块链***去中心化和安全性的同时 提升区块链***的可扩展性,并且减少了分片***频繁的通信开销和网络载荷, 实现了新兴业务场景的高吞吐量需求;还减少了区块链分片***重配置导致的 服务中断时间,大大增加了分片***的稳定性。
发明内容
针对现有技术存在的问题,本发明提供了一种用于区块链分片***的存储 轮换方法、***、设备及应用。
本发明是这样实现的,一种用于区块链分片***的存储轮换方法,所述用 于区块链分片***的存储轮换方法包括以下步骤:
步骤一,节点通过解决一个简单的PoW问题加入区块链***;
步骤二,区块链主链广播分片协议,将诸多节点划分到不同委员会;
步骤三,阵列配置模块将不同委员会按照协议要求组成委员会阵列;
步骤四,epoch结束时,***进行重组轮换,将交易无缝迁移到委员会阵列 中其他的委员会,而不中断***。
步骤一的作用:节点通过求解PoW问题才能加入***,避免恶意节点制造 大量虚拟节点对***进行女巫攻击。
步骤二的作用:节点运行分片协议,可以生成一个个能异步并行处理区块 链事务的委员会,提升***的吞吐量。
步骤三的作用:阵列配置模块生成一个个委员会阵列,可以在部分委员会 中断服务时,让***继续向外界提供支持。
步骤四的作用:一个epoch结束时,区块链***进行重组轮换,对节点进行 重新分配,生成新的分片委员会,保证委员会不会被恶意节点霸占,影响*** 安全性。
进一步,步骤三中,所述委员会阵列包含若干委员会,在一个epoch中,只 有一个委员会具有记账权。
进一步,所述用于区块链分片***的存储轮换方法,还包括区块链***的 分片初始化设置;其中,所述区块链***的分片初始化设置,包括:
(1)区块链主链模块向所有验证节点广播分片协议,各节点依照随机发生 模块自发地组成一个个分片委员会;
(2)初步形成的分片委员会进行内部节点的共识,直至委员会内部达成稳 定共识;若未达成共识,否则解散委员会,验证节点重新运行分片协议;
(3)委员会向主链模块广播分组情况;
(4)主链模块验证节点的分片情况,若情况属实,更新节点的身份信息并 记录委员会分片情况;
(5)主链模块公布区块链分片结果并广播委员会阵列配置协议;
(6)各委员会向阵列配置模块请求配置;
(7)委员会阵列配置模块在收到信息后对委员会进行配置:阵列配置模块 依照内部算法,选取一定数量的分片委员会Cii,Cij,...进行配置,形成委员会阵 列Ai
(8)初步形成的委员会阵列进行内部节点的共识,直至阵列内部达成稳定 共识;若未达成共识,否则解散委员会阵列,重新配置委员会阵列;
(9)阵列内部达成稳定共识后,将新生成的委员会阵列信息,传递到主链 模块,主链模块更新委员会阵列配置情况。
进一步,所述用于区块链分片***的存储轮换方法,还包括分片***的高 效存储重配置;其中,所述分片***的高效存储重配置,包括:
(1)主链模块检测到部分委员会阵列Ai,Aj运行时间已经到达了一个 epoch,立即记录当前最新区块的Merkel根和最新交易的Hash值,此后这些阵 列向主链模块发送的交易记录均视为无效交易;
(2)主链模块向epoch已满的委员会阵列Ai,Aj发送更新委员会的命令;
(3)委员会阵列在特定端口监测到主链模块的命令,验证消息后立即解散 阵列内部一直在进行交易的委员会Cii,Cjj,向主链模块发送当前阵列配置状况;
(4)主链模块更新委员会阵列配置信息,向更新后的委员会阵列发送之前 记录的最新交易的Hash值,继续进行事务处理;
(5)委员会阵列根据最新交易Hash值,将此笔之后的交易重新分配阵列 内部的其他委员会Cix,Cjy(x≠i,y≠j);
(6)被解散的节点达到一定数目后,这些节点共同运行分片协议,利用随 机发生模块重新组合成新的委员会;
(7)新生成的委员会进行内部共识,若达成稳定共识,则进行步骤(8), 否则执行步骤(6);
(8)新生成的委员会向委员会阵列配置模块发送希望加入委员会阵列的请 求;
(9)委员会阵列配置模块根据阵列配置状况,将新生成的委员会加入到委 员阵列中;
(10)新加入的委员会的节点从阵列内部其他委员会的节点同步区块数据, 阵列内部达成共识后,则进行步骤(11),否则执行步骤(9);
(11)主链模块更新委员会阵列配置情况。
本发明的另一目的在于提供一种应用所述的用于区块链分片***的存储轮 换方法的用于区块链分片***的存储轮换***,所述用于区块链分片***的存 储轮换***包括:主链模块、随机发生模块以及委员会阵列配置模块。
其中,所述主链模块由一批全节点组成,用于记录该***的每一笔交易和 每一次委员会生成或重组信息;
所述随机发生模块,用于产生良好的分布式随机性,节点组成委员会的随 机性由此模块保证;
所述委员会阵列模块,用于对已经生成的委员会进行重组和解散在内的管 理操作,表现形式与随机发生模块类似。
进一步,所述随机发生模块的实现形式,包括特殊节点组成的委员会、主 链模块上启动的一个服务以及所有验证节点所运行的一部分协议。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器 和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行 时,使得所述处理器执行如下步骤:
节点通过解决一个简单的PoW问题加入区块链***;区块链主链广播分片 协议,将诸多节点划分到不同委员会;阵列配置模块将不同委员会按照协议要 求组成委员会阵列;所述委员会阵列包含若干委员会,在一个epoch中,只有一 个委员会具有记账权;epoch结束时,***进行重组轮换,将交易无缝迁移到委 员会阵列中其他的委员会,而不中断***。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序, 所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
节点通过解决一个简单的PoW问题加入区块链***;区块链主链广播分片 协议,将诸多节点划分到不同委员会;阵列配置模块将不同委员会按照协议要 求组成委员会阵列;所述委员会阵列包含若干委员会,在一个epoch中,只有一 个委员会具有记账权;epoch结束时,***进行重组轮换,将交易无缝迁移到委 员会阵列中其他的委员会,而不中断***。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终 端用于实现所述的用于区块链分片***的存储轮换***。
本发明的另一目的在于提供一种所述的用于区块链分片***的存储轮换系 统在基于区块链***的智能电网中的应用。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提 供的用于区块链分片***的存储轮换方法,具体是设计了一种区块链分片存储 的划分和重置方案,在传统分片协议的基础上,借鉴独立冗余磁盘阵列的思维, 将一个个委员会视为一个个独立的区块链分片数据库,把原本一个个处理不同 交易的委员会合并成新的委员会阵列;在每一个epoch中,轮换使用阵列中的委 员会,降低因epoch轮换而产生的服务停止时间,也大大降低了节点因存储重置 而引起的网络负载压力,提高了区块链分片***的稳定性。
本发明提供了一种区块链分片的快速划分和重置方法,该方法可以显著减 少区块链***为重置分片而暂停服务的时间,可以显著减少区块链***为重置 分片而暂停服务的时间,使***能一直保持较高的吞吐量;该方法可以有效的 减轻新分片节点同步数据进行数据交换带来的网络负载压力,提高分片***的 稳定性。
本发明设计了一种区块链的分片存储的划分和重置方案,在传统分片协议 的基础上,借鉴独立冗余磁盘阵列的思维,将一个个委员会视为一个个独立的 区块链分片数据库,把原本一个个处理不同交易的委员会合并成新的委员会阵 列,增加了***的冗余度。虽然使得分片***的并行处理任务的上限有所降低, 但是解决了***轮换epoch时,委员会重组无法继续执行交易验证的问题。
此外,当某一个epoch结束时,如果全体委员会都要进行重组,所有验证节 点都主链模块同步数据,会导致区块链网络负载过大,出现拥堵状态,并且, 这一段时间内,区块链***无法处理任何交易事务。本方案设计的划分和重置 则不会遇到这种情况,新加入委员会阵列的验证节点都会从阵列内部的节点同 步数据,大大降低主链模块的网络负载,减小***内部的通信开销。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所 需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下 还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的用于区块链分片***的存储轮换方法流程图。
图2是本发明实施例提供的区块链分片阵列***结构示意图。
图3是本发明实施例提供的区块链分片***的初始化示意图。
图4是本发明实施例提供的分片***的存储轮换重置示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例, 对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以 解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种用于区块链分片***的存储 轮换方法、***、设备及应用,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的用于区块链分片***的存储轮换方法包 括以下步骤:
S101,节点通过解决一个简单的PoW问题加入区块链***;
S102,区块链主链广播分片协议,将诸多节点划分到不同委员会;
S103,阵列配置模块将不同委员会按照协议要求组成委员会阵列;
S104,epoch结束时,***进行重组轮换,将交易无缝迁移到委员会阵列中 其他的委员会,而不中断***。
下面结合具体实施例对本发明的技术方案作进一步描述。
实施例1:区块链分片阵列***的整体方案
本实施例设计了一种区块链分片***的划分方案,其处理流程如下:分片 ***主链模块对想要的节点进行验证,避免恶意节点创建多个女巫身份;验证 节点加入区块链***后,按照传统的分片方案,对节点进行分片,得到若干个 委员会;委员会阵列配置模块对委员会进行配置重组,生成委员会阵列;主链 模块将交易分发到各委员会阵列中。
本实施例还设计了一种区块链分片***的存储轮换重置方案,其处理流程 如下:分片***主链模块检测到部分委员会当前epoch生命周期结束,要求委员 会阵列解散对应委员会;委员会阵列向对应委员会发出解散命令,更新当前阵 列的信息;主链模块重新向委员会阵列发送事务,委员会阵列开始工作;被解 散的节点重新运行分片协议,形成委员会,并由阵列模块对委员会进行重组。
本发明提出了一种区块链分片存储的划分和重置方案,为更好的支持区块 链分片的重置及节点的轮换,本发明在已有的分片协议进行了修改,并提出了 全新的委员会重配置方法,具体包括一下两个方面:
1.区块链***的分片初始化设置
2.分片***的高效存储重配置方案
下面分别介绍:
1.区块链***的分片初始化设置
该部分中涉及的模块包括主链模块、随机发生模块、委员会阵列配置模块。 主链模块由一批全节点组成,记录着该***的每一笔交易和每一次委员会生成 或重组等信息;随机发生模块主要用来产生良好的分布式随机性,节点组成委 员会的随机性由此模块保证,其具体实现形式可能是一些特殊节点组成的委员 会,也可能是主链模块上启动的一个服务,也可能是所有验证节点所运行的一 部分协议;委员会阵列模块的功能是,对已经生成的委员会进行重组、解散等 管理操作,其表现形式与随机发生模块类似。如图3所示,具体步骤如下:
S201,区块链主链模块向所有验证节点广播分片协议,各节点依照随机发 生模块自发地组成一个个分片委员会;
S202,初步形成的分片委员会进行内部节点的共识,直至委员会内部达成 稳定共识;若未达成共识,否则解散委员会,验证节点重新运行分片协议;
S203,委员会向主链模块广播分组情况;
S204,主链模块验证节点的分片情况,若情况属实,更新节点的身份信息 并记录委员会分片情况;
S205,主链模块公布区块链分片结果并广播委员会阵列配置协议;
S206,各委员会向阵列配置模块请求配置;
S207,委员会阵列配置模块在收到信息后对委员会进行配置:阵列配置模 块依照内部算法,选取一定的数量的分片委员会Cii,Cij,…进行配置,形成委员 会阵列Ai
S208,初步形成的委员会阵列进行内部节点的共识,直至阵列内部达成稳 定共识;若未达成共识,否则解散委员会阵列,重新配置委员会阵列;
S209,阵列内部达成稳定共识后,将新生成的委员会阵列信息,传递到主 链模块,主链模块更新委员会阵列配置情况。
2.分片***的高效存储重配置(见图4)
S301,主链模块检测到部分委员会阵列Ai,Aj运行时间已经到达了一个 epoch,立即记录当前最新区块的Merkel根和最新交易的Hash值,此后这些阵 列向主链模块发送的交易记录均视为无效交易;
S302,主链模块向epoch已满的委员会阵列Ai,Aj发送更新委员会的命令;
S303,委员会阵列在特定端口监测到主链模块的命令,验证消息后立即解 散阵列内部的一直在进行交易的委员会Cii,Cjj,并向主链模块发送当前阵列配置 状况;
S304,主链模块更新委员会阵列配置信息,向更新后的委员会阵列发送之 前记录的最新交易的Hash值,继续进行事务处理;
S305,委员会阵列根据最新交易Hash值,将此笔之后的交易重新分配阵列 内部的其他委员会Cix,Cjy(x≠i,y≠j);
S306,被解散的节点达到一定数目后,这些节点共同运行分片协议,利用 随机发生模块重新组合成新的委员会;
S307,新生成的委员会进行内部共识,若达成稳定共识,则进行S308,否 则执行S306;
S308,新生成的委员会向委员会阵列配置模块发送希望加入委员会阵列的 请求;
S309,委员会阵列配置模块根据阵列配置状况,将新生成的委员会加入到 委员阵列中;
S310,新加入的委员会的节点从阵列内部其他委员会的节点同步区块数据, 阵列内部达成共识后,则进行S311,否则执行S309;
S311,主链模块更新委员会阵列配置情况。
实施例2:智能电网下的区块链分片阵列***
区块链分片阵列***的整体结构如图2所示,整个***主要有用户、验证 节点、委员会以及委员会阵列、主链模块和阵列配置模块组成。对应到智能电 网场景下,各模块有了不同表征形式,具体说明如下:
用户对应着一个个电表,每一个电表在***中都具有一个不变的区块链地 址(即公钥哈希),地址中记录着用户剩余的电力余额;
验证节点对应着智能电网中的基础设施,即发电站、变压器、传感器等智 能电力设备,这些设备或多或少具有一定的算力,可以用来维护整个区块链系 统;此外,验证节点也可以向公众开放注册;
委员会是由若干验证节点组成的分片网络,不同的委员会可以同时并行处 理区块链***的交易,可以大幅度提升区块链***的吞吐量,足以满足智能电 网***内频繁的交易;
委员会阵列由若干委员会配置而成,参考RAID技术,可以设计不同的配 置方案,图2展现了RAID1型和RAID3型两种:RAID1型由两个存储数据信 息完全一致的委员会组成;RAID3型至少由三个委员会组成,其中一个委员会 存储校验信息,其余委员会存储数据信息;
主链模块即区块链的主链,记录着区块链***的全部信息,由于各分片委 员会要保持轻量且快速,只记录部分节点和交易的信息,因此,主链模块的作 用是即为重要的,用来承载智能电网的其他具体业务,实现电网信息化、配电 自动化、电网信息化等;
阵列配置模块是用来将委员会组成一个个委员会阵列,使得区块链***能 无中断地提供服务,不会像传统区块链分片***一样,因为委员会重组导致区 块链停止一段时间的服务,其具体表征形式可以是区块链***上的智能合约, 也可以是分布式应用(DApp)等形式。
实施例3:验证节点的加入
每一个节点在加入委员会前,区块链***会对其进行验证,避免不发分子 对***进行女巫攻击。例如使用PoW进行校验,节点必须能够完成一定的工作, ***才允许进入,否则不允许节点加入委员会。具体步骤如下:
步骤一:节点加入区块链***后,需要进行将身份信息(包括但不限于节 点的公钥、IP地址等)广播给***内每一个节点;
步骤二:主链模块记录每个节点的身份信息;
步骤三:节点将自己的每一个身份信息按照固定的顺序拼接,生成一个Hash 值,检验前x位是否全为零,不满足则不断的尝试nonce值,直到生成前x位全 为零的Hash值,广播这一结果;
步骤四:主链模块对其这一Hash值进行交易,满足则将这一节点列为下一 个epoch的待划分节点。
实施例4:区块链***分片
步骤一:带划分的节点运行分片协议,启动随机发生模块,将验证节点随 机的划分为几个不同的委员会中;
步骤二:委员会内部运行共识算法,以PBFT为例:按照机器编号选举轮流 选择主节点,主节点在委员会内发起共识请求,如果不相同的结果小于委员会 内节点总数的1/3,即可认为达成稳定共识,进行下一步,否则执行步骤一;
步骤三:启动委员会阵列配置模块,按照协议要求对委员会进行组合配置, 例如参照RAID 1,则将划分好的委员会两两组合形成RAID 1阵列;
步骤四:同样在阵列内运行共识算法,如果达成稳定共识则进行步骤五, 未达成则执行步骤三;
步骤五:主链模块对达成稳定共识的委员会阵列分发交易。
实施例5:区块链分片的轮换和重置
假设某一时刻,委员会阵列A0,A1,A2中的委员会C01,C10,C21的epoch结束, 区块链***的分片轮换步骤如下:
步骤一:主链模块向委员会阵列A0,A1,A2发送解散委员会C01,C10,C21的命 令,并记录此时委员会阵列A0,A1,A2落盘区块的最新交易Hash值H0,H1,H2
步骤二:委员会阵列配置模块收到命令后,解散委员会C01,C10,C21
步骤三:委员会阵列A′0,A′1,A′2重新进行共识达成稳定后,进行广播;
步骤四:主链模块分发刚刚记录的Hash值H0,H1,H2
步骤五:委员会将所有事务转移到C00,C11,C20进行处理,并根据Hash值 H0,H1,H2重新开始处理交易数事务;
步骤六:解散后的委员会节点和所有带分片的验证节点,重新运行分片协 议,形成委员会,剩余步骤参照实施例4。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组 合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程 序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指 令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可 以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算 机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向 另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、 计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或 无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据 中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用 介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。 所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、 或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明 的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的 保护范围之内。

Claims (8)

1.一种用于区块链分片***的存储轮换方法,其特征在于,所述用于区块链分片***的存储轮换方法包括以下步骤:
步骤一,节点通过解决一个简单的PoW问题加入区块链***;
步骤二,区块链主链广播分片协议,将诸多节点划分到不同委员会;
步骤三,阵列配置模块将不同委员会按照协议要求组成委员会阵列;
步骤四,epoch结束时,***进行重组轮换,将交易无缝迁移到委员会阵列中其他的委员会,而不中断***;
步骤三中,所述委员会阵列包含若干委员会,在一个epoch中,只有一个委员会具有记账权;
所述用于区块链分片***的存储轮换方法,还包括分片***的高效存储重配置;其中,所述分片***的高效存储重配置,包括:
(1)主链模块检测到部分委员会阵列Ai,Aj运行时间已经到达了一个epoch,立即记录当前最新区块的Merkel根和最新交易的Hash值,此后这些阵列向主链模块发送的交易记录均视为无效交易;
(2)主链模块向epoch已满的委员会阵列Ai,Aj发送更新委员会的命令;
(3)委员会阵列在特定端口监测到主链模块的命令,验证消息后立即解散阵列内部一直在进行交易的委员会Cii,Cjj,向主链模块发送当前阵列配置状况;
(4)主链模块更新委员会阵列配置信息,向更新后的委员会阵列发送之前记录的最新交易的Hash值,继续进行事务处理;
(5)委员会阵列根据最新交易Hash值,将此笔之后的交易重新分配阵列内部的其他委员会Cix,Cjy(x≠i,y≠j);
(6)被解散的节点达到一定数目后,这些节点共同运行分片协议,利用随机发生模块重新组合成新的委员会;
(7)新生成的委员会进行内部共识,若达成稳定共识,则进行步骤(8),否则执行步骤(6);
(8)新生成的委员会向委员会阵列配置模块发送希望加入委员会阵列的请求;
(9)委员会阵列配置模块根据阵列配置状况,将新生成的委员会加入到委员阵列中;
(10)新加入的委员会的节点从阵列内部其他委员会的节点同步区块数据,阵列内部达成共识后,则进行步骤(11),否则执行步骤(9);
(11)主链模块更新委员会阵列配置情况。
2.如权利要求1所述的用于区块链分片***的存储轮换方法,其特征在于,所述用于区块链分片***的存储轮换方法,还包括区块链***的分片初始化设置;其中,所述区块链***的分片初始化设置,包括:
(1)区块链主链模块向所有验证节点广播分片协议,各节点依照随机发生模块自发地组成一个个分片委员会;
(2)初步形成的分片委员会进行内部节点的共识,直至委员会内部达成稳定共识;若未达成共识,否则解散委员会,验证节点重新运行分片协议;
(3)委员会向主链模块广播分组情况;
(4)主链模块验证节点的分片情况,若情况属实,更新节点的身份信息并记录委员会分片情况;
(5)主链模块公布区块链分片结果并广播委员会阵列配置协议;
(6)各委员会向阵列配置模块请求配置;
(7)委员会阵列配置模块在收到信息后对委员会进行配置:阵列配置模块依照内部算法,选取一定数量的分片委员会Cii,Cij,...进行配置,形成委员会阵列Ai
(8)初步形成的委员会阵列进行内部节点的共识,直至阵列内部达成稳定共识;若未达成共识,否则解散委员会阵列,重新配置委员会阵列;
(9)阵列内部达成稳定共识后,将新生成的委员会阵列信息,传递到主链模块,主链模块更新委员会阵列配置情况。
3.一种实施权利要求1~2任意一项所述的用于区块链分片***的存储轮换方法的用于区块链分片***的存储轮换***,其特征在于,所述用于区块链分片***的存储轮换***包括:主链模块、随机发生模块以及委员会阵列配置模块;
其中,所述主链模块由一批全节点组成,用于记录该***的每一笔交易和每一次委员会生成或重组信息;
所述随机发生模块,用于产生良好的分布式随机性,节点组成委员会的随机性由此模块保证;
所述委员会阵列模块,用于对已经生成的委员会进行重组和解散在内的管理操作,表现形式与随机发生模块类似;
所述委员会阵列包含若干委员会,在一个epoch中,只有一个委员会具有记账权;
所述用于区块链分片***的存储轮换,还包括分片***的高效存储重配置;其中,所述分片***的高效存储重配置,包括:
(1)主链模块检测到部分委员会阵列Ai,Aj运行时间已经到达了一个epoch,立即记录当前最新区块的Merkel根和最新交易的Hash值,此后这些阵列向主链模块发送的交易记录均视为无效交易;
(2)主链模块向epoch已满的委员会阵列Ai,Aj发送更新委员会的命令;
(3)委员会阵列在特定端口监测到主链模块的命令,验证消息后立即解散阵列内部一直在进行交易的委员会Cii,Cjj,向主链模块发送当前阵列配置状况;
(4)主链模块更新委员会阵列配置信息,向更新后的委员会阵列发送之前记录的最新交易的Hash值,继续进行事务处理;
(5)委员会阵列根据最新交易Hash值,将此笔之后的交易重新分配阵列内部的其他委员会Cix,Cjy(x≠i,y≠j);
(6)被解散的节点达到一定数目后,这些节点共同运行分片协议,利用随机发生模块重新组合成新的委员会;
(7)新生成的委员会进行内部共识,若达成稳定共识,则进行步骤(8),否则执行步骤(6);
(8)新生成的委员会向委员会阵列配置模块发送希望加入委员会阵列的请求;
(9)委员会阵列配置模块根据阵列配置状况,将新生成的委员会加入到委员阵列中;
(10)新加入的委员会的节点从阵列内部其他委员会的节点同步区块数据,阵列内部达成共识后,则进行步骤(11),否则执行步骤(9);
(11)主链模块更新委员会阵列配置情况。
4.如权利要求3所述的用于区块链分片***的存储轮换***,其特征在于,所述随机发生模块的实现形式,包括特殊节点组成的委员会、主链模块上启动的一个服务以及所有验证节点所运行的一部分协议。
5.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~2任意一项所述用于区块链分片***的存储轮换方法。
6.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~2任意一项所述用于区块链分片***的存储轮换方法。
7.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求3~4任意一项所述的用于区块链分片***的存储轮换***。
8.一种如权利要求3~4任意一项所述的用于区块链分片***的存储轮换***在基于区块链***的智能电网中的应用。
CN202110939644.7A 2021-08-16 2021-08-16 用于区块链分片***的存储轮换方法、***、设备及应用 Active CN114520812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110939644.7A CN114520812B (zh) 2021-08-16 2021-08-16 用于区块链分片***的存储轮换方法、***、设备及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110939644.7A CN114520812B (zh) 2021-08-16 2021-08-16 用于区块链分片***的存储轮换方法、***、设备及应用

Publications (2)

Publication Number Publication Date
CN114520812A CN114520812A (zh) 2022-05-20
CN114520812B true CN114520812B (zh) 2023-02-14

Family

ID=81594481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110939644.7A Active CN114520812B (zh) 2021-08-16 2021-08-16 用于区块链分片***的存储轮换方法、***、设备及应用

Country Status (1)

Country Link
CN (1) CN114520812B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086349A (zh) * 2022-06-10 2022-09-20 河南工业大学 一种基于流水线的高效区块链共识算法
CN115174685B (zh) * 2022-07-05 2023-08-11 上海交通大学 基于流水线机制的区块链中的非中断式跨链委员会换届方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018217804A1 (en) * 2017-05-22 2018-11-29 Visa International Service Association Network for improved verification speed with tamper resistant data
CN110321074A (zh) * 2019-05-20 2019-10-11 西安电子科技大学 基于区块链和分布式存储***的安全存储证明的共识方法
CN110610421A (zh) * 2019-09-03 2019-12-24 北京航空航天大学 分片框架下的保证金管理方法及装置
CN110648139A (zh) * 2019-09-03 2020-01-03 北京航空航天大学 基于分片技术和博弈论的区块链事务验证扩容方法及装置
CN110808838A (zh) * 2019-10-24 2020-02-18 华东师范大学 一种面向联盟链的分片方法
KR20200096045A (ko) * 2019-02-01 2020-08-11 한국전자통신연구원 블록체인 생성 장치, 그것의 블록체인을 샤딩하는 방법 및 그것을 포함하는 시스템
CN111724145A (zh) * 2020-05-25 2020-09-29 天津大学 一种区块链***分片协议的设计方法
CN112463310A (zh) * 2020-12-08 2021-03-09 北京众享比特科技有限公司 基于节点分片的事务数据处理方法、***、设备和介质
CN112511590A (zh) * 2020-10-26 2021-03-16 南京辰阔网络科技有限公司 一种区块链分片的高效存储重配置方法
CN113157457A (zh) * 2021-04-30 2021-07-23 工银科技有限公司 区块链分片负载均衡方法及装置
CN113259326A (zh) * 2021-04-21 2021-08-13 广东电网有限责任公司 基于联盟链网络的共识优化方法、装置和计算机设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190067581A (ko) * 2017-12-07 2019-06-17 한국전자통신연구원 블록체인 트랜잭션 분산 처리 장치 및 방법
US20200026699A1 (en) * 2018-07-20 2020-01-23 True Blockchain Technology Ltd. Highly Performant Decentralized Public Ledger with Hybrid Consensus

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018217804A1 (en) * 2017-05-22 2018-11-29 Visa International Service Association Network for improved verification speed with tamper resistant data
KR20200096045A (ko) * 2019-02-01 2020-08-11 한국전자통신연구원 블록체인 생성 장치, 그것의 블록체인을 샤딩하는 방법 및 그것을 포함하는 시스템
CN110321074A (zh) * 2019-05-20 2019-10-11 西安电子科技大学 基于区块链和分布式存储***的安全存储证明的共识方法
CN110610421A (zh) * 2019-09-03 2019-12-24 北京航空航天大学 分片框架下的保证金管理方法及装置
CN110648139A (zh) * 2019-09-03 2020-01-03 北京航空航天大学 基于分片技术和博弈论的区块链事务验证扩容方法及装置
CN110808838A (zh) * 2019-10-24 2020-02-18 华东师范大学 一种面向联盟链的分片方法
CN111724145A (zh) * 2020-05-25 2020-09-29 天津大学 一种区块链***分片协议的设计方法
CN112511590A (zh) * 2020-10-26 2021-03-16 南京辰阔网络科技有限公司 一种区块链分片的高效存储重配置方法
CN112463310A (zh) * 2020-12-08 2021-03-09 北京众享比特科技有限公司 基于节点分片的事务数据处理方法、***、设备和介质
CN113259326A (zh) * 2021-04-21 2021-08-13 广东电网有限责任公司 基于联盟链网络的共识优化方法、装置和计算机设备
CN113157457A (zh) * 2021-04-30 2021-07-23 工银科技有限公司 区块链分片负载均衡方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
" 基于跳跃Hash和异步共识组的区块链动态分片模型";潘吉飞等;《计算机科学》;20200410;全文 *
"A Prototype Evaluation of a Tamper-Resistant High Performance Blockchain-Based Transaction Log for a Distributed Database";L. Aniello等;《2017 13th European Dependable Computing Conference (EDCC)》;20171130;全文 *
"A Solution to Data Accessibility Across Heterogeneous Blockchains";Q. Pei 等;《2020 IEEE 26th International Conference on Parallel and Distributed Systems (ICPADS)》;20210225;全文 *
"区块链技术综述";裴庆祺;《.网络与信息安全学报》;20170321;全文 *

Also Published As

Publication number Publication date
CN114520812A (zh) 2022-05-20

Similar Documents

Publication Publication Date Title
CN114520812B (zh) 用于区块链分片***的存储轮换方法、***、设备及应用
CN111131209B (zh) 一种改进的高效共识方法、***、计算机设备及存储介质
TW201946018A (zh) 區塊鏈網路劃分技術(一)
US9442671B1 (en) Distributed consumer cloud storage system
Legtchenko et al. RelaxDHT: A churn-resilient replication strategy for peer-to-peer distributed hash-tables
CN110830520B (zh) 一种物联网的健壮可靠的边缘存储方法及***
CN113553375B (zh) 一种面向图式区块链的分片存储装置及方法
CN113515364B (zh) 一种数据迁移的方法及装置、计算机设备和存储介质
CN114626547A (zh) 一种基于区块链的群组协同学习方法
Xu et al. An efficient blockchain PBFT consensus protocol in energy constrained IoT applications
Zhang et al. Optimized blockchain sharding model based on node trust and allocation
CN113973021A (zh) 一种图式区块链的网络传输优化装置及方法
Li et al. Disaster-and-evacuation-aware backup datacenter placement based on multi-objective optimization
CN111786785A (zh) 基于区块链的配电物联网节点切换方法及装置
Fan et al. DLBN: Group storage mechanism based on double-layer blockchain network
Huang et al. Workload-based randomization byzantine fault tolerance consensus protocol
CN113592656B (zh) 联盟链交易同步优化方法、计算机可读介质和电子设备
CN116258609A (zh) 一种电力***交易协同方法、装置及存储介质
Wang et al. A fast and secured peer-to-peer energy trading using blockchain consensus
Yin et al. EBSF: Node Characteristics-Based Block Allocation Plans for Efficient Blockchain Storage
Qian et al. Fine-grained benchmarking and targeted optimization: Enabling green IOT-oriented blockchain in the 6G era
Wang et al. A data lightweight scheme for parallel proof of vote consensus
Liu et al. HASG: Security and efficient frame for accessing cloud storage
Mu et al. EfShard: Toward Efficient State Sharding Blockchain via Flexible and Timely State Allocation
Meng et al. Blockchain storage method based on Erasure 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
GR01 Patent grant
GR01 Patent grant