CN113132401A - 基于区块链的数据处理方法和装置 - Google Patents

基于区块链的数据处理方法和装置 Download PDF

Info

Publication number
CN113132401A
CN113132401A CN202110446732.3A CN202110446732A CN113132401A CN 113132401 A CN113132401 A CN 113132401A CN 202110446732 A CN202110446732 A CN 202110446732A CN 113132401 A CN113132401 A CN 113132401A
Authority
CN
China
Prior art keywords
block chain
node
block
verification
trust
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.)
Granted
Application number
CN202110446732.3A
Other languages
English (en)
Other versions
CN113132401B (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.)
Shenzhen University
Original Assignee
Shenzhen 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 Shenzhen University filed Critical Shenzhen University
Priority to CN202110446732.3A priority Critical patent/CN113132401B/zh
Publication of CN113132401A publication Critical patent/CN113132401A/zh
Application granted granted Critical
Publication of CN113132401B publication Critical patent/CN113132401B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • 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
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了基于区块链的数据处理方法和装置。由分片区块链网络中的区块生成节点执行的方法包括:根据分片区块链网络中各区块链节点的信任度,从各区块链节点中为当前区块选择至少两个验证节点;在产生所述当前区块后,向所述至少两个验证节点发起对所述当前区块的验证投票;根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果。本方案通过根据区块链节点的信任度,分片区块链网络的各区块链节点中选择验证节点,并使用验证节点进行区块共识,能够提高当前区块的出块稳定性和出块效率,从而提高区块链网络的安全性。

Description

