CN115296824A - 基于多尺度节点管理的区块链网络分级传输方法及存储介质 - Google Patents

基于多尺度节点管理的区块链网络分级传输方法及存储介质 Download PDF

Info

Publication number
CN115296824A
CN115296824A CN202211219789.0A CN202211219789A CN115296824A CN 115296824 A CN115296824 A CN 115296824A CN 202211219789 A CN202211219789 A CN 202211219789A CN 115296824 A CN115296824 A CN 115296824A
Authority
CN
China
Prior art keywords
node
scale
data
nodes
interval
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
CN202211219789.0A
Other languages
English (en)
Other versions
CN115296824B (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.)
Anhui Zhongke Lattice Technology Co ltd
Anhui Zhongkezhilian Information Technology Co ltd
Hefei Institutes of Physical Science of CAS
Original Assignee
Anhui Zhongke Lattice Technology Co ltd
Anhui Zhongkezhilian Information Technology Co ltd
Hefei Institutes of Physical Science of CAS
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 Anhui Zhongke Lattice Technology Co ltd, Anhui Zhongkezhilian Information Technology Co ltd, Hefei Institutes of Physical Science of CAS filed Critical Anhui Zhongke Lattice Technology Co ltd
Priority to CN202211219789.0A priority Critical patent/CN115296824B/zh
Publication of CN115296824A publication Critical patent/CN115296824A/zh
Application granted granted Critical
Publication of CN115296824B publication Critical patent/CN115296824B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的一种基于多尺度节点管理的区块链网络分级传输方法及存储介质,其方法依照区块链网络规模选取划分力度,将网络节点集合划分为多个尺度,在每个尺度下将节点按照ID值大小划分为多个均匀区间,在不同尺度下的不同区间内各选择一个节点作为传输节点的邻节点,采用基于传输速度的邻节点更新方式。通过节点间的网络传输速度更新各区间内的邻节点,即采用传输速度更快的节点代替老节点作为节点的邻节点,让节点与邻节点之间始终保持最高的数据传输速度。基于多尺度节点管理模型,在不同的传输级别时,数据发送节点将数据转发给对应尺度等级下的邻节点;本发明降低了传输级别,降低了传输时延,提高了网络利用率,提高了最大吞吐量。

Description

