基于近邻节点分簇的区块传输方法

文档序号:36316586发布日期:2023-12-08 04:31阅读:24来源:国知局
基于近邻节点分簇的区块传输方法

本技术涉及区块链,特别是涉及一种基于近邻节点分簇的区块传输方法。


背景技术:

1、区块链作为一种颠覆性技术,已经在金融、工业物联网、医疗保健等社会领域中得到广泛关注。然而作为一种去中心化的分布式账本,区块链技术虽然因其去中心化、透明可追溯、无法篡改等优点而获得越来越多研究者的关注,但也因其扩展性、安全性、去中心化三者之间无法同时优化而饱受争议。区块链被视为一种分布式账本技术,它的概念产生于比特币。区块链网络中的节点构成对等网络,即,所有节点都处于对等地位,都有相同功能,无主从之分。当区块链网络中的一个节点获得打包权时,它会将交易打包成区块并广播到邻居节点。收到区块的节点会对区块进行验证,将验证通过的区块存储在自己的本地账本中。

2、区块链网络的传输性能主要受传输速率和安全性影响。传输速率能直接决定区块能不能在生成后的第一时间传播到网络中的各个节点,从而直接影响分叉的产生。安全性能直接反映出在有恶意节点存在的情况下,网络的容错性能。在区块链网络中每个节点都是对等的,各自维护一个本地的分布式账本。区块由区块链网络中的矿工创建并广播到整个网络。而由于区块链网络的异步性、竞争性挖矿和不确定的区块传播延迟的存在,区块链分叉频繁产生(由于每个区块链接到先前生成的区块,区块链网络的规模随着网络中新区块的生成而增长。注意,由于块传输延迟的存在,网络中的矿工所维护的账本可能不同,这就导致了它们可能在不同的链上工作,从而产生分叉)。分叉的产生会导致算力的大量浪费,极大地影响区块链网络的效率,还会严重地影响区块链网络的安全性。除此之外,由于区块链网络中不同节点的邻居节点数量差距很大,因此会存在部分节点已经接收到了区块,但还是会有其它节点向其发送询问消息的现象,这种现象之所以产生是因为网络中节点并不知道邻居节点所存储的区块信息,当一个节点接收到新的区块时会像所连接的节点广播询问消息。这会导致网络中存在大量消息冗余。另外,节点的可靠性对区块传输速率也有很大影响。如果在区块链网络中产生了作恶节点,那么可能会存在如下情况:(1)恶意节点在接收到inv消息后将会选择不向其邻居节点广播区块的inv消息且不断向发送inv的节点请求区块,占用其带宽;(2)向其邻居节点广播恶意区块。前者会严重占用节点的带宽,后者不仅影响区块传输还会给其邻居节点造成传输压力(会接收无用的区块将会占用节点的带宽)。因此,目前的区块传输的传输速率和安全性较低。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高区块传输的传输速率和安全性的基于近邻节点分簇的区块传输方法。

2、一种基于近邻节点分簇的区块传输方法,所述方法包括:

3、区块链网络中所有节点中带宽大于带宽阈值tb的节点向所述区块链网络中的各邻居节点播headmsg消息进行簇头节点申请,基于节点间的通信延迟划分出节点分簇,并确定每个分簇的簇头节点和成员节点;

4、在区块链网络中的第一簇头节点接收到第二簇头节点发送的区块时,所述第一簇头节点获取与所述第一簇头节点建立连接的其他簇头节点的信任值和消息转发概率,确定目标传输节点,所述第一簇头节点向目标传输节点发送包含所述区块的区块头信息的inv消息;

5、所述第一簇头节点对所述区块内的交易进行验证,获得验证结果,并根据验证结果更新所述第二簇头节点的信任值和消息转发概率;

6、在所述区块合法的情况下,所述第一簇头节点向簇内与所述第一簇头节点建立连接的成员节点发送所述区块,使所述成员节点向簇内所述成员节点的邻居节点发送所述区块;

7、根据所述目标传输节点基于所述inv消息的反馈消息,从所述目标传输节点中确定需要获取所述区块的目标节点,向所述目标节点发送所述区块。

8、在其中一个实施例中,区块链网络中所有节点中带宽大于带宽阈值tb的节点向所述区块链网络中的各邻居节点播headmsg消息进行簇头节点申请,基于节点间的通信延迟划分出节点分簇,并确定每个分簇的簇头节点和成员节点,包括:

9、区块链网络中所有节点中带宽大于带宽阈值tb的节点nv向所述区块链网络中的邻居节点nu广播headmsg消息申请成为簇头节点;

10、邻居节点nu接收到节点nv发送的headmsg消息时,在节点nv的带宽大于邻居节点nu的带宽且未成为其他节点的成员节点的情况下,邻居节点nu向节点nv发送响应消息headreply以申请成为节点nv的成员节点;

11、在节点nv收到邻居节点nu发送的响应消息headreply,并且簇中成员节点数量没有超过阈值的情况下,节点nv向邻居节点nu发送确认消息,使邻居节点nu将节点nv设置成簇头节点,若分簇中成员节点数量超过阈值的情况下,节点nv则向邻居节点nu发送拒绝消息rejectmsg。