基于区块链的数据处理方法和装置
技术领域
本申请实施例涉及区块链技术领域,尤其涉及基于区块链的数据处理方法和装置。
背景技术
区块链具备去中心化、去信任化以及数据透明可验证等特点,正逐步成为一种颠覆性和变革性的技术,具备巨大的潜力和利益,但区块链的性能扩展成为区块链技术发展的一个关键瓶颈。因此学者们提出了基于分片的区块链,区块链中的节点被随机分配进小组形成不同分片,网络上的交易通过一定规则路由到不同分片进行处理,单独的分片只需处理部分交易,将网络分割为多个分片使得更多的交易可以同时被处理,赋予了系统并行处理的能力,随着网络中节点数增加,链上将能处理更多的交易。
基于分片的区块链系统方案做到了横向扩展,随着节点数量的增加能够提高系统对交易的处理速度,因此分片成为高效高速区块链的热点技术。但是,现有的分片方案中依然存在稳定性问题。
发明内容
本申请实施例提供基于区块链的数据处理方法和装置,可以达到区块链的稳定性,进而提高区块链网络的出块效率。
第一方面,本申请实施例提供了基于区块链的数据处理方法,由分片区块链网络中的区块生成节点执行,所述方法包括:
根据分片区块链网络中各区块链节点的信任度,从各区块链节点中为当前区块选择至少两个验证节点;
在产生所述当前区块后,向所述至少两个验证节点发起对所述当前区块的验证投票;
根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果。
第二方面,本申请实施例还提供了基于区块链的数据处理方法,由主区块链网络中的区块生成节点执行,所述方法包括:
在监测到重新分片事件时,获取分片区块链网络中各区块链节点的信任度;
将各区块链节点的信任度写入主区块链,使重新分片后新分片区块链网络中区块生成节点执行如下:从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
第三方面,本申请实施例提供了基于区块链的数据处理装置,配置于分片区块链网络中的区块生成节点,所述装置包括:
验证节点选择模块,用于根据分片区块链网络中各区块链节点的信任度,从各区块链节点中为当前区块选择至少两个验证节点;
验证投票模块,用于在产生所述当前区块后,向所述至少两个验证节点发起对所述当前区块的验证投票;
共识结果确定模块,用于根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果。
第四方面,本申请实施例提供了基于区块链的数据处理装置,配置于主区块链网络中的区块生成节点,所述装置包括:
节点信任度获取模块,用于在监测到重新分片事件时,获取分片区块链网络中各区块链节点的信任度;
信任度写入模块,用于将各区块链节点的信任度写入主区块链,使重新分片后新分片区块链网络中区块生成节点执行如下:从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
本申请实施例所提供的技术方案,通过根据分片区块链网络中各区块链节点的信任度动态地为当前区块选择验证节点,并采用动态选择的验证节点对当前区块进行共识,能够提高当前区块的出块稳定性和出块效率,从而提高区块链网络的安全性。
附图说明
图1是本申请实施例一提供的一种基于区块链的数据处理方法的流程图;
图2是本申请实施例二提供的另一种基于区块链的数据处理方法的流程图;
图3是本申请实施例三提供的又一种基于区块链的数据处理方法的流程图;
图4是本申请实施例四提供的一种跨链交易处理示意图;
图5是本申请实施例五提供的一种基于区块链的数据处理装置的结构示意图;
图6是本申请实施例六提供的一种基于区块链的数据处理装置的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本申请实施例一提供的一种基于区块链的数据处理方法的流程图,本实施例可适用于分片区块链网络产生区块的情况。该方法可以由本申请实施例所提供的一种基于区块链的数据处理装置执行,该装置可以由软件和/或硬件的方式来实现,可配置于分片区块链网络中的区块生成节点中。
如图1所示,所述基于区块链的数据处理方法包括:
步骤110、根据分片区块链网络中各区块链节点的信任度,从各区块链节点中为当前区块选择至少两个验证节点。
在本申请实施例中,各区块链节点组成主区块链网络和至少两个分片区块链网络,其中,每个区块链节点均属于主区块链网络,且可以只属于一个分片区块链网络,即一个区块链节点可以部署有主区块链客户端和一个分片区块链客户端。并且,分片区块链的区块中不仅存储有该分片区块链中上一区块的id,还存储有主区块链中主区块的id。
其中,分片区块链网络中区块生成节点和验证节点所组成的委员会节点参与区块共识即参与事务处理,除委员会节点之外的其他区块链节点不参与共识,也就是说,分片区块链网络中委员会节点数量小于分片区块链网络中区块链节点的总数量。区块链节点的信任度用于表征该区块链节点的诚信度、稳定度,可以根据该区块链节点的历史区块共识行为例如历史区块验证行为确定。可以将分片区块链网络中信任度相对较高的至少两个区块链节点,作为验证节点。
步骤120、在产生所述当前区块后,向所述至少两个验证节点发起对所述当前区块的验证投票。
在产生当前区块后,采用验证节点对分片区块链网络中的当前区块进行共识验证,而拒绝向分片区块链网络中除区块生成节点和验证节点之外的其他节点发送验证投票,即拒绝其他节点参与对当前区块的共识,能够避免当前区块共识验证过程中,其他节点作恶或网络异常,从而能够提高当前区块的稳定性和出块效率。
步骤130、根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果。
具体的,在向至少两个验证节点发送当前区块的验证投票后,由验证节点对当前区块进行验证,并根据验证结果反馈验证投票信息。具体的,在验证节点根据自身的验证结果确认当前区块无误后,可以向区块生成节点反馈当前区块通过确认消息,例如可以向区块生成节点反馈同意出块消息;在验证节点根据自身的验证结果确认当前区块有误后,可以向区块生成节点反馈当前区块未通过确认消息,例如可以向区块生成节点反馈拒绝出块消息。当前区块生成节点可以基于共识机制,根据至少两个验证节点的验证投票信息确定当前区块的共识结果,以共识机制为BFT(Byzantine Fault Tolerance,拜占庭容错)为例,将超过2f+1个验证节点达成一致的验证投票信息作为当前区块的共识结果,其中,其中f为分片区块链网络中最大恶意节点的数量。
本申请实施例所提供的技术方案,通过将分片区块链网络中信任度相对较高的区块链节点作为当前区块选择验证节点,且拒绝将信任度相对较低的区块链节点作为当前区块的验证节点,能够避免在当前区块共识过程中,因信任度相对较低的区块链节点作恶或网络异常而导致当前区块的出块时间较长、出块异常,能够提高当前区块的稳定性和出块效率。
实施例二
图2是本申请实施例二提供的另一种基于区块链的数据处理方法的流程图。本实施例在上述实施例的基础上进行进一步地优化。如图2所示,所述一种基于区块链的数据处理方法包括:
步骤210、根据分片区块链网络中各区块链节点的信任度,从各区块链节点中为当前区块选择至少两个验证节点。
步骤220、在产生所述当前区块后,向所述至少两个验证节点发起对所述当前区块的验证投票。
步骤230、根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果。
步骤240、根据所述当前区块的共识结果和所述验证节点的验证投票信息,更新所述验证节点的信任度。
针对分片区块链网络中每一验证节点,可以比较该验证节点的验证投票信息和当前区块的共识结果,并根据比较结果更新该验证节点的信任度。在产生当前区块之后,更新验证节点的信任度,用于根据更新后的信任度为下一区块选择验证节点,从而提高下一区块的出块消息和稳定性。
在一种可选实施方式中,根据所述当前区块的共识结果和所述验证节点的验证投票信息,更新所述验证节点的信任度,包括:针对任一验证节点,若该验证节点的验证投票信息与所述当前区块的共识结果一致,则采用信任度奖励值更新该验证节点的信任度;若该验证节点的验证投票信息与所述当前区块的共识结果不一致,则采用第一信任度惩罚值更新该验证节点的信任度;若该验证节点未反馈验证投票信息,则采用第二信任度惩罚值更新该验证节点的信任度;其中,所述第一信任度惩罚值大于所述第二信任度惩罚值。
分片区块链网络中没有反馈验证投票信息的验证节点可以存在网络延迟问题,通过对未反馈验证投票信息的验证节点进行第二信任度惩罚,能够保证分片区块链网络的健壮性。
在一种可选实施方式中,所述方法还包括:在监测到重新分片事件时,将分片区块链网络中各区块链节点的信任度同步给主区块链网络,由主区块链网络将各区块链节点的信任度写入主区块链;在重新分片后,从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
在本申请实施中,区块链节点的配置可以通过两阶段处理得到。在第一阶段,通过随机分片将各区块链节点随机地划分为至少两个分片区块链网络;在第二阶段根据分片区块链网络中区块链节点的信任度为区块选择验证节点。具体的,第一阶段的周期时长可以为第一时长,第二周期的时长可以为第二时长,且第一时长除以第二时长的商是单个第一阶段的出块数量。在第一阶段,可以确定随机数,并采用随机数对区块链节点的公钥进行分组,且通过节点查找、节点连接与同步,采用属于同一组的区块链节点构建分片区块链。在第二阶段,基于信任度处理策略,分片区块链网络的区块链节点中为各区块选择委员会节点,能够提高分片区块链网络的安全性。其中,信任度处理策略用于根据区块共识过程中验证节点对区块的验证投票信息确定验证节点的信任度,使分片区块链网络具有学习节点身份的能力。
其中,重新分片事件用于触发新的第一阶段,即用于触发重新对区块链节点进行分片划分,得到区块链节点所属的新分片区块链网络。在监测到重新分片事件时,通过将分片区块链网络中各区块链节点的信任度同步给主区块链网络,由主区块链网络将各区块链节点的信任度写入主区块链;并且,在重新分片后,新分片区块链网络中各区块链节点可以从主区块链中获取自身区块链节点的信任度,并根据自身区块节点的信任度选择确定新分片区块链网络的委员会节点。因此,本申请实施例还具有信任度传递功能,在重新分片后,新分片区块链网络可以直接根据区块链节点在重新分片前的信任度为新分片区块链网络选择委员会节点,可以保持新分片区块链网络的稳定性。
在一种可选实施方式中,所述方法还包括:根据分片区块链网络中分片区块链,向主区块链网络发送所述分片区块链网络的状态承诺信息,由所述主区块链网络将所述分片区块链网络的状态承诺信息写入主区块链,用于根据所述分片区块链网络的状态承诺信息执行跨链交易。
在本申请实施例中,可以通过分片区块链网络的状态承诺信息实现无状态交易。分片区块链网络的状态承诺信息根据分片区块链确定,用于进行跨链分片交易的验证工作,保证写入区块中的跨链分片交易是合法的。各分片区块链网络负责处理分片区块链内部交易,且即时向主区块链网络发送推送状态承诺信息,用于由主区块链网络根据分片区块链网络的状态承诺信息异步执行跨链交易。通过异步的跨分片交易能够大幅度降低跨链交易的处理延时。
具体的,分片区块网络中委员会节点根据分片区块链确定分片区块链网络的状态承诺信息,且向主区块链网络发送分片区块链网络的状态承诺信息,主区块链网络将接收到的分片区块链网络的状态承诺信息写入主区块网络。并且,主区块网络可以通过如下方式进行跨链交易处理:在检测到至少两个区块链客户端之间的交易时,确定至少两个区块链客户端所属的分片区块链网络是否相同,在不同的情况下,该交易为跨链交易,并执行如下:从跨链交易请求所关联的至少两个分片链中选择待验证分片链;从主区块链获取所述待验证分片链的状态承诺信息,且根据获取的状态承诺信息对所述跨链交易请求中的交易证明进行校验,其中,交易证明由发起跨链交易的客户端提供,是交易在当前状态下的证明;在交易证明校验通过的情况下,执行所述跨链交易请求。在至少两个区块链客户端所属的分片区块链网络相同的情况下,该交易为分片区块链网络内部的交易,而不为跨链交易,由分片区块链网络执行交易,而主区块网络拒绝执行交易。并且,在执行交易后,分片区块链网络还根据更新的分片区块链更新自身状态承诺信息,用于对后续跨链交易进行处理。
本申请实施例所提供的技术方案,通过根据信任度处理策略更新分片区块链网络中验证节点的信任度,能够保持分片区块链网络的稳定性,通过信任度传递能够在重新分片后保持新分片区块链的稳定性;并且,通过分片区块链网络的状态承诺信息实现无状态交易,还能够提高跨链交易处理效率。
实施例三
图3是本申请实施例一提供的一种基于区块链的数据处理方法的流程图,本实施例可适用于分片区块链网络产生区块的情况。该方法可以由本申请实施例所提供的一种基于区块链的数据处理装置执行,该装置可以由软件和/或硬件的方式来实现,可配置于主区块链网络中的区块生成节点中。
如图3所示,所述一种基于区块链的数据处理方法包括:
步骤310、在监测到重新分片事件时,获取分片区块链网络中各区块链节点的信任度。
步骤320、将各区块链节点的信任度写入主区块链,使重新分片后新分片区块链网络中区块生成节点执行如下:从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
在本申请实施中,区块链节点的配置可以通过两阶段处理得到,也就是说,可以通过两个阶段确定区块链节点的身份。在第一阶段,通过随机分片将各区块链节点随机地划分为至少两个分片区块链网络;在第二阶段根据分片区块链网络中区块链节点的信任度为区块选择验证节点。具体的,第一阶段的周期时长可以为第一时长,第二周期的时长可以为第二时长,且第一时长除以第二时长的商是单个第一阶段的出块数量。在第一阶段,可以确定随机数,并采用随机数对区块链节点的公钥进行分组,且通过节点查找、节点连接与同步,采用属于同一组的区块链节点构建分片区块链。在第二阶段,基于信任度处理策略,分片区块链网络的区块链节点中为各区块选择委员会节点,能够提高分片区块链网络的安全性。
其中,重新分片事件用于触发新的第一阶段,即用于触发重新对区块链节点进行分片划分,得到区块链节点所属的新分片区块链网络。在监测到重新分片事件时,分片区块链网络将自身区块链节点的信任度同步给主区块链网络,主区块链网络将分片区块链网络中各区块链节点的信任度写入主区块链;并且,在重新分片后,主区块链网络中的区块生成节点还向新分片区块链网络发送新分配区块链网络中自身区块链节点的信任度,使新分片区块链网络可以根据自身区块节点的信任度选择确定自身的委员会节点。因此,本申请实施例还具有信任度传递功能,在重新分片后,新分片区块链网络可以直接根据区块链节点在重新分片前的信任度为新分片区块链网络选择委员会节点,可以保持新分片区块链网络的稳定性。
在一种可选实施方式中,所述方法还包括:获取分片区块链网络的状态承诺信息,且将所述分片区块链网络的状态承诺信息写入主区块链;根据所述分片区块链网络的状态承诺信息执行跨链交易。
在本申请实施例中,可以通过分片区块链网络的状态承诺信息实现无状态交易。分片区块链网络的状态承诺信息根据分片区块链确定,用于进行跨链分片交易的验证工作,保证写入区块中的跨链分片交易是合法的。具体的,主区块链网络中区块生成节点可以获取分片区块链网络的状态承诺信息,且将分片区块链网络的状态承诺信息写入主区块链;客户端在发起跨链交易请求的时候,需要提供跨链交易在当前状态下的证明,主区块链网络响应于跨链交易,根据分片区块链网络的状态承诺信息对跨链交易请求中的交易证明进行校验,跨链交易的输入交易值与交易证明等于前一区块中记录的状态承诺值时,确定交易证明校验通过,执行跨链交易。在执行跨链交易过程中,主区块链网络将跨链交易打包进主区块链,分片区块链同步主区块链,以在分片区块链网络执行跨链交易。并且,在执行完跨链交易后,分片区块链网络还更新自身的状态承诺信息。在一种可选实施方式中,获取分片区块链网络的状态承诺信息,且将所述分片区块链网络的状态承诺信息写入主区块链,包括:分片区块链网络的委员会节点获取分片区块链网络的状态承诺信息;对所述分片区块链网络的状态承诺信息进行校验,且将校验结果写入主区块链中。
具体的,主区块链网络中区块生成节点在产生新区块之前,先分片区块链网络的委员会节点获取分片区块链网络的状态承诺信息,对各委员会节点进行签名验证,判断分片区块链网络中是否有超过2f+1的委员会节点发送相同的状态承诺信息,在有的情况下,滤除过期的状态承诺信息,保留最新的状态承诺信息,用于采用最新的状态承诺信息对跨链分片交易进行输入法合法性验证,即用于采用最新的状态承诺信息验证跨链交易请求中附带的交易证明进行验证,验证通过后则将跨链交易打包进新的主区块。
在一种可选实施方式中,根据所述分片区块链网络的状态承诺信息执行跨链交易,包括:响应于跨链交易请求,从所述跨链交易请求所关联的至少两个分片链中选择待验证分片链;从主区块链获取所述待验证分片链的状态承诺信息,且根据获取的状态承诺信息对所述跨链交易请求进行校验;在校验通过的情况下,执行所述跨链交易请求。
其中,待验证分片链可以是跨链交易请求的输入交易值所属的分片区块链。在执行跨链交易之前,通过对跨链交易请求的输入交易值所属的分片区块链进行校验,在输入交易值无误的情况下执行跨链交易,而无需对跨链交易请求的输出交易值所属的分片区块链进行校验,即无需对输出交易值进行校验。通过异步的跨分片交易能够大幅度降低跨链交易的处理延时。
本申请实施例所提供的技术方案,分片区块链网络、主区块链网络通过基于信任度选择委员会节点参与区块共识,提高交易处理效率和稳定性。通过分片区块链的状态承诺证明对跨链交易的输入交易值进行校验,并在校验通过的情况下执行跨分片交易,而无需访问分片区块链进行跨链交易验证,大大降低了跨链交易的处理延时。
实施例四
本实施例在上述实施例的基础上具体提供了一种基于区块链的数据处理方法。在实施例中,节点身份配置通过随机分片和委员会选择两阶段确定。在随机分片阶段,基于随机源对全网节点进行随机分片,确定各节点所属的分片区块链网络,划分到同一分片区块链网络中的各节点执行节点查找、节点连接与节点同步等操作初始化,得到分片区块链网络。在委员会选择阶段,根据随机分片结果,基于信任度选举策略,分片区块链网络的各节点中选取出子集作为委员会节点集,采用委员会节点集对分片区块链网络进行共识,保证安全性。
信任度选举策略是利用每轮共识过程中所有节点发送的消息与最终共识的结果进行对比,计算每个节点的可信任度,间接判定一个节点是否是诚实节点,使系统具备学习节点身份的能力。具体的,基于信任度的选举策略工作流程可以分为以下几步:
1.初始信任度。初始信任度用于系统初始化,所有初始节点通过POW(Proof ofWork,工作量证明)注册进主区块链,主区块链上记录着所有初始节点与对应的默认信任度,在启动后进入随机分片阶段,对初始节点进行随机分片,由于此时所有节点的信任度相等,因此在委员会选择阶段的委员会选举过程中将采用随机选取的方式,构建每个分片区块链的初始委员会。
2.更新信任度。分片内的初始委员会构建成功后,委员会节点集开始运行BFT算法,此时节点发送的消息均由节点私钥进行签名,保证消息的不可篡改以及不可伪造,我们将该消息称为证明,BFT算法中验证者节点负责对该轮提议发起投票,领导节点(即区块生成节点)负责收集验证者节点发送的投票证明,并汇聚生成共识区块广播至全分片内节点。每个节点在接收到最新区块后,运行信任度更新算法更新节点本地的信任度列表,算法的主要流程为:遍历最新区块的所有投票证明,首先对投票证明进行签名验证,确保消息有效性;对所有进行正确投票的委员会节点提供信任度奖励,对进行错误投票的委员会节点进行信任度惩罚;为了保证网络的健壮性,也对没有进行投票的节点进行信任度惩罚。
3.更新委员会节点。在新共识前(即在出块前),每个节点根据本地保存的信任度列表根据信任度评分对节点进行排序,选举信任度相对较高的节点作为新一轮的委员会节点集,由于诚实节点计算出的信任度是一致的,因此所选委员会节点无需广播便能在所有诚实节点中达成共识。
4.信任度传递。还提出了信任度传递策略,每个分片中最新的委员会节点把最新的信任度信息更新到主区块链上,从而更新所有节点的最新信任度评分,后续在重新分片后,新分片区块链网络中的节点可以利用主区块链记录的节点信任度选择委员会节点。通过信任度传递实现了不同分片间的信任度共享,解决了不同分片间的节点由于彼此的历史信任度信息无法验证的问题。
并且,本实施例通过无状态交易实现主从结构的跨分片交易。无状态交易是指利用累加器实现无状态交易,客户端发起跨链交易的时候需要提供交易在当前状态下的证明。基于主从结构的分片系统,1)主区块链负责节点管理、种子随机数生成、管理各分片最新“状态承诺”以及跨分片交易的验证工作,保证写入区块中的跨分片交易是合法的;2)各分片负责处理内部的片内交易,即时推送最新的“状态承诺”以及执行从主区块链同步下来的跨分片交易(无需验证)。异步的执行跨分片交易工作,大大降低了交易的处理延时。主区块链与各分片并行的运行一致性协议对跨链交易进行处理并生成新区块。
主区块链运行具有最终性的一致性算法,生成新提议的块并将它们附加到主区块链上。在BFT算法中,参与共识的节点选出新区块生成节点提议新的区块。其他参与者负责对提议进行投票,以对新的区块达成共识。
A、在提议阶段,主区块链网络中的出块节点提议新区块时,首先对分片区块链网络中委员会节点收集到的状态承诺证明进行签名验证,判断是否有超过2f+1个委员会节点发送状态承诺证明,在有的情况下确定状态承诺证明有效,选择最新的状态承诺证明,过滤掉过期的状态承诺,使分片的状态承诺为最新值,用于采用分片区块链网络的最新状态承诺对跨链分片交易请求进行输入合法性验证,具体的,确定跨链交易请求的输入交易值与跨链交易请求附带的证明是否等于前一个区块中记录的状态承诺值(即最新状态承诺值),在验证成功后,将跨链交易打包进区块。
B、在投票阶段,主区块链网络中的验证节点与出块节点配合,检验状态承诺的签名有超过2f+1个委员会节点发送状态承诺证明,检验每笔交易的输入证明是否有效,所有验证过程都通过后则发起同意消息,否则发起拒绝消息。
C、在提交阶段,通过BFT的一致性算法后,委员会中的节点对新提议的消息区块得到共识,区块加入主区块链的区块链上,主区块链的节点负责将区块向所有分片节点广播。
分片区块链跟主区块链一样运行BFT算法,负责处理片内的交易,分片区块链的处理逻辑也可分为提议阶段、投票阶段和提交阶段。
A、在提议阶段,分片区块链网络中区块生成节点负责构建新提议区块,内容包含上一个区块哈希,最新主区块链区块哈希,以及包含的与本分片相关的跨分片交易,执行跨分片交易的账本更新,包括输入输出账户余额更新,验证执行片内交易并将片内交易打包进区块,附上所有交易执行后更改的状态承诺。
B、在投票阶段,参与者节点接收到区块生成节点提议的新区块后,验证状态承诺的更新是否合法,其中包括引用的跨分片交易与片内交易,一旦验证通过发送同意消息,否则发送拒绝消息。
C、在提交阶段,同样通过BFT算法后,新提议区块在分片内的节点已经达成共识,区块上附上了2f+1个委员会节点签名,分片节点负责将该提议区块推送至主区块链节点。
图4是本申请实施例四提供的一种跨链交易处理示意图,参考图4,由于跨分片交易涉及到不同分片区块链之间的状态验证,通过主区块链负责记录分片的最新状态承诺,以及负责跨分片交易合法性验证,分片区块链负责执行交易。
步骤410、用户节点(即客户端)发送跨链交易请求。例如,隶属于第i个分片区块链网络的客户端Si向隶属于第j个分片区块链网络中接收端Rj发起一笔转账金额为δ的跨分片转账交易tx。
步骤420、主区块链根据两个分片区块网络的编号i与j验证交易tx是否为跨分片交易,若不为跨分片交易则放弃该笔交易,否则基于区块链上分片i的最新状态承诺Ci对交易tx的输入值和跨链分片交易附带的证明进行验证,如果判断结果为真则将该笔跨分片交易tx打包进下一个主区块链的区块,否则放弃该笔交易,对该笔交易的处理流程结束。
步骤430、一旦跨分片交易出现在主区块链上,负责的输入输出分片就会分别同步并引用最新的主区块进行新区块生成,除了处理本地的片内交易,同时会对引用的主区块中的跨分片交易进行批量处理,该过程各相关分片无需对跨分片交易进行二次验证,因为打包进主区块链链上的交易已经得到了主区块链验证,分片仅需在同步到主区块链区块后处理交易,从而保证了原子性。
步骤440、在执行完交易后,分片区块链还更新本地状态承诺Ci'与Cj',分片将更新后的本地状态承诺发送至主区块链,等待主区块链打包更新各分片的最新状态承诺。
需要说明的是,在执行跨链交易前后,主区块链均更新分片区块链网络的承诺证明。另外,由于片内交易的输入端与输出端共属同一个分片,二者的状态可以在一个分片内得到验证,因此片内交易的处理过程与传统区块链的处理过程类似,在此不再赘述。
本申请实施例所提供的技术方案,通过使用信任度评分方案能够根据节点的信任度选取BFT算法中的委员会节点,随着系统的不断运行,系统能不断学习节点身份的辨别能力,在安全性上能够提高系统更高的容错性。在跨分片交易处理上,使用无状态交易减小了节点的工作压力,同时利用无状态交易提出的主从结构分片模型将跨分片交易的处理异步化,避免了交易锁定,能够有效提高跨分片交易的处理时延。通过基于信任度选择委员会节点参与区块共识,提高交易处理效率和稳定性。通过分片区块链的状态承诺证明对跨链交易的输入交易值进行校验,大大降低了跨链交易的处理延时。
实施例五
图5是本申请实施例五提供的一种基于区块链的数据处理装置,本实施例可适用于分片区块链网络产生区块的情况。所述装置可由软件和/或硬件实现,可配置于分片区块链网络中的区块生成节点中。如图5所示,该装置可以包括:
验证节点选择模块501,用于根据分片区块链网络中各区块链节点的信任度,从各区块链节点中为当前区块选择至少两个验证节点;
验证投票模块502,用于在产生所述当前区块后,向所述至少两个验证节点发起对所述当前区块的验证投票;
共识结果确定模块503,用于根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果。
在一种可选实施方式中,该装置还可以包括:
信任度更新模块,用于根据所述当前区块的共识结果和所述验证节点的验证投票信息,更新所述验证节点的信任度。
在一种可选实施方式中,信任度更新模块具体用于:
针对任一验证节点,若该验证节点的验证投票信息与所述当前区块的共识结果一致,则采用信任度奖励值更新该验证节点的信任度;
若该验证节点的验证投票信息与所述当前区块的共识结果不一致,则采用第一信任度惩罚值更新该验证节点的信任度;
若该验证节点未反馈验证投票信息,则采用第二信任度惩罚值更新该验证节点的信任度;其中,所述第一信任度惩罚值大于所述第二信任度惩罚值。
在一种可选实施方式中,所述装置还包括信任度传递模块,具体用于:
在监测到重新分片事件时,将分片区块链网络中各区块链节点的信任度同步给主区块链网络,由主区块链网络将各区块链节点的信任度写入主区块链;
在重新分片后,从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
在一种可选实施方式中,所述装置还包括:
状态承诺发送模块,用于根据分片区块链网络中分片区块链,向主区块链网络发送所述分片区块链网络的状态承诺信息,由所述主区块链网络将所述分片区块链网络的状态承诺信息写入主区块链,用于根据所述分片区块链网络的状态承诺信息执行跨链交易。
本发明实施例所提供的一种基于区块链的数据处理装置可执行本发明任意实施例所提供的一种基于区块链的数据处理方法,具备执行一种基于区块链的数据处理方法相应的功能模块和有益效果。
实施例六
图6是本申请实施例六提供的一种基于区块链的数据处理装置,本实施例可适用于分片区块链网络产生区块的情况。所述装置可由软件和/或硬件实现,可配置于主区块链网络中的区块生成节点中。如图6所示,该装置可以包括:
节点信任度获取模块601,用于在监测到重新分片事件时,获取分片区块链网络中各区块链节点的信任度;
信任度写入模块602,用于将各区块链节点的信任度写入主区块链,使重新分片后新分片区块链网络中区块生成节点执行如下:从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
在一种可选实施方式中,所述装置还包括:
状态承诺获取模块,用于获取分片区块链网络的状态承诺信息,且将所述分片区块链网络的状态承诺信息写入主区块链;
跨链交易执行模块,用于根据所述分片区块链网络的状态承诺信息执行跨链交易。
在一种可选实施方式中,状态承诺获取模块具体用于:
从分片区块链网络的委员会节点获取分片区块链网络的状态承诺信息;
对所述分片区块链网络的状态承诺信息进行校验,且将校验结果写入主区块链中。
在一种可选实施方式中,跨链交易执行模块用于:
响应于跨链交易请求,从所述跨链交易请求所关联的至少两个分片链中选择待验证分片链;
从主区块链获取所述待验证分片链的状态承诺信息,且根据获取的状态承诺信息对所述跨链交易请求进行校验;
在校验通过的情况下,执行所述跨链交易请求。
本发明实施例所提供的一种基于区块链的数据处理装置可执行本发明任意实施例所提供的一种基于区块链的数据处理方法,具备执行一种基于区块链的数据处理方法相应的功能模块和有益效果。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.基于区块链的数据处理方法,其特征在于,由分片区块链网络中的区块生成节点执行,所述方法包括:
根据分片区块链网络中各区块链节点的信任度,从各区块链节点中为当前区块选择至少两个验证节点;
在产生所述当前区块后,向所述至少两个验证节点发起对所述当前区块的验证投票;
根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果之后,还包括:
根据所述当前区块的共识结果和所述验证节点的验证投票信息,更新所述验证节点的信任度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前区块的共识结果和所述验证节点的验证投票信息,更新所述验证节点的信任度,包括:
针对任一验证节点,若该验证节点的验证投票信息与所述当前区块的共识结果一致,则采用信任度奖励值更新该验证节点的信任度;
若该验证节点的验证投票信息与所述当前区块的共识结果不一致,则采用第一信任度惩罚值更新该验证节点的信任度;
若该验证节点未反馈验证投票信息,则采用第二信任度惩罚值更新该验证节点的信任度;其中,所述第一信任度惩罚值大于所述第二信任度惩罚值。
4.根据权利要求1所述的方法,其特征在于,还包括:
在监测到重新分片事件时,将分片区块链网络中各区块链节点的信任度同步给主区块链网络,由主区块链网络将各区块链节点的信任度写入主区块链;
在重新分片后,从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
根据分片区块链网络中分片区块链,向主区块链网络发送所述分片区块链网络的状态承诺信息,由所述主区块链网络将所述分片区块链网络的状态承诺信息写入主区块链,用于根据所述分片区块链网络的状态承诺信息执行跨链交易。
6.基于区块链的数据处理方法,其特征在于,由主区块链网络中的区块生成节点执行,所述方法包括:
在监测到重新分片事件时,获取分片区块链网络中各区块链节点的信任度;
将各区块链节点的信任度写入主区块链,使重新分片后新分片区块链网络中区块生成节点执行如下:从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
7.根据权利要求6所述的方法,其特征在于,还包括:
获取分片区块链网络的状态承诺信息,且将所述分片区块链网络的状态承诺信息写入主区块链;
根据所述分片区块链网络的状态承诺信息执行跨链交易。
8.根据权利要求7所述的方法,其特征在于,根据所述分片区块链网络的状态承诺信息执行跨链交易,包括:
响应于跨链交易请求,从所述跨链交易请求所关联的至少两个分片链中选择待验证分片链;
从主区块链获取所述待验证分片链的状态承诺信息,且根据获取的状态承诺信息对所述跨链交易请求进行校验;
在校验通过的情况下,执行所述跨链交易请求。
9.基于区块链的数据处理装置,其特征在于,配置于分片区块链网络中的区块生成节点,所述装置包括:
验证节点选择模块,用于根据分片区块链网络中各区块链节点的信任度,从各区块链节点中为当前区块选择至少两个验证节点;
验证投票模块,用于在产生所述当前区块后,向所述至少两个验证节点发起对所述当前区块的验证投票;
共识结果确定模块,用于根据所述至少两个验证节点的验证投票信息,确定当前区块的共识结果。
10.基于区块链的数据处理装置,其特征在于,配置于主区块链网络中的区块生成节点,所述装置包括:
节点信任度获取模块,用于在监测到重新分片事件时,获取分片区块链网络中各区块链节点的信任度;
信任度写入模块,用于将各区块链节点的信任度写入主区块链,使重新分片后新分片区块链网络中区块生成节点执行如下:从主区块链获取新分片区块链网络中各区块链节点的信任度,并根据新分片区块链网络中各区块链节点的信任度确定新分片区块链网络的委员会节点。
CN202110446732.3A 2021-04-25 2021-04-25 基于区块链的数据处理方法和装置 Active CN113132401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110446732.3A CN113132401B (zh) 2021-04-25 2021-04-25 基于区块链的数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110446732.3A CN113132401B (zh) 2021-04-25 2021-04-25 基于区块链的数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN113132401A true CN113132401A (zh) 2021-07-16
CN113132401B CN113132401B (zh) 2023-06-27