基于多尺度节点管理的区块链网络分级传输方法及存储介质
技术领域
本发明涉及区块链技术领域,具体涉及一种基于多尺度节点管理的区块链网络分级传输方法及存储介质。
背景技术
区块链技术因其去中心化、防篡改、可追溯等特性,已被应用于一些行业领域的信息化***中,与物联网、大数据、人工智能等信息技术的融合,能够解决社会信用、成本、效率等方面的问题,保障数据真实可信,提升信息化***应用价值,在各行业领域有着巨大的应用前景。然而区块链技术的发展与应用正处于挑战与机遇并存的关键阶段,在节点存储区块数据压力、数据在区块链网络中传输时长、共识效率等方面都面临着一些挑战;在区块链***中,所有节点组建为一个P2P网络,节点间的网络传输效率、传输的可靠性、安全性、网络利用率等因素直接影响着区块链运行的稳定性、性能等。随着应用需求不断提升,交易数量不断增多,区块链P2P网络中节点之间需要更加快速、高效的网络传输方式。
在比特币区块链中,节点通过三种方式向其邻节点传输新区块:BIP130模式仅广播完整的区块头数据;BIP152高带宽模式使用紧凑区块协议立即传输完整区块数据;INV机制只广播区块哈希,节点首先向其邻节点发送INV消息,然后只向响应GETDATA消息的邻节点发送完整数据,这提高了完整数据的传输效率,但增加了网络传输的次数;在以太坊中,当矿工构造出一个新区块时,矿工会向其邻节点发送两种不同类型的消息:NewBlockMsg(包含完整的区块数据)和NewBlockHashesMsg(只包含区块哈希),与比特币区块链类似,以太坊第二种消息类型的网络传输次数也会增加。
当前关于区块链技术存在以下问题:
1)、区块链网络传输效率不高。数据从一个节点发送,传输到整个P2P网络中的每个节点,需要经过多次转发,增加了数据传输到整个网络的时长,数据传输存在一定的网络时延,网络传输效率不高。
2)、区块链网络利用率低下。P2P网络中的每个节点接收到数据之后,将数据转发给其它节点,每个节点可能会多次接收到不同节点发送的相同数据,冗余的数据传输造成网络资源的浪费,网络利用率低下。
3)、区块链网络性能成为影响区块链吞吐量的重要因素之一。区块链***的P2P网络中,一般节点都比较多,且分布在全球各个地方;另外,各节点所处网络状态不可控,无法要求节点的网络带宽,甚至无法要求它们处于稳定的网络中,节点可随时离线,也有新节点随时加入。因此,新节点加入的同步数据速率低下,获取自己的邻节点也会耗费较多时间。
发明内容
本发明提出的一种基于多尺度节点管理的区块链网络分级传输方法及存储介质,可至少解决上述技术问题之一。
为实现上述目的,本发明采用了以下技术方案:
一种基于多尺度节点管理的区块链网络分级传输方法,包括以下步骤,
S1、依照整个区块链网络规模设定尺度划分力度n,即当尺度等级Scale-level=1网络中节点均分为n个区间;当划分至每个区间内包含的节点数小于等于划分力度n时,则不在继续划分新的尺度;
S2、初始化邻节点列表;当一个新节点加入网络时,依据其ID值,判断该节点位于尺度等级Scale-level=1时所处的区间,并从该区间的兄弟区间中各随机选取一个节点加入此新节点的邻节点列表;再重复此方法,在其他各个尺度下,选取相应的节点,加入其邻节点列表;节点的兄弟区间为节点所属区间的上一个尺度的区间的所有子区间;
S3、数据发送;
S4、数据接收转发。
进一步的,所述步骤S1中包括尺度划分步骤如下:
(1)将网络中的所有节点按照ID值从小到大依次排列,并确定划分力度n;
(2)设置尺度等级Scale-level=1,将网络中的节点集合按照划分力度均分为n个区间,即区间11, 区间12……区间1n;
(3)当划分至每个区间内包含的节点数小于等于划分力度n时,则不在继续划分新 的尺度;此时的尺度等级Scale-level=k,将尺度等级k-1下的nk-1个区间分别均分为n个区 间;若节点ID位数为m,计算出***尺度最大值为
Figure 515401DEST_PATH_IMAGE001
进一步的,所述步骤S2中初始化邻节点列表包括以下步骤,
本地节点在不同的尺度下都有唯一的所属区间,节点的父区间为节点所属区间的 上一个尺度的区间,节点的子区间为节点所属区间的下一个尺度的所属区间,节点的兄弟 区间为节点所属区间的上一个尺度的区间的所有子区间;每个节点在不同的尺度下,所有 兄弟区间中,选择一个节点作为其邻节点,则在每个尺度下,各个节点都有n个邻节点,若节 点ID位数为m,则一共有
Figure 723660DEST_PATH_IMAGE002
个邻节点;
当节点a与P2P网络中的另一个节点c建立连接时,节点a根据节点c的ID值,确定节点c在不同尺度等级下的所属区间,当该区间内已存在一个邻节点b时,则将节点c作为后备节点,并在一定的心跳周期内,节点a比较与节点b和节点c的网络响应速度,若与节点c的网络响应速度大于与节点b的网络响应速度,则将节点c替换节点b成为该区间内的节点a的邻节点,反之,则保持节点b作为该区间内的节点a的邻节点不变。
进一步的,所述步骤S3中数据发送包括以下步骤,
数据发送节点发送区块链***中的交易、区块数据时,首先将数据按照区块链相关协议打包成标准的数据格式,同时附加传输级别数据项,此时是数据被第一次发送,所以传输级别值为1;并根据传输级别值1确定尺度等级也为1,选择数据发送节点在该尺度等级下的所有邻节点,将附加了传输级别的数据发送给该节点的这些邻节点。
进一步的,所述S4中数据接收转发包括以下步骤,首先进行接收数据的验证,对交易、区块数据的有效性进行验证,同时需要对传输级别数据项进行验证,其值最小为1,最大不超过最大尺度等级;然后对传输级别的签名进行验证,判断签名的有效性;接收到的数据验证通过之后,将进行数据转发的判断,首先将接收数据中的传输级别值加1,作为数据转发邻节点选择的尺度等级,首先判断该尺度等级是否超过了本区块链***的最大尺度等级;判断该尺度等级下是否存在邻节点,若不存在邻节点则不再转发数据,若存在则向这些邻节点转发数据。
进一步的,所述S4中数据接收转发还包括数据转发之后,下一批接收到数据的节点,重复以上数据接收转发过程,直到区块链***P2P网络中大部分节点都接收到了该数据。
进一步的,所述S4中数据接收转发之后还包括新节点加入/节点退出:
各节点所处网络状态不可控,无法要求节点的网络带宽,甚至无法要求它们处于稳定的网络中,节点可随时离线,也有新节点随时加入;
当有新的节点加入时,首先计算出该节点对应的ID值,然后通过一开始区块链节点划分好的区间,将其分配到相应的区间内,然后,通过更新邻节点完成整个区块链的节点的更新;
当有节点由于某种因素导致的离线或者退出,在***进行邻接点更新时,会重新给那些以退出节点为邻接点的节点分配新的邻接点。
另一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
由上述技术方案可知,本发明的基于多尺度节点管理的区块链网络分级传输方法,提出一种多尺度的节点管理模型,其方法依照区块链网络规模选取划分力度,将网络节点集合划分为多个尺度,在每个尺度下将节点按照ID值大小划分为多个均匀区间,在不同尺度下的不同区间内各选择一个节点作为传输节点的邻节点,采用基于传输速度的邻节点更新方式。通过节点间的网络传输速度更新各区间内的邻节点,即采用传输速度更快的节点代替老节点作为节点的邻节点,让节点与邻节点之间始终保持最高的数据传输速度。基于多尺度节点管理模型,在不同的传输级别时,数据发送节点将数据转发给对应尺度等级下的邻节点;本发明降低了传输级别,降低了传输时延,提高了网络利用率,提高了最大吞吐量。
附图说明
图1是本发明多尺度节点管理模型的结构示意图;
图2是不同尺度下的邻节点结构示意图;
图3是基于多尺度节点管理模型的传输架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本实施例所述的基于多尺度节点管理的区块链网络分级传输方法,包括以下步骤,
S1、依照整个区块链网络规模设定尺度划分力度n。即当尺度等级Scale-level=1时网络中节点均分为n个区间。当划分至每个区间内包含的节点数小于等于划分力度n时,则不在继续划分新的尺度。
S2、初始化邻节点列表。当一个新节点加入网络时,依据其ID值,判断该节点位于尺度等级Scale-level=1时所处的区间,并从该区间的兄弟区间中各随机选取一个节点加入此新节点的邻节点列表;再重复此方法,在其他各个尺度下,选取相应的节点,加入其邻节点列表。
S3、数据发送。数据发送节点发送区块链***中的交易、区块等数据时,首先将数据按照区块链相关协议打包成标准的数据格式,同时附加传输级别数据项,此时是数据被第一次发送,所以传输级别值为1;并根据传输级别值1确定尺度等级也为1,选择数据发送节点在该尺度等级下的所有邻节点,将附加了传输级别的数据发送给该节点的这些邻节点。
S4、数据接收转发。首先进行接收数据的验证。对交易、区块等数据的有效性进行验证,同时需要对传输级别数据项进行验证,其值最小为1,最大不超过最大尺度等级;然后对传输级别的签名进行验证,判断签名的有效性。接收到的数据验证通过之后,将进行数据转发的判断,首先将接收数据中的传输级别值加1,作为数据转发邻节点选择的尺度等级,首先判断该尺度等级是否超过了本区块链***的最大尺度等级;判断该尺度等级下是否存在邻节点,若不存在邻节点则不再转发数据,若存在则向这些邻节点转发数据。
以下分别具体说明:
设置节点管理模型,其功能主要分为6个主要部分,分别为:设定尺度划分力度、邻居节点的初始化、邻居节点的更新、发送数据、接收并转发数据以及随时可能产生的新节点的加入/已有节点的退出。
尺度划分:区块链***中,可根据hash运算得到节点对应的ID值,由于hash运算的特性,计算所得的每个节点的ID值唯一,且节点的ID值位数确定。在***中提出节点尺度的概念,基于多尺度模型管理网络中的所有节点。划分步骤如下:
(1)将网络中的所有节点按照ID值从小到大依次排列,并确定划分力度n;
(2)设置尺度等级Scale-level=1,将网络中的节点集合按照划分力度均分为n个区间,即区间11, 区间12……区间1n;
(3)设置尺度等级Scale-level=2,将尺度等级1下的n个区间分别均分为n个区间,如区间11进一步划分为区间21…区间2n;
(4)当划分至每个区间内包含的节点数小于等于划分力度n时,则不在继续划分新 的尺度。此时的尺度等级Scale-level=k,将尺度等级k-1下的nk-1个区间分别均分为n个区 间;若节点ID位数为m,可计算出***尺度最大值为
Figure 600349DEST_PATH_IMAGE003
邻居节点的初始化:本地节点在不同的尺度下都有唯一的所属区间,节点的父区间为节点所属区间的上一个尺度的区间,节点的子区间为节点所属区间的下一个尺度的所属区间,节点的兄弟区间为节点所属区间的上一个尺度的区间的所有子区间。每个节点在不同的尺度下,所有兄弟区间中,选择一个节点作为其邻节点,则在每个尺度下,各个节点都有n个邻节点。
邻居节点的更新:当节点a与P2P网络中的另一个节点c建立连接时,节点a根据节点c的ID值,确定节点c在不同尺度等级下的所属区间,当该区间内已存在一个邻节点b时,则将节点c作为后备节点,并在一定的心跳周期内,节点a比较与节点b和节点c的网络响应速度,若与节点c的网络响应速度大于与节点b的网络响应速度,则将节点c替换节点b成为该区间内的节点a的邻节点。反之,则保持节点b作为该区间内的节点a的邻节点不变。
发送数据:数据发送节点发送区块链***中的交易、区块等数据时,首先将数据按照区块链相关协议打包成标准的数据格式,同时附加传输级别数据项,此时是数据被第一次发送,所以传输级别值为1;并根据传输级别值1确定尺度等级也为1,选择数据发送节点在该尺度等级下的所有邻节点,将附加了传输级别的数据发送给该节点的这些邻节点。
数据接收与转发:节点接收到数据后,主要是对数据进行验证与数据转发。详细步骤如下所述:
(1)数据验证。对交易、区块等数据的有效性进行验证,同时需要对传输级别数据项进行验证,其值最小为1,最大不超过最大尺度等级;然后对传输级别的签名进行验证,判断签名的有效性。
(2)数据转发。接收到的数据验证通过之后,将进行数据转发的判断,首先将接收数据中的传输级别值加1,作为数据转发邻节点选择的尺度等级,首先判断该尺度等级是否超过了本区块链***的最大尺度等级;判断该尺度等级下是否存在邻节点,若不存在邻节点则不再转发数据,若存在则向这些邻节点转发数据。
数据转发之后,下一批接收到数据的节点,重复以上数据接收转发过程,直到区块链***P2P网络中大部分节点都接收到了该数据。
新节点加入/节点退出:各节点所处网络状态不可控,无法要求节点的网络带宽,甚至无法要求它们处于稳定的网络中,节点可随时离线,也有新节点随时加入。当有新的节点加入时,首先计算出该节点对应的ID值,然后通过一开始区块链节点划分好的区间,将其分配到相应的区间内,然后,通过更新邻节点完成整个区块链的节点的更新。当有节点由于某种因素导致的离线或者退出,在***进行邻接点更新时,会重新给那些以退出节点为邻接点的节点分配新的邻接点。
节点管理模型是区块链***P2P网络的基础和核心,不同的区块链***有不同的节点管理方法。为了提高区块链***的P2P网络传输效率和安全性,设计了多尺度节点管理模型,该模型整体结构如图1所示。
本模型中,将节点ID值的范围均匀分为多个不同的区间,尺度等级越小,区间数量越少。如图1中,尺度1的尺度等级最小,区间数量为n个;尺度2时,将尺度1的每个区间再细分为n个区间,即有n^2个区间;尺度3时,将尺度2的每个区间再细分为n个区间,即有n^3个区间;在尺度等级最大为尺度k时,有n^k个区间。可见,随着尺度等级越来越大,区间的数量指数倍增加。
节点所属区间为节点ID值所在的区间,在不同的尺度下,每个节点都有唯一的所属区间,如图中节点0在尺度等级为1时所属区间为区间11,在尺度等级为2时所属区间为区间21。节点的父区间为节点所属区间的上一个尺度的区间,如图中节点0在尺度等级为2时父区间为区间11。节点的子区间为节点所属区间的下一个尺度的所属区间,如图中节点0在尺度等级为1时所属子区间为区间21。节点的兄弟区间为节点所属区间的上一个尺度的区间的所有子区间,如图中节点0在尺度等级为2时兄弟区间为区间21,……,区间2n。
为了更好的定义相关的参量,定义m为节点ID值的位数,对于任何一个已运行的区 块链***,m是确定的。定义n为尺度等级最小(即1)时的区间数量;定义k为尺度等级的大 小,最小尺度等级为1,最大尺度等级为大于等于
Figure 235861DEST_PATH_IMAGE004
的最小整数。定义j为不同尺度下 的区间编号,最小值为1,最大值为
Figure 299632DEST_PATH_IMAGE005
。则每个区间包含节点的最大数量
Figure 560849DEST_PATH_IMAGE006
,每个区间内,节点ID最小值为
Figure 42777DEST_PATH_IMAGE007
,节点ID最大值为
Figure 98457DEST_PATH_IMAGE008
加入区块链P2P网络中的每个节点,为了方便与其它节点的通信,都需要存储一份邻节点列表,但P2P网络中节点数量庞大,无法存储所有节点,单个节点都会选择一些邻节点进行存储。
本模型中,单个节点在每个尺度下的所有兄弟区间中,都会选择一个节点作为邻节点。节点在不同尺度下的邻节点结构如图2所示。以节点ID为0的节点为例,在尺度等级为尺度1时,从区间11到区间1n的每个区间中取出一个节点作为邻节点;同样,在尺度等级为尺度2时,从区间21到区间2n的每个区间中取出一个节点作为邻节点;一直到在尺度等级为尺度k时,从区间k1到区间kn的每个区间中取出一个节点作为邻节点。
节点在每个尺度下,都有n个邻节点,则节点一共有kn个邻节点。
采用多尺度节点管理模型,能够实现对P2P网络中的节点进行高效管理。同时,基于该模型的网络传输能够减少传输级别,提升网络的传输效率,传输级别表示数据从发送节点传输到接收节点需要经过的传输层级数。基于多尺度节点管理模型的传输架构如图3所示。节点发起数据发送(如交易或区块数据)时,数据传输级别值为1,以此确定尺度等级也为1,选择发送节点的尺度等级为1时的所有邻节点,并附加传输级别数据项(此时为1),向这些邻节点发送数据。
接收到数据的节点根据附加的传输级别值,将传输级别值加1确定尺度等级(即为2),选择该节点在该尺度等级下的所有邻节点,并附加传输级别数据项(此时为2),向这些邻节点转发数据。
以此类推,不断转发数据,直到接收到的数据中的尺度等级达到最大值,则完成本次的数据广播。
综上所述,本发明实施例提出一种多尺度的节点管理模型。在不同的尺度等级下,将节点ID值的范围均匀分为多个不同的区间,在每个区间选择一个节点作为邻节点,采用基于传输速度的邻节点更新方式。通过节点间的网络传输速度更新各区间内的邻节点,即采用传输速度更快的节点代替老节点作为节点的邻节点,让节点与邻节点之间始终保持最高的数据传输速度。提出一种区块链网络分级传输模型。基于多尺度节点管理模型,在不同的传输级别时,数据发送节点将数据转发给对应尺度等级下的邻节点;
具体的说,本发明实施例的优点如下:
1、传输级别的降低
在网络带宽、传输数据量一定的条件下,传输时长与传输级别值大小相关,传输级 别值越小,传输时长越小,传输效率越高;输级别值越大,数据转发的次数越多,数据传输到 整个网络所需要的时长就越大,多尺度节点管理模型的最大传输级别值与区块链***中 P2P网络的尺度最大值加一相等,即为:
Figure 662906DEST_PATH_IMAGE009
(1)
其中,m为区块链***中节点ID值的位数,对于任何一个已运行的区块链***,m是确定的;n为尺度等级最小(即1)时的区间数量,因每个区间内的邻节点数为1,因此,其值与节点每次转发数据时广播的邻节点数相等。式中m越大,最大传输级别值越大;n越大,最大传输级别值越小。
而以太坊的结构化P2P网络,最大传输级别值为:
Figure 462235DEST_PATH_IMAGE010
(2)
其中,m同样为节点ID值的位数,为256,以太坊K桶数量同样为256,
Figure 798670DEST_PATH_IMAGE011
为以太坊K桶中存储的最大节点数,为16,则根据式(2)的计算结果,以太坊最大传输级别值 为252。
以太坊中,节点每次转发数据广播的邻节点数为:
Figure 290831DEST_PATH_IMAGE012
(3)
根据式(3)的计算结果,节点每次转发数据广播的邻节点数最多为64个。若本模型中,节点每次转发数据广播的邻节点数与以太坊一致,同样为64,则采用本模型时,根据公式(1)的计算结果,计算出最大传输级别值为43。
2、传输时延的降低
使用本模型在传输数据时,需要附加每次传输的传输级别以及数据发送节点的签 名数据,其大小
Figure 345506DEST_PATH_IMAGE013
为4+32个字节,可见增加的数据量是非常小的,而且其数据量是固 定大小的,不会随着传输级别值的增大而增大。因此,增加的数据量是可以忽略不计,不影 响传输效率分析结果。
以以太坊区块数据传输为例,节点间网络传输速率
Figure 682946DEST_PATH_IMAGE014
平均值为20Mbps,m 为256,
Figure 139466DEST_PATH_IMAGE015
为16,根据传输级别值分析,以太坊传输级别值为252,本模型传输级 别值为43。则以太坊传输时延大小为:
Figure 536950DEST_PATH_IMAGE016
(4)
本模型传输时延大小为:
Figure 75991DEST_PATH_IMAGE017
(5)
其中,
Figure 217122DEST_PATH_IMAGE018
为传输的数据量大小。以太坊区块高度为14581702的区块大小为 189,646Bytes[31],以太坊P2P网络的传输时延大小为18.2秒,采用本模型的传输时延大小 为3.1秒;传输1MB左右大小的区块数据时,以太坊P2P网络的传输时延大小为100.8秒,采用 本模型的传输时延大小为17.2秒。
3、网络利用率的提高
在区块链***的P2P网络中,由于在数据转发时存在着重复传输,因此节点经常会收到多个邻节点转发的数据。在节点间带宽,以及传输的数据量一定的条件下,影响网络利用率的主要因素是数据传输的重复率,传输重复率越低,则网络利用率越高。
根据公式(3),节点每次转发数据广播的邻节点数
Figure 528149DEST_PATH_IMAGE019
最多为64个。理想环 境下,节点发送一条数据,直接向网络内所有邻节点广播数据,网络中其它节点只收到一次 数据,传输次数为:
Figure 362113DEST_PATH_IMAGE020
(6)
将传输重复率定义为实际传输次数与理想状态下,传输次数的比值,传输次数分析如表1所示。
表1传输次数及重复率分析
Figure 125801DEST_PATH_IMAGE021
MsP2P网络的传输重复率为2.0左右,而DevP2P网络的传输重复率为64左右。
4、最大吞吐量得到了提高
区块链的吞吐量是区块链性能的主要指标之一,影响其大小的因素较多,内在影响因素包括:共识机制、数据结构、加密算法、交易验证、P2P网络等;外部影响因素包括节点的CPU性能、内存大小、硬盘容量、网络带宽等资源。
区块链网络对区块链吞吐量的影响包括网络结构、带宽等。在网络带宽确定的条 件下,区块链***最大吞吐量
Figure 70623DEST_PATH_IMAGE022
为:
Figure 236156DEST_PATH_IMAGE023
(7)
节点间网络带宽
Figure 241021DEST_PATH_IMAGE024
为20Mbps时,交易的平均大小
Figure 489075DEST_PATH_IMAGE025
为250字节时,根据式 (7)的计算结果,MsP2P网络的最大吞吐量
Figure 972009DEST_PATH_IMAGE026
为:
Figure 257628DEST_PATH_IMAGE027
(8)
而DevP2P网络的最大吞吐量
Figure 433395DEST_PATH_IMAGE028
为:
Figure 906096DEST_PATH_IMAGE029
(9)
MsP2P网络的最大吞吐量为5243tps,而DevP2P网络的最大吞吐量为163tps。
又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述任一方法的步骤。
再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述任一方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一方法的步骤。
可理解的是,本发明实施例提供的***与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于多尺度节点管理的区块链网络分级传输方法,其特征在于,包括以下步骤,
S1、依照整个区块链网络规模设定尺度划分力度n,即当尺度等级Scale-level=1时网络中节点均分为n个区间;当划分至每个区间内包含的节点数小于等于划分力度n时,则不在继续划分新的尺度;
S2、初始化邻节点列表;当一个新节点加入网络时,依据其ID值,判断该节点位于尺度等级Scale-level=1所处的区间,并从该区间的兄弟区间中各随机选取一个节点加入此新节点的邻节点列表;再重复此方法,在其他各个尺度下,选取相应的节点,加入其邻节点列表;节点的兄弟区间为节点所属区间的上一个尺度的区间的所有子区间;
S3、数据发送;
S4、数据接收转发。
2.根据权利要求1所述的基于多尺度节点管理的区块链网络分级传输方法,其特征在于:所述步骤S1中包括尺度划分步骤如下:
S11、将网络中的所有节点按照ID值从小到大依次排列,并确定划分力度n;
S12、设置尺度等级Scale-level=1,将网络中的节点集合按照划分力度均分为n个区间,即区间11, 区间12……区间1n;
S13、设置尺度等级Scale-level=2,将尺度等级1下的n个区间分别均分为n个区间,如区间11进一步划分为区间21…区间2n;
S14、当划分至每个区间内包含的节点数小于等于划分力度n时,则不在继续划分新的 尺度;此时的尺度等级尺度Scale-level=k,将尺度等级k-1下的nk-1个区间分别均分为n个 区间;若节点ID位数为m,计算出***尺度最大值为
Figure 902172DEST_PATH_IMAGE001
3.根据权利要求2所述的基于多尺度节点管理的区块链网络分级传输方法,其特征在于:所述步骤S2中初始化邻节点列表包括以下步骤,
本地节点在不同的尺度下都有唯一的所属区间,节点的父区间为节点所属区间的上一个尺度的区间,节点的子区间为节点所属区间的下一个尺度的所属区间,节点的兄弟区间为节点所属区间的上一个尺度的区间的所有子区间;每个节点在不同的尺度下,所有兄弟区间中,选择一个节点作为其邻节点,则在每个尺度下,各个节点都有n个邻节点,若节点ID位数为m,则一共有
Figure 632362DEST_PATH_IMAGE002
个邻节点;
当节点a与P2P网络中的另一个节点c建立连接时,节点a根据节点c的ID值,确定节点c在不同尺度等级下的所属区间,当该区间内已存在一个邻节点b时,则将节点c作为后备节点,并在心跳周期内,节点a比较与节点b和节点c的网络响应速度,若与节点c的网络响应速度大于与节点b的网络响应速度,则将节点c替换节点b成为该区间内的节点a的邻节点,反之,则保持节点b作为该区间内的节点a的邻节点不变。
4.根据权利要求1所述的基于多尺度节点管理的区块链网络分级传输方法,其特征在于:所述步骤S3中数据发送包括以下步骤,
数据发送节点发送区块链***中的交易、区块数据时,首先将数据按照区块链相关协议打包成标准的数据格式,同时附加传输级别数据项,此时是数据被第一次发送,所以传输级别值为1;并根据传输级别值1确定尺度等级也为1,选择数据发送节点在该尺度等级下的所有邻节点,将附加了传输级别的数据发送给该节点的这些邻节点。
5.根据权利要求1所述的基于多尺度节点管理的区块链网络分级传输方法,其特征在于:所述S4中数据接收转发包括以下步骤,首先进行接收数据的验证,对交易、区块数据的有效性进行验证,同时需要对传输级别数据项进行验证,其值最小为1,最大不超过最大尺度等级;然后对传输级别的签名进行验证,判断签名的有效性;接收到的数据验证通过之后,将进行数据转发的判断,首先将接收数据中的传输级别值加1,作为数据转发邻节点选择的尺度等级,首先判断该尺度等级是否超过了本区块链***的最大尺度等级;判断该尺度等级下是否存在邻节点,若不存在邻节点则不再转发数据,若存在则向这些邻节点转发数据。
6.根据权利要求5所述的基于多尺度节点管理的区块链网络分级传输方法,其特征在于:所述S4中数据接收转发还包括数据转发之后,下一批接收到数据的节点,重复以上数据接收转发过程,直到区块链***P2P网络中大部分节点都接收到了该数据。
7.根据权利要求6所述的基于多尺度节点管理的区块链网络分级传输方法,其特征在于:所述S4中数据接收转发之后还包括新节点加入/节点退出:
各节点所处网络状态不可控,无法要求节点的网络带宽,甚至无法要求它们处于稳定的网络中,节点可随时离线,也有新节点随时加入;
当有新的节点加入时,首先计算出该节点对应的ID值,然后通过一开始区块链节点划分好的区间,将其分配到相应的区间内,然后,通过更新邻节点完成整个区块链的节点的更新;
当有节点由于某种因素导致的离线或者退出,在***进行邻接点更新时,会重新给那些以退出节点为邻接点的节点分配新的邻接点。
8.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
CN202211219789.0A 2022-10-08 2022-10-08 基于多尺度节点管理的区块链网络分级传输方法及存储介质 Active CN115296824B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211219789.0A CN115296824B (zh) 2022-10-08 2022-10-08 基于多尺度节点管理的区块链网络分级传输方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211219789.0A CN115296824B (zh) 2022-10-08 2022-10-08 基于多尺度节点管理的区块链网络分级传输方法及存储介质