12、在其中一个实施例中,所述成员节点向簇内所述成员节点的邻居节点发送所述区块,包括:

13、在区块链网络中的成员节点接收到第一节点发送的区块时,所述成员节点获取与所述成员节点建立连接的邻居节点的信任值和消息转发概率,从各所述邻居节点中确定出第二节点,所述成员节点向第二节点发送包含所述区块的区块头信息的inv消息;

14、所述成员节点对所述区块内的交易进行验证,获得验证结果,并根据验证结果更新所述第一节点的信任值和消息转发概率;

15、在所述区块合法的情况下,根据所述第二节点基于所述inv消息的反馈消息,从所述第二节点中确定需要获取所述区块的第三节点,向所述第三节点发送所述区块。

16、在其中一个实施例中,所述信任值的更新表达式为:

17、

18、

19、

20、

21、

22、

23、

24、其中,为在b个区块的传输过程节点i对节点j的信任值,β为第一权重系数,为在b个区块的传输过程中节点i对节点j的修正后的区块有效率,为在b个区块的传输过程中节点i对节点j的修正后的在线率,为在b个区块的传输过程中节点i对节点j在线率,α为第二权重系数,为在个区块的传输过程中节点i对节点j在线率,为个区块的传输期间节点j的在线时间,为个区块的传输期间节点i的在线时间,δ为在线率阈值,为b个区块的传输过程中节点i对节点j传输区块的有效率,γ为第三权重系数,为个区块的传输过程中节点i对节点j传输区块的有效率,为个区块的传输过程中节点i接受的来自节点j的有效区块的数量,为个区块的传输过程中节点i接受的来自节点j的无效区块的数量,为区块有效率阈值,为节点i和节点j建立连接之后节点j的在线时间,为节点i和j建立连接之后节点i的在线时间,为b个区块的传输过程中节点i接受的来自节点j的有效区块的数量,为b个区块的传输过程中节点i接受的来自节点j的无效区块的数量,b为区块链网络从开始运行到当前为止节点i接收到节点j传输的区块个数,表示预设时间段内节点i接收到节点j传输的区块个数。

25、在其中一个实施例中,所述消息转发概率的更新表达式为:

26、

27、

28、

29、其中,为节点i向节点j发送第b+1个区块消息的消息转发概率,为在b个区块的传输过程中节点i对节点j的消息响应率,p为传输概率的权重系数,θ为传输稳定性的权重系数,为在最近个区块的传输过程中节点i对节点j的消息响应率,ω为消息响应率阈值,为节点i向节点j传输第b个区块的传输稳定性,为b个区块的传输过程中节点i接收到节点j的getdata的次数,为b个区块的传输过程中节点i向节点j发送inv消息的次数,为个区块的传输过程中节点i接收到节点j的getdata的次数,为个区块的传输过程中节点i向节点j发送inv消息的次数,b为区块链网络从开始运行到当前为止节点i接收到节点j传输的区块个数,表示预设时间段内节点i接收到节点j传输的区块个数。

30、在其中一个实施例中,所述传输稳定性的表达式为:

31、

32、

33、其中,为节点i向节点j传输第b个区块的过程中节点i接收到节点j发送的getdata的时间,为节点i向节点j传输b-1个区块消息的平均时间,为节点i向节点j发送第b个区块的inv消息的时间,为节点i向节点j传输第k个区块的过程中节点i接收到节点j发送的getdata的时间,为节点i向节点j发送第k个区块的inv消息的时间,为节点i向节点j传输b个区块消息的平均时间。

34、上述基于近邻节点分簇的区块传输方法,通过区块链网络中所有节点中带宽大于带宽阈值tb的节点向所述区块链网络中的各邻居节点播headmsg消息进行簇头节点申请,基于节点间的通信延迟划分出节点分簇,并确定每个分簇的簇头节点和成员节点,在区块链网络中的第一簇头节点接收到第二簇头节点发送的区块时,所述第一簇头节点获取与所述第一簇头节点建立连接的其他簇头节点的信任值和消息转发概率,确定目标传输节点,所述第一簇头节点向目标传输节点发送包含所述区块的区块头信息的inv消息,进而所述第一簇头节点对所述区块内的交易进行验证,获得验证结果,并根据验证结果更新所述第二簇头节点的信任值和消息转发概率,在所述区块合法的情况下,所述第一簇头节点向簇内与所述第一簇头节点建立连接的成员节点发送所述区块,使所述成员节点向簇内所述成员节点的邻居节点发送所述区块,根据所述目标传输节点基于所述inv消息的反馈消息,从所述目标传输节点中确定需要获取所述区块的目标节点,向所述目标节点发送所述区块。由此,区块链网络各节点通过节点之间的延迟来选择加入延迟小的簇,簇头节点通过信任值和消息转发概率向簇内节点和其他簇头节点的转发包含该区块哈希值的inv消息,不需要先验证区块内的交易,因此能够使区块更快地被转发到网络中,从而提高了区块传输的传输速率和安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1