Family

ID=76780315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110446732.3A Active CN113132401B (zh) 2021-04-25 2021-04-25 基于区块链的数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN113132401B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438327A (zh) * 2021-08-30 2021-09-24 湖南三湘银行股份有限公司 一种基于区块链的共识算法实现方法
CN113807847A (zh) * 2021-09-15 2021-12-17 南京信息工程大学 一种可信区块链分片性能优化方法
CN114691686A (zh) * 2021-12-30 2022-07-01 北京连琪科技有限公司 生成区块状态承诺的方法
CN115174685A (zh) * 2022-07-05 2022-10-11 上海交通大学 基于流水线机制的区块链中的非中断式跨链委员会换届方法
CN117726334A (zh) * 2024-02-08 2024-03-19 泉州行创网络科技有限公司 一种金融数据处理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639837A (zh) * 2019-01-31 2019-04-16 东南大学 基于信任机制的区块链DPoS共识方法
CN110535836A (zh) * 2019-08-12 2019-12-03 安徽师范大学 一种基于角色分类的信任区块链共识方法
CN112417056A (zh) * 2020-12-18 2021-02-26 昆明理工大学 一种基于区块链数据共享的信誉值动态分片两层共识方法
US20210067319A1 (en) * 2019-08-30 2021-03-04 Industry-Academic Cooperation Foundation, Yonsei University Trust-based shard distribution apparatus and method for fault tolerant blockchain networks
CN112532587A (zh) * 2020-11-04 2021-03-19 齐鲁工业大学 基于PeerTrust的DPos的共识节点评估方法
CN112541821A (zh) * 2020-11-18 2021-03-23 齐鲁工业大学 一种具有动态信任的委托权益证明共识算法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639837A (zh) * 2019-01-31 2019-04-16 东南大学 基于信任机制的区块链DPoS共识方法
CN110535836A (zh) * 2019-08-12 2019-12-03 安徽师范大学 一种基于角色分类的信任区块链共识方法
US20210067319A1 (en) * 2019-08-30 2021-03-04 Industry-Academic Cooperation Foundation, Yonsei University Trust-based shard distribution apparatus and method for fault tolerant blockchain networks
CN112532587A (zh) * 2020-11-04 2021-03-19 齐鲁工业大学 基于PeerTrust的DPos的共识节点评估方法
CN112541821A (zh) * 2020-11-18 2021-03-23 齐鲁工业大学 一种具有动态信任的委托权益证明共识算法
CN112417056A (zh) * 2020-12-18 2021-02-26 昆明理工大学 一种基于区块链数据共享的信誉值动态分片两层共识方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438327A (zh) * 2021-08-30 2021-09-24 湖南三湘银行股份有限公司 一种基于区块链的共识算法实现方法
CN113438327B (zh) * 2021-08-30 2021-11-30 湖南三湘银行股份有限公司 一种基于区块链的共识算法实现方法
CN113807847A (zh) * 2021-09-15 2021-12-17 南京信息工程大学 一种可信区块链分片性能优化方法
CN114691686A (zh) * 2021-12-30 2022-07-01 北京连琪科技有限公司 生成区块状态承诺的方法
CN115174685A (zh) * 2022-07-05 2022-10-11 上海交通大学 基于流水线机制的区块链中的非中断式跨链委员会换届方法
CN115174685B (zh) * 2022-07-05 2023-08-11 上海交通大学 基于流水线机制的区块链中的非中断式跨链委员会换届方法
CN117726334A (zh) * 2024-02-08 2024-03-19 泉州行创网络科技有限公司 一种金融数据处理方法及系统
CN117726334B (zh) * 2024-02-08 2024-06-11 泉州行创网络科技有限公司 一种金融数据处理方法及系统