Publications (2)

Publication Number Publication Date
CN115296824A true CN115296824A (zh) 2022-11-04
CN115296824B CN115296824B (zh) 2022-12-16

Family

ID=83834149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211219789.0A Active CN115296824B (zh) 2022-10-08 2022-10-08 基于多尺度节点管理的区块链网络分级传输方法及存储介质

Country Status (1)

Country Link
CN (1) CN115296824B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528886A (zh) * 2017-07-25 2017-12-29 中国科学院计算技术研究所 区块链全网拆分方法与***
CN108920723A (zh) * 2018-08-01 2018-11-30 江苏恒宝智能***技术有限公司 一种节点分层分区管理方法
CN109873808A (zh) * 2019-01-11 2019-06-11 平安科技(深圳)有限公司 区块链节点之间的通信方法及装置、存储介质及电子设备
CN110754070A (zh) * 2017-06-20 2020-02-04 区块链控股有限公司 最近交易在区块链网络上的快速传播
KR20200048246A (ko) * 2018-10-29 2020-05-08 에스케이텔레콤 주식회사 블록체인 기반 분산 원장 관리 방법
CN111770017A (zh) * 2020-06-22 2020-10-13 国网冀北电力有限公司电力科学研究院 基于可信区块链的配电物联网分簇管理***及方法
CN111984733A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 基于区块链的数据传输方法、装置及存储介质
US20210091926A1 (en) * 2019-09-25 2021-03-25 The Mitre Corporation Assessing permissioned blockchains
CN114465933A (zh) * 2022-04-13 2022-05-10 中国科学院合肥物质科学研究院 基于kad双子模型的区块链网络传输方法及传输介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110754070A (zh) * 2017-06-20 2020-02-04 区块链控股有限公司 最近交易在区块链网络上的快速传播
CN107528886A (zh) * 2017-07-25 2017-12-29 中国科学院计算技术研究所 区块链全网拆分方法与***
CN108920723A (zh) * 2018-08-01 2018-11-30 江苏恒宝智能***技术有限公司 一种节点分层分区管理方法
KR20200048246A (ko) * 2018-10-29 2020-05-08 에스케이텔레콤 주식회사 블록체인 기반 분산 원장 관리 방법
CN109873808A (zh) * 2019-01-11 2019-06-11 平安科技(深圳)有限公司 区块链节点之间的通信方法及装置、存储介质及电子设备
US20210091926A1 (en) * 2019-09-25 2021-03-25 The Mitre Corporation Assessing permissioned blockchains
CN111770017A (zh) * 2020-06-22 2020-10-13 国网冀北电力有限公司电力科学研究院 基于可信区块链的配电物联网分簇管理***及方法
CN111984733A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 基于区块链的数据传输方法、装置及存储介质
CN114465933A (zh) * 2022-04-13 2022-05-10 中国科学院合肥物质科学研究院 基于kad双子模型的区块链网络传输方法及传输介质

