CN116074328A - 区块链网络中的区块传输方法、装置、设备和介质 - Google Patents
区块链网络中的区块传输方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116074328A CN116074328A CN202310201717.1A CN202310201717A CN116074328A CN 116074328 A CN116074328 A CN 116074328A CN 202310201717 A CN202310201717 A CN 202310201717A CN 116074328 A CN116074328 A CN 116074328A
- Authority
- CN
- China
- Prior art keywords
- node
- network layer
- block
- fully
- super
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开实施例公开了一种区块链网络中的区块传输方法、装置、设备和介质,其中,超级网络层中任一超级节点获取包括至少一个交易信息的新增区块;任一超级节点向第一个全连接网络层中订阅该任一超级节点的代表节点传输新增区块;当n的取值大于1,新增区块由第一个全连接网络逐层传输至第n个全连接网络层,以使区块链网络同步新增区块,区块链网络中任一全连接网络层向任一全连接网络层的下一个全连接网络层传输新增区块的方式包括:任一全连接网络层中接收到新增区块的代表节点向下一个全连接网络层中该接收到新增区块的代表节点的目标节点传输新增区块。实现了新增区块在区块链网络中高效的同步。
Description
技术领域
本公开涉及区块链网络技术,尤其是一种区块链网络中的区块传输方法、装置、设备和介质。
背景技术
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链技术是构建在区块链网络之上,通过区块链网络中各节点实现对数据传输和处理。当区块链中的新增交易数据增加到一定数量,区块链网路中的一个节点会生成一个包括新增数据的新区块,并将该新区块传输给区块链网络中的其他节点。在现有技术中,由于区块链网络中每个节点在接收到新区块时都会将新区块广播给区块链网络中的其他节点,这就导致出现泛洪广播的问题,使得节点中存在大量重复区块,造成节点中存在大量冗余数据。
发明内容
本公开实施例提供了一种区块链网络中的区块传输方法、装置、设备和介质,以解决上述问题。
本公开实施例的一个方面,提供了一种区块链网络中的区块传输方法,所述区块链网络包括超级网络层和n 个全连接网络层,所述n个全连接网络层中第一个全连接网络层至第n个全连接网络层由上至下依次排列,所述超级网络层位于所述第一个全连接网络层上部;所述超级网络层包括至少一个超级节点,所述n个全连接网络层中任一全连接网络层包括至少一个普通节点,任一超级节点分别与至少一个超级节点和所述第一个全连接网络层中至少一个普通节点连接,任一普通节点分别与相同全连接网络层中至少一个普通节点和相邻全连接网络层中至少一个普通节点连接,将任一全连接网络中与相邻全连接网络层中至少一个普通节点连接的普通节点确定为代表节点,n的取值为大于0的整数;所述方法包括:所述超级网络层中任一超级节点获取包括至少一个交易信息的新增区块;所述任一超级节点向所述第一个全连接网络层中订阅所述任一超级节点的代表节点传输所述新增区块;响应于n的取值大于1,所述新增区块由所述第一个全连接网络逐层传输至所述第n个全连接网络层,以使所述区块链网络同步所述新增区块,其中,所述区块链网络中任一全连接网络层向所述任一全连接网络层的下一个全连接网络层传输所述新增区块的方式包括:所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点传输所述新增区块,将订阅任一代表节点的代表节点称为所述任一代表节点的目标节点。
可选地,在本公开上述任一实施例的方法中,还包括:响应于所述n的取值等于1,所述第一个全连接网络层中接收到新增区块的代表节点分别向所述第一个全连接网络层中接收到新增区块的代表节点的目标节点,以及订阅接所述收到新增区块的代表节点的普通节点传输所述新增区块。
可选地,在本公开上述任一实施例的方法中,所述超级网络层包括至少一个超级子网络,所述包括至少一个超级子网络中的任一超级子网络包括至少一个超级节点,所述n个全连接网络层中任一全连接网络层包括至少一个全连接子网络;所述包括至少一个全连接子网络中的任一全连接子网络中各普通节点和各代表节点彼此连接;所述方法还包括:在所述接收到所述新增区块的代表节点所在的全连接子网络中,所述接收到所述新增区块的代表节点向所述接收到所述新增区块的代表节点的目标节点,和/或,订阅所述接收到所述新增区块的代表节点的普通节点传输所述新增区块。可选地,在本公开上述任一实施例的方法中,所述任一超级节点向所述第一个全连接网络层中订阅所述任一超级节点的代表节点传输所述新增区块,包括:所述任一超级节点对所述新增区块进行压缩处理,得到所述新增区块的区块压缩信息,其中,所述区块压缩信息包括:所述新增区块的区块头、所述新增区块中第一个交易信息和交易校验信息,交易校验信息用于验证本地缓存池中是否具有所述新增区块中的交易信息;所述任一超级节点向订阅所述任一超级节点的代表节点发送所述区块压缩信息;响应于根据所述区块压缩信息和订阅所述任一超级节点的代表节点的本地缓存池中的交易信息重建所述新增区块成功,确定所述任一超级节点与订阅所述任一超级节点的代表节点完成所述新增区块传输;响应于根据所述区块压缩信息和订阅所述任一超级节点的代表节点的本地缓存池中的交易信息重建所述新增区块失败,订阅所述任一超级节点的代表节点向所述任一超级节点发送用于获得所述新增区块中交易信息的交易获取请求,并根据所述任一超级节点针对所述交易获取请求反馈的交易信息重建所述新增区块。
可选地,在本公开上述任一实施例的方法中,所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点传输所述新增区块,包括:所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点发送所述区块压缩信息;响应于根据所述区块压缩信息和所述目标节点的本地缓存池中的交易信息重建所述新增区块成功,确定所述接收到所述新增区块的代表节点向所述目标节点完成所述新增区块传输;响应于根据所述区块压缩信息和所述目标节点的本地缓存池中的交易信息重建所述新增区块失败,所述目标节点向所述接收到所述新增区块的代表节点发送所述交易获取请求,并根据所述接收到所述新增区块的代表节点针对所述交易获取请求反馈的交易信息重建所述新增区块。
可选地,在本公开上述任一实施例的方法中,还包括:响应于所述第n个全连接网络层中任一代表节点接收到待处理交易信息,所述任一代表节点将所述待处理交易信息由所述第n个全连接网络层逐层传输至的所述第一个全连接网络层,其中,所述区块链网络中任一全连接网络层向所述任一全连接网络层的上一个全连接网络层传输所述待处理交易信息的方式包括:所述任一全连接网络层中接收到所述待处理交易信息的代表节点向所述上一个全连接网络层中所述接收到所述待处理交易信息的代表节点的目标节点传输所述待处理交易信息;所述第一个全连接网络层向所述超级网络层传输所述待处理交易信息;所述超级网络层对所述待处理交易信息进行处理,得到所述待处理交易信息的处理结果,并向所述第一个全连接网络层传输所述处理结果;所述处理结果按照所述待处理交易信息从所述第n个全连接网络层逐层传输至的所述第一个全连接网络层的传输路径,由所述第一个全连接网络层逐层传输至所述第n个全连接网络层。
可选地,在本公开上述任一实施例的方法中,还包括:响应于所述第n个全连接网络层中任一普通节点接收到所述待处理交易信息,所述任一普通节点将所述待处理交易信息传输到所述第n个全连接网络层中所述任一普通节点订阅的代表节点;将所述任一普通节点订阅的代表节点作为所述任一代表节点执行所述任一代表节点将所述待处理交易信息由所述第n个全连接网络层逐层传输至的所述第一个全连接网络层的操作。
可选地,在本公开上述任一实施例的方法中,还包括:在所述接收到所述待处理交易信息的代表节点所在的全连接子网络中,所述接收到所述待处理交易信息的代表节点向所述接收到所述待处理交易信息的代表节点的目标节点,和/或,订阅所述接收到所述待处理交易信息的代表节点的普通节点传输所述待处理交易信息以及所述处理结果。
根据本公开实施例的另一个方面,提供了一种区块链网络中的区块传输装置,所述区块链网络包括超级网络层和n 个全连接网络层,所述n个全连接网络层中第一个全连接网络层至第n个全连接网络层由上至下依次排列,所述超级网络层位于所述第一个全连接网络层上部;所述超级网络层包括至少一个超级节点,所述n个全连接网络层中任一全连接网络层包括至少一个普通节点,任一超级节点分别与至少一个超级节点和所述第一个全连接网络层中至少一个普通节点连接,任一普通节点分别与相同全连接网络层中至少一个普通节点和相邻全连接网络层中至少一个普通节点连接,将任一全连接网络中与相邻全连接网络层中至少一个普通节点连接的普通节点确定为代表节点,n的取值为大于0的整数;所述装置包括:第一获取模块,用于所述超级网络层中任一超级节点获取包括至少一个交易信息的新增区块;第一传输模块,用于所述任一超级节点向所述第一个全连接网络层中订阅所述任一超级节点的代表节点传输所述新增区块;第二传输模块,用于响应于n的取值大于1,所述新增区块由所述第一个全连接网络逐层传输至所述第n个全连接网络层,以使所述区块链网络同步所述新增区块,其中,所述区块链网络中任一全连接网络层向所述任一全连接网络层的下一个全连接网络层传输所述新增区块的方式包括:所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点传输所述新增区块,将订阅任一代表节点的代表节点称为所述任一代表节点的目标节点。
根据本公开实施例的又一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序产品;处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述的方法。
根据本公开实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述的方法。
本公开实施例提供了一种区块链网络中的区块传输方法、装置、设备和介质,在本公开实施例中,利用超级节点向订阅其的第一个全连接网络层中代表节点传输新增区块的方式,将新增区块由超级网络层传输到第一个全连接网络层,之后以每一全连接网络层中接收到新增区块的代表节点,向下一个全连接网络层中该接收到新增区块的代表节点的目标节点传输新增区块的方式,将新增区块由第一个全连接网络层传输至第n个全连接网络层。不仅实现了新增区块在区块链网络中高效的同步,而且由于使新增区块仅在具有订阅关系的代表节点之间,以及代表节点与超级节点之间传输,解决泛洪广播的问题,避免了节点中产生大量冗余数据的情况,确保了节点的工作效率。另外,由于新增区块仅在具有订阅关系的代表节点之间,以及代表节点与超级节点之间传输,使新增区块在区块链网络中以纵向树形结构的方式传输,保证了新增区块可以在数据传输效率下限log(n+1)的时间内传播到全部区块链网络,确保了区块链网络中新增区块的传输效率。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开实施例的区块链网络的结构示意图;
图2为本公开实施例的区块链网络中的区块传输方法的一个实施例的流程图;
图3为本公开实施例的步骤S220的流程图;
图4为本公开实施例的步骤S230的流程图;
图5为本公开实施例的区块传输流程的示意图;
图6为本公开实施例的区块链网络中的区块传输方法的另一个实施例的流程图;
图7为本公开实施例的区块链网络中的区块传输装置的一个实施例的结构示意图;
图8为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
狭义的区块链的技术可以是按照时间顺序,将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义的区块链技术可以是利用块链式数据结构验证与存储数据,利用节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用由自动化脚本代码组成的智能合约。区块链网络中的节点(Node),通常指的是区块链网络中的计算机,也就是说任何连接到区块链网络的计算机(包括手机,服务器等)都称为节点。
区块(Block)是区块链的基本数据结构,其按照时间顺序建立。一个区块链中通过由多个区块组成。区块链中任一区块包括区块头(BlockHeader)和区块体(BlockBody),区块头包含:父区块哈希值(PreHash)、版本号、时间戳、难度、随机数和默克尔根,其中,父区块哈希值为该区块的上一个区块的哈希值,版本号为该区块头的版本号,时间戳记录了该区块的创建时间,难度为该区块所在区块链工作量证明的难度目标,随机数(nonce)为证明工作量的计算参数、默克尔根记录了该区块交易信息的默克尔根;区块体中存储有一定时间内所生成的详细数据,包括该区块经过验证的、区块创建过程中生成的所有交易记录或是其他信息,可以理解为账本的一种表现形式,例如,区块体中可以存储有一定时间内各交易信息的哈希值以及交易信息列表等。
本公开实施例中的区块链网络包括:超级网络层和n 个全连接网络层,n的取值为大于0的整数。上述n个全连接部网络层中第一个全连接网络层至第n个全连接网络层由上至下依次排列,超级网络层位于第一个全连接网络层上部。将超级网络层中的节点定义为超级节点,超级节点具有数据处理(共识)、数据存储、新增区块等功能。将任一全连接网络层中的节点称为普通节点,普通节点具有数据传输和数据存储的功能。
超级网络层包括至少一个超级节点,任一全连接网络层包括至少一个普通节点,任一超级节点分别与至少一个超级节点和第一个全连接网络层中至少一个普通节点连接,任一普通节点分别与相同全连接网络层中至少一个普通节点和相邻全连接网络层中至少一个普通节点连接。将任一全连接网络中与相邻全连接网络层中至少一个普通节点连接的普通节点确定为代表节点。其中,对于任一代表节点可以将该代表节点称为与其连接的普通节点或代表节点的代表节点。其中,超级网络层还包括至少一个超级子网络,该包括至少一个超级子网络中的任一超级子网络包括至少一个超级节点,n个全连接网络层中任一全连接网络层还包括至少一个全连接子网络,该包括至少一个全连接子网络中的任一全连接子网络中各普通节点和各代表节点彼此连接,即每个全连接子网络中每个普通节点与该全连接子网络中其他普通节点和所有代表节点连接,每个全连接子网络中每个代表节点与该全连接子网络中其他代表节点和所有普通节点连接。具有连接关系的普通节点之间、代表节点之间、普通节点与代表节点之间、代表节点与超级节点之间可以进行数据传输。
例如,图1示出了区块链网络的结构示意图,如图1所示,本实施例中区块链网络包括一个超级网络层和三个全连接网络层,区块链网络中由上至下依次为:超级网络层、第一个全连接网络层、第二个全连接网络层和第三个全连接网络层。超级网络层包括一个超级子网络,第一个全连接网络层包括一个全连接子网络,第二个全连接网络层包括两个全连接子网络,第三个全网络层包括四个全连接子网络。
在超级网络层中,每个超级节点与该超级节点相邻的两个超级节点连接。在第一个全连接网络层和第二个全连接网络层中,每个全连接子网络具有6个代表节点,每个全连接子网络中6个代表节点彼此连接,其中,第一个全连接网络层中6个代表节点均与一个超级节点连接;在第二个全连接网络层中,每个全连接子网络中3个代表节点分别与第一个全连接网络层中3个代表节点连接,其余3个代表节点分别与第三个全连接网络层中3个代表节点连接。在第三个全连接网络层中,每个全连接子网络包括3个普通节点和3个代表节点,每个全连接子网络中的每个普通节点与该全连接子网络中除自身以外的2个普通节点和3个代表节点连接,每个全连接子网络中的每个代表节点与该全连接子网络中除自身以外的2个代表节点和3个普通节点连接,每个代表节点与第二个全连接网络层中的一个代表节点连接。
图2示出本公开实施例中区块链网络中的区块传输方法的流程示意图。本实施例可应用在电子设备上,如图2所示,本实施例的区块链网络中的区块传输方法包括如下步骤:
步骤S210,超级网络层中任一超级节点获取包括至少一个交易信息的新增区块。
其中,交易信息可以是一段发往区块链的请求数据。例如,交易信息可以为身份验证请求等。新增区块包括区块头和区块体,其中,区块头中存储有新增区块的上一个区块的哈希值,即区块链中现有区块的最后一个区块的哈希值、版本号、时间戳、难度、随机数和默克尔根,区块体中包括该新增区块中存储的各交易信息的哈希值,在区块体中,交易信息的可以按照交易信息对应的时间排序,或者,也可以按照交易信息的重要程度排序,其中,在区块体中,每个交易信息可以以其的哈希值的方式存储在区块体中。
在一种实施方式中,超级网络层中任一超级节点可以先创建一个初始区块,并将任一超级节点的本地缓存池中的新增的交易信息按照各新增交易信息的时间顺序或重要程度顺序打包进初始区块的区块体中,然后基于初始区块的区块体中的交易信息和区块链的最后一个区块设置初始区块的区块头中信息,得到新增区块,该任一超级节点将其生成的新增区块广播给其他的超级节点进行共识处理,当通过共识后,超级网络层中所有超级节点对新增区块进行存储,以及将新增区块链接到区块链上。
步骤S220,该任一超级节点向第一个全连接网络层中订阅该任一超级节点的代表节点传输新增区块。
其中,在第一个全连接网络层中,任一订阅该任一超级节点的代表节点与该任一超级节点连接。在一个实施方式中,为了清楚的对“订阅”概念进行说明,本实施例中以节点A和节点B解释说明“订阅”的含义。其中,节点A、节点B可以为普通节点、代表节点或超级节点。
当节点A订阅节点B时,表示节点A与节点B连接,并且在节点B接收到数据或信息时,其会将接收到的数据或信息传输给订阅其的节点A,其中,节点B可以被多个普通节点、代表节点或超级节点同时订阅。
步骤S230,响应于n的取值大于1,该新增区块由该第一个全连接网络逐层传输至该第n个全连接网络层,以使该区块链网络同步该新增区块。
其中,区块链网络中任一全连接网络层向该任一全连接网络层的下一个全连接网络层传输该新增区块的方式包括:该任一全连接网络层中接收到新增区块的代表节点向该下一个全连接网络层中该接收到新增区块的代表节点的目标节点传输新增区块。任一接收到新增区块的代表节点可对新增区块进行存储,以及将新增区块链接到区块链上。
在一种实施方式中,当n>1时,表示区块链网络中全连接网络层的个数大于一个。任一代表节点的目标节点与该代表节点连接,即订阅任一代表节点的代表节点与该任一代表节点连接;在本实施例中,该任一全连接网络层中接收到新增区块的代表节点,与下一个全连接网络层中上述接收到新增区块的代表节点的目标节点连接。
需要说明的是,下一个网络层中上述接收到新增区块的代表节点的目标节点可以为多个。
示例性的,区块链网络中包括一个超级网络层和两个全连接网络层,第一个全连接网络层中代表节点1.1和代表节点1.2订阅了超级网络层中超级节点a,第二个全连接网络层中代表节点2.1和代表节点2.2订阅了第一个全连接网络层中代表节点1.1,第二个全连接网络层中代表节点2.3和代表节点2.4订阅了第一个全连接网络层中代表节点1.2。
当超级节点a获得新增区块后,超级节点a将新增区块传输给代表节点1.1和代表节点1.2,代表节点1.1将新增区块传输给代表节点2.1和代表节点2.2,代表节点1.2将新增区块传输给代表节点2.3和代表节点2.4。
本公开实施例中,利用超级节点向订阅其的第一个全连接网络层中代表节点传输新增区块的方式,将新增区块由超级网络层传输到第一个全连接网络层,之后以每一全连接网络层中接收到新增区块的代表节点,向下一个全连接网络层中该接收到新增区块的代表节点的目标节点传输新增区块的方式,将新增区块由第一个全连接网络层传输至第n个全连接网络层。不仅实现了新增区块在区块链网络中高效的同步,而且由于使新增区块仅在具有订阅关系的代表节点之间,以及代表节点与超级节点之间传输,解决泛洪广播的问题,避免了节点中产生大量冗余数据的情况,确保了节点的工作效率。另外,由于新增区块仅在具有订阅关系的代表节点之间,以及代表节点与超级节点之间传输,使新增区块在区块链网络中以纵向树形结构的方式传输,保证了新增区块可以在数据传输效率下限log(n+1)的时间内传播到全部区块链网络,确保了区块链网络中新增区块的传输效率。
在一个可选实施例中,本公开实施中的方法还包括:响应于n的取值等于1,第一个全连接网络层中接收到新增区块的代表节点分别向第一个全连接网络层中接收到新增区块的代表节点的目标节点,以及订阅该接收到新增区块的代表节点普通节点传输该新增区块。
其中,当n=1时,表示区块链网络中全连接网络层的个数为1。在一种实施方式中,在第一个全连接网络层中,订阅接收到新增区块的代表节点的普通节点与该接收到新增区块的代表节点连接;接收到新增区块的代表节点、目标节点和普通节点可对新增区块进行存储,以及将新增区块链接到区块链上。
在一个可选实施例中,本公开实施中的方法还包括:在该接收到新增区块的代表节点所在的全连接子网络中,该接收到新增区块的代表节点向该接收到新增区块的代表节点的目标节点,和/或,订阅该接收到新增区块的代表节点的普通节点传输新增区块。
在一种实施方式中,在该接收到新增区块的代表节点所在的全连接子网络中,订阅该接收到新增区块的代表节点的普通节点与该接收到新增区块的代表节点连接;接收到新增区块的目标节点和普通节点可对新增区块进行存储,以及将新增区块链接到区块链上。
在一个可选实施例中,如图3所示,本公开实施中步骤S220包括如下步骤:
步骤S221,任一超级节点对新增区块进行压缩处理,得到新增区块的区块压缩信息。
其中,该区块压缩信息包括:新增区块的区块头、新增区块中第一个交易信息和交易校验信息,交易校验信息用于验证本地缓存池中是否具有新增区块中的交易信息。技术人员可以根据实际需求设置交易校验信息,例如,交易校验信息可以为新增区块中所有交易信息的哈希值等。
在一个实施方式中,交易信息可以以其对应时间的排序形成的顺序,或者,其重要程度的排序形成的顺序存储在新增区块中。新增区块对应有交易信息列表,该交易列表包括新增区块中每个交易信息对应的哈希值。
在该任一代表节点在得到新增区块后,可以先对新增区块的合法性进行验证,例如,验证新增区块的数据结构语法是否有效、验证区块头的哈希值是否小于区块头中的难度、验证区块头中的时间戳是否早于验证合法性的时间、验证新增区块的大小是否符合预设区块大小、验证新增区块中第一个交易信息是否为Coinbase交易、验证新增区块中默克尔根是否是由其区块体中的交易信息得到的等,当上述验证均通过后,确定新增区块合法。
在确定新增区块合法后,可以先获取新增区块的区块头,之后从交易信息列表中或新增区块中获取新增区块中第一个交易信息(Coinbase交易),以及新增区块中除第一个交易信息以外的其他交易信息的哈希值的前6个字节,并将新增区块中除第一个交易信息以外的其他交易信息的哈希值的前6个字节作为交易校验信息,由区块头、第一个交易信息和交易校验信息构成区块压缩信息(Compact Block)。
步骤S222,该任一超级节点向订阅任一超级节点的代表节点发送区块压缩信息。
其中,该任一超级节点向第一个全连接网络层中订阅任一超级节点的代表节点发送区块压缩信息。
步骤S223,响应于根据区块压缩信息和订阅该任一超级节点的代表节点的本地缓存池中的交易信息重建新增区块成功,确定该任一超级节点与订阅该任一超级节点的代表节点完成新增区块传输。
其中,本地缓存池用于存储发生在该本地缓存池对应的超级节点、代表节点或普通节点上的交易信息。
在一种实施方式中,为了便于说明,以下将订阅该任一超级节点的代表节点称为第一代表节点。当第一代表节点接收到该任一超级节点发送的区块压缩信息后,可以对区块头的合法性进行验证,例如,验证区块头中的时间戳是否早于验证合法性的时间、验证区块头的大小是否符合预设区块头大小、以及验证区块头的哈希值是否小于区块头中的难度等,当上述验证均通过,可以确定区块头合法。在确定区块头合法后,可以根据第一个交易信息和交易校验信息,确定第一代表节点的本地缓存池中是否具有新增区块中的所有交易信息,当第一代表节点的本地缓存池中具有新增区块中的所有交易信息,从第一代表节点的本地缓存池中提取新增区块中的所有交易信息,并根据提取的新增区块中的所有交易信息重建新增区块,或者,根据提取的新增区块中的所有交易信息和区块头重建新增区块。当确定第一代表节点提取新增区块中的所有交易信息时未发生哈希冲突,且成功完后重建新增区块时,确定重建新增区块成功,此时确定该任一超级节点与第一代表节点完成一次新增区块的传输。
步骤S224,响应于根据区块压缩信息和订阅该任一超级节点的代表节点的本地缓存池中的交易信息重建新增区块失败,订阅该任一超级节点的代表节点向该任一超级节点发送用于获得新增区块中交易信息的交易获取请求,并根据该任一超级节点针对交易获取请求反馈的交易信息重建新增区块。
在一种实施方式中,当根据第一个交易信息和交易校验信息,确定第一代表节点的本地缓存池中未全部具有新增区块中的交易信息,或者,在第一代表节点从其本地交易池中提取新增区块中的交易信息时发生哈希冲突,可以确定重建新增区块失败。当重建新增区块失败时,第一代表节点向该任一超级节点发送用于获得新增区块中交易信息的交易获取请求,例如,交易获取请求可以为Get Block Txn消息,该任一超级节点接收交易获取请求后,向第一代表节点发送新增区块中的所有交易信息,或者,向第一代表节点发送新增区块中除第一个交易信息以外的其他交易信息,当反馈的交易信息是新增区块中的所有交易信息,则第一代表节点根据反馈的交易信息,或者根据反馈的交易信息和区块头重建新增区块,当反馈的交易信息是不包括第一个交易信息的,则第一代表节点根据反馈的交易信息和区块压缩信息中的第一个交易信息,或者根据反馈的交易信息、区块压缩信息中的第一个交易信息和区块头重建新增区块。在确定第一代表节点成功重建新增区块时,该任一超级节点与第一代表节点完成一次新增区块的传输。
需要说明的是,步骤S223和步骤S224并无执行先后顺序。
本公开实施例中,利用新增区块的区块压缩信息和代表节点的本地缓存池中的交易信息完成超级节点向订阅其的代表节点传输新增区块,不仅使代表节点的本地缓存池中的交易信息得到了充分利用,而且减少了传输数据的大小,提高了新增区块的传输效率。
在一个可选实施例中,如图4所示,本公开实施中步骤S230包括如下步骤:
步骤S231,该任一全连接网络层中接收到新增区块的代表节点向下一个全连接网络层中该接收到新增区块的代表节点的目标节点发送区块压缩信息。
在一个实施例中,为了便于说明,以下将该任一全连接网络层中的接收到新增区块的代表节点称为第二代表节点。该任一全连接网络层中的第二代表节点接收新增区块后,会对新增区块的合法性进行验证,当新增区块的合法性通过验证,该任一全连接网络层中的第二代表节点向该下一个全连接网络层中的第二代表节点的目标节点发送新增区块的区块压缩信息。
步骤S232,响应于根据区块压缩信息和该目标节点的本地缓存池中的交易信息重建新增区块成功,确定该接收到新增区块的代表节点向该目标节点完成新增区块传输。
在一种实施方式中。当目标节点接收到区块压缩信息后,可以对区块头的合法性进行验证,在确定区块头合法后,可以根据第一个交易信息和交易校验信息,确定目标节点的本地缓存池中是否具有新增区块中的所有交易信息,当目标节点的本地缓存池中具有新增区块中的所有交易信息,从目标节点的本地缓存池中提取新增区块中的所有交易信息,并根据提取的新增区块中的所有交易信息重建新增区块,或者,根据提取的新增区块中的所有交易信息和区块头重建新增区块。当确定目标节点提取新增区块中的所有交易信息时未发生哈希冲突,且完成重建新增区块时,确定重建新增区块成功,此时确定该任一全连接网络层中的第二代表节点与该下一个全连接网络层中该第二代表节点的目标节点完成一次新增区块的传输。
步骤S233,响应于根据区块压缩信息和该目标节点的本地缓存池中的交易信息重建新增区块失败,该目标节点向该接收到新增区块的代表节点发送交易获取请求,并根据该接收到新增区块的代表节点针对交易获取请求反馈的交易信息重建新增区块。
在一种实施方式中,当根据第一个交易信息和交易校验信息,确定目标节点的本地缓存池中未全部具有新增区块中的交易信息,或者,在目标节点从其本地交易池中提取新增区块中的交易信息时发生哈希冲突,可以确定重建新增区块失败。当重建新增区块失败时,目标节点向该任一全连接网络层中的第二代表节点发送用于获得新增区块中交易信息的交易获取请求,例如,交易获取请求可以为Get Block Txn消息,该任一全连接网络层中的第二代表节点接收交易获取请求后,其向该下一个全连接网络层中该第二代表节点的目标节点发送新增区块中的所有交易信息,或者,发送新增区块中除第一个交易信息以外的其他交易信息,当反馈的交易信息是新增区块中的所有交易信息,则下一个全连接网络层中该第二代表节点的目标节点根据反馈的交易信息,或者根据反馈的交易信息和区块头重建新增区块,当反馈的交易信息是不包括第一个交易信息的,则下一个全连接网络层中该第二代表节点的目标节点根据反馈的交易信息和区块压缩信息中的第一个交易信息,或者根据反馈的交易信息、区块压缩信息中的第一个交易信息和区块头重建新增区块。当确定目标节点成功重建新增区块时,确定该任一全连接网络层中的第二代表节点与该下一个全连接网络层中该第二代表节点的目标节点完成一次新增区块的传输。
需要说明的是,步骤S232和步骤S233并无执行先后顺序。
示例性的,图5示出新增区块的传输流程示意图,如图5所述,代表节点A为区块链网络中全连接网络层C1中接收到新增区块的代表节点,代表节点B位于区块链网络中全连接网络层C1的下一个全连接网络层C2中,且是代表节点A的目标节点;区块压缩信息以Compact Block表示,交易获取请求以Get Block Txn信息表示,新增区块的所有交易信息以Block Txn信息表示。
当代表节点A接收到新增区块,代表节点A验证新增区块的合法性,当新增区块的合法性通过验证,代表节点A将新增区块的Compact Block发送代表节点B,代表节点B对Compact Block中区块头的合法性进行验证,当合法性验证通过,则代表节点B根据CompactBlock和其本地缓存池中的交易信息重建新增区块,若新增区块重建成功,则完成新增区块传输,若新增区块重建失败,则代表节点B向代表节点A发送Get Block Txn信息,代表节点A向代表节点B发送Block Txn信息,代表节点B根据Block Txn信息和Compact Block重建新增区块。
在一个可选实施例中,如图6所示,本公开实施中的方法还包括如下步骤:
步骤S310,响应于第n个全连接网络层中任一代表节点接收到待处理交易信息,该任一代表节点将待处理交易信息由第n个全连接网络层逐层传输至的第一个全连接网络层。
其中,区块链网络中任一全连接网络层向该任一全连接网络层的上一个全连接网络层传输待处理交易信息的方式包括:该任一全连接网络层中接收到待处理交易信息的代表节点向上一个全连接网络层中该接收到待处理交易信息的代表节点的目标节点传输待处理交易信息。
在一种实施方式,待处理交易信息可以为任意请求,例如,待处理交易信息可以为身份验证请求等。待处理交易信息传输的起点为区块链网络中第n个全连接网络层,即为区块链网络中最底层的全连接网络层,用户可以利用其客户端从第n个全连接网络层中的一个代表节点发送待处理交易信息。
步骤S320,第一个全连接网络层向超级网络层待传输待处理交易信息。
其中,在第一个全连接网络层中,接收待处理交易信息的代表节点向超级网络层中该接收待处理交易信息的代表节点订阅的超级节点发送待处理交易信息,同时该接收待处理交易信息的代表节点向第一个全连接网络层中该接收待处理交易信息的代表节点的目标节点,以及订阅该接收待处理交易信息的代表节点的普通节点发送待处理交易信息。
步骤S330,超级网络层对待处理交易信息进行处理,得到待处理交易信息的处理结果,并向第一个全连接网络层传输该处理结果。
其中,超级网络层中接收到待处理交易信息的超级节点将该待处理交易信息广播到其他超级节点,超级网络层中各超级节点利用预设的共识机制对该待处理交易信息进行共识处理,得到该待处理交易信息的处理结果。
步骤S340,该处理结果按照待处理交易信息从第n个全连接网络层逐层传输至的第一个全连接网络层的传输路径,由第一个全连接网络层逐层传输至第n个全连接网络层。
其中,该待处理交易信息的处理结果按照待处理交易信息从第n个全连接网络层逐层传输至的第一个全连接网络层的传输路径,由第一个全连接网络层逐层传输至的第n个全连接网络层。
在一个可选实施例中,如图6所示,本公开实施中的方法还包括如下步骤:
步骤S350,响应于第n个全连接网络层中任一普通节点接收到待处理交易信息,该任一普通节点将待处理交易信息传输到第n个全连接网络层中该任一普通节点订阅的代表节点,将该任一普通节点订阅的代表节点作为上述第n个全连接网络层中任一代表节点执行该任一代表节点将待处理交易信息由第n个全连接网络层逐层传输至的第一个全连接网络层的操作。
其中,该任一普通节点订阅的代表节点与该任一普通节点连接,在一种实施方式,该任一普通节点订阅的相同全连接网络层中代表节点与该任一普通节点位于相同全连接子网络中。
在一种实施方式中,当第n个全连接网络层中的普通节点m接收到待处理交易信息,普通节点m将待处理交易信息传输到第n个全连接网络层中普通节点m订阅的代表节点p,代表节点p执行代步骤S310的操作。
需要说明的是,步骤S350与步骤S340之间无执行的先后顺序。
在一个可选实施例中,本公开实施中的方法还包括:在上述接收到待处理交易信息的代表节点所在的全连接子网络中,该接收到待处理交易信息的代表节点向该接收到待处理交易信息的代表节点的目标节点,和/或,订阅该接收到待处理交易信息的代表节点的普通节点传输待处理交易信息以及处理结果。
在一种实施方式中,订阅代表节点的普通节点与该代表节点连接。接收到待处理交易信息的目标节点、普通节点和超级节点可对待处理交易信息和其的处理结果存储在各自的本地缓存池中。
在一种实施方式中,以下以图1所示的区块网络为例,对新增区块和待处理交易信息在区块链网络中的传输流程进行说明。具体包括:
一.新增区块的传输流程包括:
超级节点1获得新增区块,超级节点1将新增区块传输给订阅超级节点1的代表节点2,代表节点2将新增区块传输给订阅代表节点2的代表节点3和代表节点4,代表节点4将新增区块传输给订阅代表节点4的代表节点5和代表节点6,代表节点6将新增区块传输给订阅代表节点6的代表节点8和普通节点7。
以超级节点1向代表节点2传输新增区块的方式为例说明每次新增区块在节点之间的传输方法,具体包括:超级节点1向订阅超级节点1的代表节点2发送新增区块的区块压缩信息;当代表节点2根据区块压缩信息和代表节点2的本地缓存池中的交易信息重建新增区块失败,代表节点2向超级节点1发送交易获取请求,超级节点1向代表节点2发送新增区块的所有交易信息,代表节点2根据新增区块的所有交易信息重建新增区块,之后代表节点2分别向订阅代表节点2的代表节点3和代表节点4发送区块压缩信息;当代表节点2根据区块压缩信息和代表节点2的本地缓存池中的交易信息重建新增区块成功,代表节点2分别向订阅代表节点2的代表节点3和代表节点4发送区块压缩信息。
二.待处理交易信息和其的处理结果的传输流程包括:
普通节点a接收到待处理交易信息,其将待处理交易信息传输给普通节点a订阅的代表节点b,代表节点b将待处理交易信息传输给订阅代表节点b的代表节点c,代表节点c将待处理交易信息传输给订阅代表节点c的代表节点d和代表节点e,代表节点e将待处理交易信息传输给代表节点e订阅的超级节点1,超级节点1将待处理交易信息广播到超级网络层中的所有超级节点,所有超级节点对待处理交易信息进行共识处理,得到待处理交易信息的处理结果。
超级节点1将处理结果传输给代表节点e,代表节点e将处理结果传输给代表节点c,代表节点c将处理结果传输给代表节点d和代表节点b,代表节点b将处理结果传输给普通节点a。
图7示出本公开实施例中区块链网络中的区块传输装置的框图。如图7所示,该实施例区块链网络中的区块传输装置包括:
第一获取模块410,用于所述超级网络层中任一超级节点获取包括至少一个交易信息的新增区块;
第一传输模块420,用于所述任一超级节点向所述第一个全连接网络层中订阅所述任一超级节点的代表节点传输所述新增区块;
第二传输模块430,用于响应于n的取值大于1,所述新增区块由所述第一个全连接网络逐层传输至所述第n个全连接网络层,以使所述区块链网络同步所述新增区块,其中,所述区块链网络中任一全连接网络层向所述任一全连接网络层的下一个全连接网络层传输所述新增区块的方式包括:所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点传输所述新增区块,将订阅任一代表节点的代表节点称为所述任一代表节点的目标节点。
在一个可选实施方式中,本公开实施例的区块链网络中的区块传输装置中,第二传输模块430还用于响应于所述n的取值等于1,所述第一个全连接网络层中接收到新增区块的代表节点分别向所述第一个全连接网络层中接收到新增区块的代表节点的目标节点,以及订阅所述接收到新增区块的代表节点的普通节点传输所述新增区块。
在一个可选实施方式中,本公开实施例的区块链网络中的区块传输装置中,所述超级网络层包括至少一个超级子网络,所述包括至少一个超级子网络中的任一超级子网络包括至少一个超级节点,所述n个全连接网络层中任一全连接网络层包括至少一个全连接子网络;所述包括至少一个全连接子网络中的任一全连接子网络中各普通节点和各代表节点彼此连接;所述装置还包括:
第三传输模块,用于在所述接收到所述新增区块的代表节点所在的全连接子网络中,所述接收到所述新增区块的代表节点向所述接收到所述新增区块的代表节点的目标节点,和/或,订阅所述接收到所述新增区块的代表节点的普通节点传输所述新增区块。
在一个可选实施方式中,所述第一传输模块420包括:
压缩子模块,用于所述任一超级节点对所述新增区块进行压缩处理,得到所述新增区块的区块压缩信息,其中,所述区块压缩信息包括:所述新增区块的区块头、所述新增区块中第一个交易信息和交易校验信息,交易校验信息用于验证本地缓存池中是否具有所述新增区块中的交易信息;
第一传输子模块,用于所述任一超级节点向订阅所述任一超级节点的代表节点发送所述区块压缩信息;
第二传输子模块,用于响应于根据所述区块压缩信息和订阅所述任一超级节点的代表节点的本地缓存池中的交易信息重建所述新增区块成功,确定所述任一超级节点与订阅所述任一超级节点的代表节点完成所述新增区块传输;
第三传输子模块,用于响应于根据所述区块压缩信息和订阅所述任一超级节点的代表节点的本地缓存池中的交易信息重建所述新增区块失败,订阅所述任一超级节点的代表节点向所述任一超级节点发送用于获得所述新增区块中交易信息的交易获取请求,并根据所述任一超级节点针对所述交易获取请求反馈的交易信息重建所述新增区块。
在一个可选实施方式中,所述第二传输模块430还用于所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点发送所述区块压缩信息;响应于根据所述区块压缩信息和所述目标节点的本地缓存池中的交易信息重建所述新增区块成功,确定所述接收到所述新增区块的代表节点向所述目标节点完成所述新增区块传输;响应于根据所述区块压缩信息和所述目标节点的本地缓存池中的交易信息重建所述新增区块失败,所述目标节点向所述接收到所述新增区块的代表节点发送所述交易获取请求,并根据所述接收到所述新增区块的代表节点针对所述交易获取请求反馈的交易信息重建所述新增区块。
在一个可选实施方式中,本公开实施例的区块链网络中的区块传输装置中,还包括:
第四传输模块,用于响应于所述第n个全连接网络层中任一代表节点接收到待处理交易信息,所述任一代表节点将所述待处理交易信息由所述第n个全连接网络层逐层传输至的所述第一个全连接网络层,其中,所述区块链网络中任一全连接网络层向所述任一全连接网络层的上一个全连接网络层传输所述待处理交易信息的方式包括:所述任一全连接网络层中接收到所述待处理交易信息的代表节点向所述上一个全连接网络层中所述接收到所述待处理交易信息的代表节点的目标节点传输所述待处理交易信息;
第五传输模块,用于所述第一个全连接网络层向所述超级网络层传输所述待处理交易信息;
共识处理模块,用于所述超级网络层对所述待处理交易信息进行处理,得到所述待处理交易信息的处理结果,并向所述第一个全连接网络层传输所述处理结果;
第六传输模块,用于所述处理结果按照所述待处理交易信息从所述第n个全连接网络层逐层传输至的所述第一个全连接网络层的传输路径,由所述第一个全连接网络层逐层传输至所述第n个全连接网络层。
在一个可选实施方式中,本公开实施例的区块链网络中的区块传输装置中,还包括:
第七传输模块,用于响应于所述第n个全连接网络层中任一普通节点接收到所述待处理交易信息,所述任一普通节点将所述待处理交易信息传输到所述第n个全连接网络层中所述任一普通节点订阅的代表节点;将所述任一普通节点订阅的代表节点作为所述任一代表节点执行所述任一代表节点将所述待处理交易信息由所述第n个全连接网络层逐层传输至的所述第一个全连接网络层的操作。
在一个可选实施方式中,本公开实施例的区块链网络中的区块传输装置中,还包括:
第八传输模块,用于在所述接收到所述待处理交易信息的代表节点所在的全连接子网络中,所述接收到所述待处理交易信息的代表节点向所述接收到所述待处理交易信息的代表节点的目标节点,和/或,订阅所述接收到所述待处理交易信息的代表节点的普通节点传输所述待处理交易信息以及所述处理结果。
另外,本公开实施例还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的区块链网络中的区块传输方法。
图8为本公开电子设备一个应用实施例的结构示意图。下面,参考图8来描述根据本公开实施例的电子设备。如图8所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的区块链网络中的区块传输方法以及/或者其他期望的功能。
在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入设备还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的区块链网络中的区块传输方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的区块链网络中的区块传输方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (11)
1.一种区块链网络中的区块传输方法,其特征在于,所述区块链网络包括超级网络层和n 个全连接网络层,所述n个全连接网络层中第一个全连接网络层至第n个全连接网络层由上至下依次排列,所述超级网络层位于所述第一个全连接网络层上部;所述超级网络层包括至少一个超级节点,所述n个全连接网络层中任一全连接网络层包括至少一个普通节点,任一超级节点分别与至少一个超级节点和所述第一个全连接网络层中至少一个普通节点连接,任一普通节点分别与相同全连接网络层中至少一个普通节点和相邻全连接网络层中至少一个普通节点连接,将任一全连接网络中与相邻全连接网络层中至少一个普通节点连接的普通节点确定为代表节点,n的取值为大于0的整数;所述方法包括:
所述超级网络层中任一超级节点获取包括至少一个交易信息的新增区块;
所述任一超级节点向所述第一个全连接网络层中订阅所述任一超级节点的代表节点传输所述新增区块;
响应于n的取值大于1,所述新增区块由所述第一个全连接网络逐层传输至所述第n个全连接网络层,以使所述区块链网络同步所述新增区块,其中,所述区块链网络中任一全连接网络层向所述任一全连接网络层的下一个全连接网络层传输所述新增区块的方式包括:所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点传输所述新增区块,将订阅任一代表节点的代表节点称为所述任一代表节点的目标节点。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述n的取值等于1,所述第一个全连接网络层中接收到新增区块的代表节点分别向所述第一个全连接网络层中接收到新增区块的代表节点的目标节点,以及订阅所述接收到新增区块的代表节点的普通节点传输所述新增区块。
3.根据权利要求1所述的方法,其特征在于,所述超级网络层包括至少一个超级子网络,所述包括至少一个超级子网络中的任一超级子网络包括至少一个超级节点,所述n个全连接网络层中任一全连接网络层包括至少一个全连接子网络;所述包括至少一个全连接子网络中的任一全连接子网络中各普通节点和各代表节点彼此连接;所述方法还包括:
在所述接收到所述新增区块的代表节点所在的全连接子网络中,所述接收到所述新增区块的代表节点向所述接收到所述新增区块的代表节点的目标节点,和/或,订阅所述接收到所述新增区块的代表节点的普通节点传输所述新增区块。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述任一超级节点向所述第一个全连接网络层中订阅所述任一超级节点的代表节点传输所述新增区块,包括:
所述任一超级节点对所述新增区块进行压缩处理,得到所述新增区块的区块压缩信息,其中,所述区块压缩信息包括:所述新增区块的区块头、所述新增区块中第一个交易信息和交易校验信息,交易校验信息用于验证本地缓存池中是否具有所述新增区块中的交易信息;
所述任一超级节点向订阅所述任一超级节点的代表节点发送所述区块压缩信息;
响应于根据所述区块压缩信息和订阅所述任一超级节点的代表节点的本地缓存池中的交易信息重建所述新增区块成功,确定所述任一超级节点与订阅所述任一超级节点的代表节点完成所述新增区块传输;
响应于根据所述区块压缩信息和订阅所述任一超级节点的代表节点的本地缓存池中的交易信息重建所述新增区块失败,订阅所述任一超级节点的代表节点向所述任一超级节点发送用于获得所述新增区块中交易信息的交易获取请求,并根据所述任一超级节点针对所述交易获取请求反馈的交易信息重建所述新增区块。
5.根据权利要求4所述的方法,其特征在于,所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点传输所述新增区块,包括:
所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点发送所述区块压缩信息;
响应于根据所述区块压缩信息和所述目标节点的本地缓存池中的交易信息重建所述新增区块成功,确定所述接收到所述新增区块的代表节点向所述目标节点完成所述新增区块传输;
响应于根据所述区块压缩信息和所述目标节点的本地缓存池中的交易信息重建所述新增区块失败,所述目标节点向所述接收到所述新增区块的代表节点发送所述交易获取请求,并根据所述接收到所述新增区块的代表节点针对所述交易获取请求反馈的交易信息重建所述新增区块。
6.根据权利要求3所述的方法,其特征在于,还包括:
响应于所述第n个全连接网络层中任一代表节点接收到待处理交易信息,所述任一代表节点将所述待处理交易信息由所述第n个全连接网络层逐层传输至的所述第一个全连接网络层,其中,所述区块链网络中任一全连接网络层向所述任一全连接网络层的上一个全连接网络层传输所述待处理交易信息的方式包括:所述任一全连接网络层中接收到所述待处理交易信息的代表节点向所述上一个全连接网络层中所述接收到所述待处理交易信息的代表节点的目标节点传输所述待处理交易信息;
所述第一个全连接网络层向所述超级网络层传输所述待处理交易信息;
所述超级网络层对所述待处理交易信息进行处理,得到所述待处理交易信息的处理结果,并向所述第一个全连接网络层传输所述处理结果;
所述处理结果按照所述待处理交易信息从所述第n个全连接网络层逐层传输至的所述第一个全连接网络层的传输路径,由所述第一个全连接网络层逐层传输至所述第n个全连接网络层。
7.根据权利要求6所述的方法,其特征在于,还包括:
响应于所述第n个全连接网络层中任一普通节点接收到所述待处理交易信息,所述任一普通节点将所述待处理交易信息传输到所述第n个全连接网络层中所述任一普通节点订阅的代表节点;将所述任一普通节点订阅的代表节点作为所述任一代表节点执行所述任一代表节点将所述待处理交易信息由所述第n个全连接网络层逐层传输至的所述第一个全连接网络层的操作。
8.根据权利要求6所述的方法,其特征在于,还包括:
在所述接收到所述待处理交易信息的代表节点所在的全连接子网络中,所述接收到所述待处理交易信息的代表节点向所述接收到所述待处理交易信息的代表节点的目标节点,和/或,订阅所述接收到所述待处理交易信息的代表节点的普通节点传输所述待处理交易信息以及所述处理结果。
9.一种区块链网络中的区块传输装置,其特征在于,所述区块链网络包括超级网络层和n 个全连接网络层,所述n个全连接网络层中第一个全连接网络层至第n个全连接网络层由上至下依次排列,所述超级网络层位于所述第一个全连接网络层上部;所述超级网络层包括至少一个超级节点,所述n个全连接网络层中任一全连接网络层包括至少一个普通节点,任一超级节点分别与至少一个超级节点和所述第一个全连接网络层中至少一个普通节点连接,任一普通节点分别与相同全连接网络层中至少一个普通节点和相邻全连接网络层中至少一个普通节点连接,将任一全连接网络中与相邻全连接网络层中至少一个普通节点连接的普通节点确定为代表节点,n的取值为大于0的整数;所述装置包括:
第一获取模块,用于所述超级网络层中任一超级节点获取包括至少一个交易信息的新增区块;
第一传输模块,用于所述任一超级节点向所述第一个全连接网络层中订阅所述任一超级节点的代表节点传输所述新增区块;
第二传输模块,用于响应于n的取值大于1,所述新增区块由所述第一个全连接网络逐层传输至所述第n个全连接网络层,以使所述区块链网络同步所述新增区块,其中,所述区块链网络中任一全连接网络层向所述任一全连接网络层的下一个全连接网络层传输所述新增区块的方式包括:所述任一全连接网络层中接收到所述新增区块的代表节点向所述下一个全连接网络层中所述接收到所述新增区块的代表节点的目标节点传输所述新增区块,将订阅任一代表节点的代表节点称为所述任一代表节点的目标节点。
10.一种电子设备,其特征在于,包括:存储器,用于存储计算机程序产品;处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1-8中任一项所述的区块链网络中的区块传输方法。
11.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时,实现上述权利要求1-8中任一项所述的区块链网络中的区块传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310201717.1A CN116074328B (zh) | 2023-03-01 | 2023-03-01 | 区块链网络中的区块传输方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310201717.1A CN116074328B (zh) | 2023-03-01 | 2023-03-01 | 区块链网络中的区块传输方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116074328A true CN116074328A (zh) | 2023-05-05 |
CN116074328B CN116074328B (zh) | 2023-06-27 |
Family
ID=86171579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310201717.1A Active CN116074328B (zh) | 2023-03-01 | 2023-03-01 | 区块链网络中的区块传输方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116074328B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170374516A1 (en) * | 2014-12-14 | 2017-12-28 | Zte Corporation | Techniques for operating a distributed communication network |
CN109729163A (zh) * | 2018-12-28 | 2019-05-07 | 合肥达朴汇联科技有限公司 | 一种区块链的数据处理方法、装置电子设备及存储介质 |
CN109919771A (zh) * | 2019-03-18 | 2019-06-21 | 徐雪松 | 一种应用于工业互联网的分层区块链网络及交易方法 |
US20190235946A1 (en) * | 2017-03-30 | 2019-08-01 | Tencent Technology (Shenzhen) Company Limited | Distributed system, message processing method, nodes, client, and storage medium |
CN111464542A (zh) * | 2020-04-01 | 2020-07-28 | 中国联合网络通信集团有限公司 | 区块链网络的记账方法及装置 |
CN112685505A (zh) * | 2021-01-07 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、计算机设备及存储介质 |
KR20210087721A (ko) * | 2020-01-03 | 2021-07-13 | 주식회사 블로코 | 라프트 합의를 이용한 블록체인 동기화 방법 및 블록체인 시스템 |
CN113191772A (zh) * | 2021-04-12 | 2021-07-30 | 西安交通大学 | 一种基于分层模型的联盟链的共识方法 |
CN113810497A (zh) * | 2021-09-17 | 2021-12-17 | 北京邮电大学 | 基于区块链的医疗数据共享方法和装置 |
WO2022027531A1 (zh) * | 2020-08-03 | 2022-02-10 | 西安电子科技大学 | 区块链构建方法、系统、存储介质、计算机设备及应用 |
-
2023
- 2023-03-01 CN CN202310201717.1A patent/CN116074328B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170374516A1 (en) * | 2014-12-14 | 2017-12-28 | Zte Corporation | Techniques for operating a distributed communication network |
US20190235946A1 (en) * | 2017-03-30 | 2019-08-01 | Tencent Technology (Shenzhen) Company Limited | Distributed system, message processing method, nodes, client, and storage medium |
CN109729163A (zh) * | 2018-12-28 | 2019-05-07 | 合肥达朴汇联科技有限公司 | 一种区块链的数据处理方法、装置电子设备及存储介质 |
CN109919771A (zh) * | 2019-03-18 | 2019-06-21 | 徐雪松 | 一种应用于工业互联网的分层区块链网络及交易方法 |
KR20210087721A (ko) * | 2020-01-03 | 2021-07-13 | 주식회사 블로코 | 라프트 합의를 이용한 블록체인 동기화 방법 및 블록체인 시스템 |
CN111464542A (zh) * | 2020-04-01 | 2020-07-28 | 中国联合网络通信集团有限公司 | 区块链网络的记账方法及装置 |
WO2022027531A1 (zh) * | 2020-08-03 | 2022-02-10 | 西安电子科技大学 | 区块链构建方法、系统、存储介质、计算机设备及应用 |
CN112685505A (zh) * | 2021-01-07 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、计算机设备及存储介质 |
CN113191772A (zh) * | 2021-04-12 | 2021-07-30 | 西安交通大学 | 一种基于分层模型的联盟链的共识方法 |
CN113810497A (zh) * | 2021-09-17 | 2021-12-17 | 北京邮电大学 | 基于区块链的医疗数据共享方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116074328B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3780553B1 (en) | Blockchain-based transaction consensus processing method and apparatus, and electrical device | |
KR20210003234A (ko) | 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것 | |
US11625718B2 (en) | Blockchain-based data verification system and method, computing device and storage medium | |
CN110399424B (zh) | 区块生成方法、装置、区块链节点及存储介质 | |
JP6980131B2 (ja) | ブロックチェーンブロックの非同期処理 | |
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
US20190287099A1 (en) | Distributed ledger update method | |
US11252260B2 (en) | Efficient peer-to-peer architecture for distributed machine learning | |
CN111522874B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
WO2022095574A1 (zh) | 一种基于区块链的资源共享的方法及装置 | |
CN110874351A (zh) | 工作量证明协同工作方法、区块链节点及区块链系统 | |
US20230259938A1 (en) | Blockchain-based data processing method and apparatus, device, readable storage medium and computer program product | |
Esmaili et al. | The core storage primitive: Cross-object redundancy for efficient data repair & access in erasure coded storage | |
CN114936253A (zh) | 区块链的共识方法及装置、电子设备、存储介质 | |
US11240010B2 (en) | Random oracles in open networks | |
CN116074328B (zh) | 区块链网络中的区块传输方法、装置、设备和介质 | |
WO2019024631A1 (zh) | 区块链轻量化处理方法、区块链节点及存储介质 | |
CN112825525B (zh) | 用于处理事务的方法和装置 | |
CN112119608A (zh) | 用于可验证秘密共享的系统和异步协议 | |
CN115174090A (zh) | 区块链共识方法及装置 | |
CN113987062A (zh) | 一种数据上链存储方法、系统、装置以及存储介质 | |
CN115202800A (zh) | 边缘云业务数据处理方法、装置、计算机设备和存储介质 | |
CN117812092B (zh) | 基于谓词的区块压缩传输方法和装置、设备和介质 | |
CN115544170B (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 |