Also Published As

Publication number Publication date
CN113132401B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN113132401A (zh) 基于区块链的数据处理方法和装置
CN112039964B (zh) 一种基于区块链的节点信誉共识方法
CN108492103B (zh) 一种联盟区块链共识方法
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
CN110796547A (zh) 一种基于联盟区块链的改进的实用拜占庭容错系统
CN113098694B (zh) 一种混合跨链共识方法
CN111682942B (zh) 一种应用于许可链的二元加权拜占庭容错共识方法
CN111274317A (zh) 多节点数据同步的方法和装置,以及计算机设备
WO2019019056A1 (zh) 前置机参与区块链共识的方法
WO2021135934A1 (zh) 一种区块链记账方法、装置、节点及存储介质
CN111092896A (zh) 基于优化paxos的食品溯源分布式数据同步方法
CN113612604B (zh) 面向异步网络的安全分布式随机数生成方法及装置
CN115065468B (zh) 一种基于分组信誉值的pbft共识优化方法
CN111935207A (zh) 基于改进型c4.5算法区块链系统共识方法
CN110995439A (zh) 区块链共识方法、电子装置及存储介质
CN111582843A (zh) 一种基于聚合签名的区块链隐私交易方法
CN112468255B (zh) 基于网络共识结合vrf算法的区块链节点时间同步方法
CN109347877B (zh) 区块链结构化存储控制方法
CN111798234B (zh) 一种轻量级区块链系统及构造方法
CN109685505A (zh) 基于关联环签名的拜占庭容错共识优化方法
EP4004853A1 (en) Unity protocol consensus
CN114422146A (zh) 一种区块链主节点匿名排序方法
CN111970370B (zh) 基于面向通信设备体系的多层区块链协议拓展系统及方法
KR20210080818A (ko) 에이전트 기반의 블록체인 네트워크 및 상기 네트워크의 전처리 방법
CN114499874A (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