Also Published As

Publication number Publication date
CN115296824B (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
Osamy et al. An information entropy based-clustering algorithm for heterogeneous wireless sensor networks
US11018980B2 (en) Data-interoperability-oriented trusted processing method and system
US20210124734A1 (en) Trusted storage method and system based on directed acyclic graph structure
US20110128889A1 (en) Method for Selecting and Configuring Network Supernodes
CN110276602B (zh) 面向物联网的区块链分级共识方法、***及电子设备
CN114760135B (zh) 一种区块链容错共识方案的优化方法
Ba et al. Self-stabilizing k-hops clustering algorithm for wireless ad hoc networks
CN113973021A (zh) 一种图式区块链的网络传输优化装置及方法
CN110956463B (zh) 基于可扩展分布式查询***的可信存证方法与***
CN115296824B (zh) 基于多尺度节点管理的区块链网络分级传输方法及存储介质
Allen et al. Uttering: Social micro-blogging without the internet
CN110166565A (zh) 区块链分域触发方法及***
Nimisha et al. Energy efficient connected dominating set construction using ant colony optimization technique in wireless sensor network
CN114465933B (zh) 基于kad双子模型的区块链网络传输方法及传输介质
CN116668135A (zh) 一种移动边缘设备参与的区块链共识方法、***与装置
CN107612980B (zh) 一种结构化p2p网络中可调节且可靠的一致性维护方法
Li et al. Application of bloom filter in grid information service
Chang et al. MR-Chord: A scheme for enhancing Chord lookup accuracy and performance in mobile P2P network
Bhatnagar et al. Improving the Scalability of Blockchain Powered IoT Networks Using Improved Fuzzy Stellar Consensus Protocol
CN116033520B (zh) 无线组网方法及无线自组网络***
CN115550194B (zh) 基于类最远采样的区块链网络传输方法及存储介质
Liu et al. Ring-Overlap: A Storage Scaling Mechanism For Consortium Blockchain
Peng et al. Komorebi: A DAG-based Asynchronous BFT Consensus via Sharding
Higuchi et al. A Load Balancing Method for Distributed Key-Value Store Based on Order Preserving Linear Hashing and Skip Graph
Kong et al. EVONChain: A Public Blockchain Architecture with Bi-tiered Network for Edge Computing

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