激励区块转发的改进Gossip协议方法、装置、设备及介质
未命名
08-13
阅读:130
评论:0
激励区块转发的改进gossip协议方法、装置、设备及介质
技术领域
1.本发明涉及区块链技术领域,特别涉及一种激励区块转发的改进gossip协议方法、装置、设备及介质。
背景技术:
2.自2008年中本聪提出比特币概念的十多年以来,区块链技术能够通过加密算法、共识机制和基于链的存储结构,在网络节点之间建立可信的数据模型。目前,区块链技术因其开放性、透明性、不变性和可追溯性而迅速流行,并已广泛应用于物联网和无线通信等各个领域。共识过程是区块链系统的基础,在共识过程中,新生成的区块需要大量的点对点节点进行区块验证和转发,这消耗了大量的资源。并且区块在网络中传播的快慢对共识过程和区块链的安全性至关重要,区块传播延迟的长尾效应会导致更多的孤立区块和分叉,使得区块链更加容易受到攻击。
3.目前,现有的加速区块链网络中区块转发的研究可以概括为三种方法:针对区块转发协议,通过优化路由选择来加速区块转发、通过减小区块大小来加速区块的转发以及通过调整网络拓扑来加速区块转发。
4.上述研究中均没有考虑到区块链网络中存在一些自私的节点,为了节省通信资源而拒绝转发区块。在区块链网络中,自私的节点对区块传播是致命的,特别是在无线网络等场景中,可能存在大量资源受限的节点,它们会为了节省资源而拒绝转发区块,这直接延迟了区块在网络中传播。因此,亟需一种高效的方法来激励区块链网络中的自私节点转发区块从而加速区块传播,提高区块链系统的性能。
技术实现要素:
5.本发明提供一种激励区块转发的改进gossip协议方法、装置、设备及介质,以解决当前区块链网络中自私节点为了节省通信资源而拒绝转发广播区块的问题。
6.本发明第一方面实施例提供一种激励区块转发的改进gossip协议方法,包括以下步骤:
7.接收区块生成节点的inv消息,并在接收到inv消息后将当前转发节点的身份信息和getdata信息发送至所述区块生成节点,使得所述区块生成节点将利用自身密钥对待转发区块的哈希值和所述当前转发节点的身份信息进行签名得到的第一签名和所述待转发区块发送至所述当前转发节点;
8.对所述待转发区块进行验证,在验证通过时,发送inv消息至下一转发节点,以使所述下一转发节点将自身身份信息和getdata信息发送至所述当前转发节点,利用所述当前转发节点的密钥对所述第一签名和所述下一转发节点的身份信息进行签名得到第二签名,将所述第一签名、所述第二签名和所述待转发区块发送至所述下一转发节点,以使所述下一转发节点作为当前转发节点对所述待转发区块进行验证,并在验证通过后继续转发所述待转发区块;
9.在所述当前转发节点对所述待转发区块进行转发的同时,在所述待转发区块后进行下一区块生成,当所述当前转发节点生成下一区块时,利用所述当前转发节点收到的所有签名构建签名链以记录区块转发路径,将所述签名链和所述签名链中节点的区块传播奖励嵌入下一区块,并进行转发。
10.可选地,在本发明的一个实施例中,所述签名链中节点的区块传播奖励包括对所述签名链中所有节点的区块传播奖励。
11.可选地,在本发明的一个实施例中,对于中间转发节点,所述签名链包括当前转发节点利用自身密钥对下一跳节点的身份信息和上一跳节点生成的签名信息进行签名构成。
12.本发明第二方面实施例提供一种激励区块转发的改进gossip协议装置,包括:
13.接收模块,用于接收区块生成节点的inv消息,并在接收到inv消息后将当前转发节点的身份信息和getdata信息发送至所述区块生成节点,使得所述区块生成节点将利用自身密钥对待转发区块的哈希值和所述当前转发节点的身份信息进行签名得到的第一签名和所述待转发区块发送至所述当前转发节点;
14.转发模块,用于对所述待转发区块进行验证,在验证通过时,发送inv消息至下一转发节点,以使所述下一转发节点将自身身份信息和getdata信息发送至所述当前转发节点,利用所述当前转发节点的密钥对所述第一签名和所述下一转发节点的身份信息进行签名得到第二签名,将所述第一签名、所述第二签名和所述待转发区块发送至所述下一转发节点,以使所述下一转发节点作为当前转发节点对所述待转发区块进行验证,并在验证通过后继续转发所述待转发区块;
15.区块生成模块,用于在所述当前转发节点对所述待转发区块进行转发的同时,在所述待转发区块后进行下一区块生成,当所述当前转发节点生成下一区块时,利用所述当前转发节点收到的所有签名构建签名链以记录区块转发路径,将所述签名链和所述签名链中节点的区块传播奖励嵌入下一区块,并进行转发。
16.可选地,在本发明的一个实施例中,所述签名链中节点的区块传播奖励包括对所述签名链中所有节点的区块传播奖励。
17.可选地,在本发明的一个实施例中,对于中间转发节点,所述签名链包括当前转发节点利用自身密钥对下一跳节点的身份信息和上一跳节点生成的签名信息进行签名构成。
18.本发明第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以执行如上述实施例所述的激励区块转发的改进gossip协议方法。
19.本发明第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以执行如上述实施例所述的激励区块转发的改进gossip协议方法。
20.本发明实施例的激励区块转发的改进gossip协议方法、装置、设备及介质具有以下有益效果:
21.(1)本发明相比于传统的区块链网络,大幅降低了区块链网络中自私节点拒绝转发区块行为的发生,显著降低了网络区块传播时间,加速区块转发,并降低了区块链的分叉率,提升了区块链的安全性。
22.(2)本发明利用设计的签名链结构能够完整记录区块的转发路径并防止被篡改,保证区块转发路径信息的完整性,并且将签名链结构与区块生成过程紧密结合,以确保奖
励分发过程的可靠性。
23.(3)本发明具有一定的网络效应,所设计的奖励分发策略不仅可以鼓励节点转发区块,还可以鼓励更多的节点参与区块链网络,随着网络规模的不断扩大,越来越多的节点会加入到网络中,特别是对于区块链网络中无法参与区块生成过程并且资源受限的节点,能够通过转发区块来参与区块链网络,从而进一步加速网络区块传播,形成正反馈。
24.(4)本发明对gossip协议的改进,仅对其交互流程中添加了一点额外的传输数据,对gossip协议所必须的字段没有任何修改,因此具有很好的兼容性,实施简单。
25.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
26.本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
27.图1为根据本发明实施例提供的一种激励区块转发的改进gossip协议方法的流程图;
28.图2为根据本发明实施例提供的改进gossip协议中记录区块转发路径的签名链结构示意图;
29.图3为根据本发明实施例提供内嵌签名链的区块结构示意图;
30.图4为区块链网络中存在自私节点时,引入本发明前后,网络的区块传播时间示意图;
31.图5为区块链网络中存在自私节点时,引入本发明前后,区块链的分叉率示意图;
32.图6为区块链网络中存在自私节点时,引入本发明前后,区块链网络的吞吐量示意图;
33.图7为根据本发明实施例的激励区块转发的改进gossip协议装置的示例图;
34.图8为发明实施例提供的电子设备的结构示意图。
具体实施方式
35.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
36.下面参考附图描述本发明实施例的激励区块转发的改进gossip协议方法、装置、设备及介质。针对上述背景技术中心提到的当前区块链网络中存在自私节点通过为节省资源而拒绝转发区块的问题,本发明提供了一种激励区块转发的改进gossip协议方法,嵌入区块传播奖励来加速区块转发过程,并通过签名链结构记录区块转发路径并防止路径信息被篡改,在区块中内嵌签名链的区块结构,确保奖励分发过程的可靠性,设计区块传播奖励分发策略来防止转发节点在转发路径中添加虚假身份。由此,激励区块链网络中的自私节点转发区块并加速区块链网络中的区块传播,有效的提高区块链系统的性能。
37.具体而言,图1为根据本发明实施例提供的一种激励区块转发的改进gossip协议方法的流程图。
38.如图1所示,该激励区块转发的改进gossip协议方法包括以下步骤:
39.在步骤s101中,接收区块生成节点的inv消息,并在接收到inv消息后将当前转发节点的身份信息和getdata信息发送至区块生成节点,使得区块生成节点将利用自身密钥对待转发区块的哈希值和当前转发节点的身份信息进行签名得到的第一签名和待转发区块发送至当前转发节点。
40.在本发明的实施例中,由区块生成节点生成区块后,向第一转发节点发送inv消息,第一转发节点收到来自区块生成节点的inv消息后,第一转发节点向区块生成节点请求区块,将自身的身份信息与getdata信息发送给区块生成节点。
41.在生成区块节点收到来自第一转发节点的身份信息和getdata信息后,用密钥对生成区块的哈希值和第一转发节点的身份信息进行签名,将签名和区块发送给第一转发节点。
42.在步骤s102中,对待转发区块进行验证,在验证通过时,发送inv消息至下一转发节点,以使下一转发节点将自身身份信息和getdata信息发送至当前转发节点,利用当前转发节点的密钥对第一签名和下一转发节点的身份信息进行签名得到第二签名,将第一签名、第二签名和待转发区块发送至下一转发节点,以使下一转发节点作为当前转发节点对待转发区块进行验证,并在验证通过后继续转发待转发区块。
43.在本发明的实施例中,第一转发节点验证来自生成区块节点的区块,需要说明的是,本发明实施例的对区块进行验证的方法可以使用已有的验证方法。举例而言,验证待转发区块中的负载数据是否包含冲突数据,然后验证区块头是否满足协议要求,最后判断整个区块的哈希值是否满足难度。上述仅作为举例,具体实施方式不做限定。
44.在每个中间转发节点对待转发区块验证成功后,重复上述实施例的转发过程将待转发区块发送至下一个转发节点。
45.需要说明的是,在本发明的实施例中,第一转发节点接收到来自第二转发节点的身份信息和getdata信息后,用自身密钥对来自生成区块节点的签名和第二转发节点身份信息进行签名,将全部的签名和区块发送给第二转发节点。第二节点对收到的区块进行验证,在验证通过后继续转发收到的区块。
46.在步骤s103中,在当前转发节点对待转发区块进行转发的同时,在待转发区块后进行下一区块生成,当前转发节点生成下一区块时,利用当前转发节点收到的所有签名构建签名链以记录区块转发路径,将签名链和签名链中节点的区块传播奖励嵌入下一区块,并进行转发。
47.在本发明的实施例中,在当前转发节点转发待转发区块的同时,当前转发节点进行下一区块生成,在生成下一区块时,该转发节点会根据收到的全部签名信息构建出一条签名链,将该签名链内嵌入下一个区块中,并为该签名链上的全部节点分发区块传播奖励。
48.可以理解的是,节点生成的下一个区块中必须包含签名链和为签名链上节点分发的区块传播奖励。签名链中节点的区块传播奖励包括对签名链中所有节点的区块传播奖励。
49.对于中间转发节点,记录转发路径信息的签名链,是通过由下一跳节点的身份信息和上一跳节点生成的签名信息组合起来并由当前节点密钥签名所构成的,通过这种方式记录区块转发的路径信息。
50.内嵌签名链的区块结构新增了记录上一个区块转发路径信息的签名链以及为签名链上的全部节点分发的区块传播奖励字段,并且该签名链包含的路径信息必须能够追溯到上一个区块的生成节点,同时包含上述全部内容的区块才认为是有效的区块。
51.区块传播奖励分发策略,表示给帮助转发区块的转发节点分发奖励时所遵循的规则,具体表述为转发节点通过伪造额外的身份,不会使其获得的奖励增加;根据区块传播奖励分发策略所遵循的原则,包括两种策略,第一种为统一奖励分配策略,转发路径上所有的转发节点最终获得的奖励是相同的,第二种为比例奖励分配策略,转发路径上相邻两个转发节点之间获得的奖励关系为后一个转发节点获得的奖励与前一个转发节点获得的奖励的比值为一小于1的常数,称之为比例因子;奖励分发是通过签名链中的签名作为凭证,并在生成下一个区块时自动完成。
52.下面结合一个具体实施例对本发明的激励区块转发的改进gossip协议方法进行详细说明。
53.如图2所示,展示了4个节点的区块转发过程,包括以下步骤:
54.(1)节点1生成了区块h后,向节点2发送inv消息;
55.(2)节点2收到来自节点1的inv消息后,节点2向节点1请求区块h,将自己的身份信息addr2和getdata信息发送给节点1;
56.(3)节点1收到来自节点2的身份信息addr2和getdata信息后,用自己的密钥sk1对区块h的哈希值h(blockh)和节点2的身份信息addr2进行签名操作sign
sk1
,将签名σ
1-2
和区块h发送给节点2;
57.(4)节点2验证来自节点1的区块h,验证成功后,将区块h转发出去,节点2向节点3重复步骤(1)-(2),即节点2向节点3发送inv消息,节点3收到来自节点2的inv消息后,节点3向节点2请求区块h,将自己的身份信息addr3和getdata信息发送给节点2,不同在于,在步骤(3)时,节点2收到来自节点3的身份信息addr3和getdata信息后,用自己的密钥sk2对来自节点1的签名σ
1-2
和节点3的身份信息addr3进行签名操作sign
sk2
,将生成的签名σ
2-3
、来自节点1的签名σ
1-2
和区块h一起发送给节点3,继续执行步骤(4);(5)以节点4为例,当节点4对收到的区块h验证通过后,将区块h转发出去的同时,节点4生成下一个区块h+1,此时节点4根据收到的全部签名信息σ
1-2
,σ
2-3
,σ
3-4
构建一条签名链,将该签名链嵌入生成的下一个区块h+1中,并为该签名链上包含的全部节点(即节点1、2、3、4)分配区块传播奖励。
58.如图3所示,本发明中内嵌签名链的区块h+1的结构包括一条记录4个节点转发路径信息的签名链、区块h+1的哈希值h(block
h+1
)、给生成区块h+1的节点4分配的区块奖励、给4个转发节点的区块传播奖励、随机数nonce
h+1
、生成时间戳和其他交易数据。
59.参考图4至图6,为揭示本发明在实际工作中的性能,为本发明典型实施例进行了实际测试与数据记录,分析结果如下。
60.图4反映了区块链网络中存在自私节点时,引入本发明前后,对于网络的区块传播时间的影响。区块传播时间指的是对于某个节点收到一个区块的时间与生成该区块的时间戳的差值。网络中节点的算力分布是均匀分布。在gossip协议中,区块传播时间随着网络中自私节点比例的上升明显增加,这进一步表明,自私节点拒绝转发区块的行为对区块链网络的影响会降低网络性能。当网络中不存在自私节点时,本发明与gossip协议的区块传播时间相一致,这是因为与区块大小相比,签名和身份的开销微乎其微。当区块到达相同百分
比的网络节点时,本发明的区块传播时间比gossip协议短。因此,在存在自私节点的情况下,本发明可以减小区块传播时间,加快区块的转发速度。
61.图5反映了区块链网络中存在自私节点时,引入本发明前后,区块链分叉率的变化。可以看出,在gossip协议中,区块链分叉率随着网络中自私节点比例的上升明显增加。而引入本发明后,可以显著改善自私节点对区块链分叉率的影响,从而提高区块链系统的安全性。
62.图6反映了区块链网络中存在自私节点时,引入本发明前后,区块链网络的吞吐量的变化。吞吐量反映了区块链处理交易的能力,这对区块链的安全性和可扩展性至关重要。可以看出,在gossip协议中,吞吐量随着网络中自私节点比例的增加而逐渐降低。而引入本发明后,在存在自私节点时,通过加速区块转发和促进共识过程来保持高吞吐量,可以有效缓解自私节点导致的吞吐量下降,提高区块链的安全性。
63.根据本发明实施例提出的激励区块转发的改进gossip协议方法,通过改进的gossip协议,嵌入区块传播奖励来加速区块转发过程。通过设计的签名链结构记录区块转发路径并防止路径信息被篡改。通过内嵌签名链的区块结构,确保奖励分发过程的可靠性。通过设计的区块传播奖励分发策略来防止转发节点在转发路径中添加虚假身份。由此,本发明的方法能够激励区块链网络中的自私节点转发区块并加速区块链网络中的区块传播,有效的提高区块链系统的性能。
64.其次参照附图描述根据本发明实施例提出的激励区块转发的改进gossip协议装置。
65.图7为根据本发明实施例的激励区块转发的改进gossip协议装置的示例图。
66.如图7所示,该激励区块转发的改进gossip协议装置10包括:接收模块100、转发模块200和区块生成模块300。
67.其中,接收模块100,用于接收区块生成节点的inv消息,并在接收到inv消息后将当前转发节点的身份信息和getdata信息发送至区块生成节点,使得区块生成节点将利用自身密钥对待转发区块的哈希值和当前转发节点的身份信息进行签名得到的第一签名和待转发区块发送至当前转发节点。
68.转发模块200,用于对待转发区块进行验证,在验证通过时,发送inv消息至下一转发节点,以使下一转发节点将自身身份信息和getdata信息发送至当前转发节点,利用当前转发节点的密钥对第一签名和下一转发节点的身份信息进行签名得到第二签名,将第一签名、第二签名和待转发区块发送至下一转发节点,以使下一转发节点作为当前转发节点对待转发区块进行验证,并在验证通过后继续转发待转发区块;
69.区块生成模块300,用于在当前转发节点对待转发区块进行转发的同时,在待转发区块后进行下一区块生成,当前转发节点生成下一区块时,利用当前转发节点收到的所有签名构建签名链以记录区块转发路径,将签名链和签名链中节点的区块传播奖励嵌入下一区块,并进行转发。
70.可选地,在本发明的一个实施例中,签名链中节点的区块传播奖励包括对签名链中所有节点的区块传播奖励。
71.可选地,在本发明的一个实施例中,对于中间转发节点,签名链包括当前转发节点利用自身密钥对下一跳节点的身份信息和上一跳节点生成的签名信息进行签名构成。
72.需要说明的是,前述对激励区块转发的改进gossip协议方法实施例的解释说明也适用于该实施例的激励区块转发的改进gossip协议装置,此处不再赘述。
73.根据本发明实施例提出的激励区块转发的改进gossip协议装置,通过改进的gossip协议,嵌入区块传播奖励来加速区块转发过程。通过设计的签名链结构记录区块转发路径并防止路径信息被篡改。通过内嵌签名链的区块结构,确保奖励分发过程的可靠性。通过设计的区块传播奖励分发策略来防止转发节点在转发路径中添加虚假身份。由此,本发明的装置能够激励区块链网络中的自私节点转发区块并加速区块链网络中的区块传播,有效的提高区块链系统的性能。
74.图8为本发明实施例提供的电子设备的结构示意图。该电子设备可以包括:
75.存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序。
76.处理器802执行程序时实现上述实施例中提供的激励区块转发的改进gossip协议方法。
77.进一步地,电子设备还包括:
78.通信接口803,用于存储器801和处理器802之间的通信。
79.存储器801,用于存放可在处理器802上运行的计算机程序。
80.存储器801可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
81.如果存储器801、处理器802和通信接口803独立实现,则通信接口803、存储器801和处理器802可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
82.可选的,在具体实现上,如果存储器801、处理器802及通信接口803,集成在一块芯片上实现,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。
83.处理器802可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本发明实施例的一个或多个集成电路。
84.本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上的激励区块转发的改进gossip协议方法。
85.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
86.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性
或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
87.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
88.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
89.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
技术特征:
1.一种激励区块转发的改进gossip协议方法,其特征在于,包括以下步骤:接收区块生成节点的inv消息,并在接收到inv消息后将当前转发节点的身份信息和getdata信息发送至所述区块生成节点,使得所述区块生成节点将利用自身密钥对待转发区块的哈希值和所述当前转发节点的身份信息进行签名得到的第一签名和所述待转发区块发送至所述当前转发节点;对所述待转发区块进行验证,在验证通过时,发送inv消息至下一转发节点,以使所述下一转发节点将自身身份信息和getdata信息发送至所述当前转发节点,利用所述当前转发节点的密钥对所述第一签名和所述下一转发节点的身份信息进行签名得到第二签名,将所述第一签名、所述第二签名和所述待转发区块发送至所述下一转发节点,以使所述下一转发节点作为当前转发节点对所述待转发区块进行验证,并在验证通过后继续转发所述待转发区块;在所述当前转发节点对所述待转发区块进行转发的同时,在所述待转发区块后进行下一区块生成,当所述当前转发节点生成下一区块时,利用所述当前转发节点收到的所有签名构建签名链以记录区块转发路径,将所述签名链和所述签名链中节点的区块传播奖励嵌入下一区块,并进行转发。2.根据权利要求1所述的方法,其特征在于,所述签名链中节点的区块传播奖励包括对所述签名链中所有节点的区块传播奖励。3.根据权利要求1所述的方法,其特征在于,对于中间转发节点,所述签名链包括当前转发节点利用自身密钥对下一跳节点的身份信息和上一跳节点生成的签名信息进行签名构成。4.一种激励区块转发的改进gossip协议装置,其特征在于,包括:接收模块,用于接收区块生成节点的inv消息,并在接收到inv消息后将当前转发节点的身份信息和getdata信息发送至所述区块生成节点,使得所述区块生成节点将利用自身密钥对待转发区块的哈希值和所述当前转发节点的身份信息进行签名得到的第一签名和所述待转发区块发送至所述当前转发节点;转发模块,用于对所述待转发区块进行验证,在验证通过时,发送inv消息至下一转发节点,以使所述下一转发节点将自身身份信息和getdata信息发送至所述当前转发节点,利用所述当前转发节点的密钥对所述第一签名和所述下一转发节点的身份信息进行签名得到第二签名,将所述第一签名、所述第二签名和所述待转发区块发送至所述下一转发节点,以使所述下一转发节点作为当前转发节点对所述待转发区块进行验证,并在验证通过后继续转发所述待转发区块;区块生成模块,用于在所述当前转发节点对所述待转发区块进行转发的同时,在所述待转发区块后进行下一区块生成,当所述当前转发节点生成下一区块时,利用所述当前转发节点收到的所有签名构建签名链以记录区块转发路径,将所述签名链和所述签名链中节点的区块传播奖励嵌入下一区块,并进行转发。5.根据权利要求4所述的装置,其特征在于,所述签名链中节点的区块传播奖励包括对所述签名链中所有节点的区块传播奖励。6.根据权利要求4所述的装置,其特征在于,对于中间转发节点,所述签名链包括当前转发节点利用自身密钥对下一跳节点的身份信息和上一跳节点生成的签名信息进行签名
构成。7.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-3任一项所述的激励区块转发的改进gossip协议方法。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-3任一项所述的激励区块转发的改进gossip协议方法。
技术总结
本发明公开了一种激励区块转发的改进Gossip协议方法、装置、设备及介质,通过对Gossip协议进行改进并嵌入区块传播奖励来加速区块转发过程,通过设计的签名链结构记录区块转发路径并保证路径信息不被篡改,通过将签名链结构和生成区块过程相结合确保奖励真实可靠分发,并设计区块传播奖励分发策略来防止转发节点在传播路径中添加虚假身份。由此,本发明能够在存在自私节点的情况下通过加速区块转发来降低区块链分叉率并增强其可扩展性和共识性能,解决了当前区块链网络中自私节点为了节省资源而拒绝转发区块的问题。为了节省资源而拒绝转发区块的问题。为了节省资源而拒绝转发区块的问题。
技术研发人员:凌昕彤 李彰 陈鹏程 王家恒 高西奇
受保护的技术使用者:东南大学
技术研发日:2023.05.18
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
