一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种区块链节点的制作方法

2021-11-22 14:06:00 来源:中国专利 TAG:

一种区块链节点
1.本发明是申请号为201810575106.2,申请日为2018年6月6日,申请类型为发明,申请名称为一种确定区块链节点可信状态的方法、区块链节点及系统的分案申请。
技术领域
2.本发明涉及区块链技术领域,特别涉及一种区块链节点。


背景技术:

3.区块链是一种去中心化的存储及计算技术,区块链系统通常由多个区块链节点通过通信链路进行互联而构成,且每一个区块链节点均可提供相应的服务或发布合约任务。为了提高区块链系统的安全性,区块链系统中每一个区块链节点均需要了解其自身及区块链系统中其他区块链节点的可信状态。
4.申请号为cn201710358355.1的中国发明公开了一种基于区块链的移动终端自组织网络定位方法,所述移动终端网络包括多个节点,节点的节点信息以区块的形式进行存储,多个区块组成一个区块链,区块链中的区块数据为节点的节点信息,所述节点信息至少包括与相邻节点的相对位置信息,包括:搜索区块链中的相邻节点的相对位置信息;并根据所述区块链中的相邻节点的相对位置信息,获取节点之间的相对位置和在区块链中的相对位置。该发明可以将区块链中的区块视为共识机制的可信节点,根据区块链的特点,使得移动终端网络中的用户在不依靠可信第三方的情况下,并在无gps信号或弱gps信号情况下进行准确定位自己在通信网络中的位置信息。
5.申请号为cn201410239309.6的中国发明涉及一种基于beta信誉系统动态调节的信任值计算方法,基于beta信誉系统,对网络各节点的信任值初始化;当节点交互后,通过如下公式计算节点的信任值t,并计算邻居节点的平均信任值;根据邻居节点的平均信任值确定节点的可信线f;设立缓冲区,缓冲区的上限为可信线f;缓冲区的下限u;根据可信线f和缓冲区的下限u,判断节点是否可信。
6.目前,主要通过将区块链系统中的每一个区块链节点与由多个计算节点组成的计算集群相连,计算集群可采集各个区块链节点的运行数据,并根据各个区块链节点的运行数据计算各个区块链节点的可信状态,然后将各个区块链节点的可信状态反馈至区块链系统中的每一个区块链节点。
7.上述技术方案中,计算集群的安全性将直接影响其计算得到的各个区块链节点的可信状态,可能导致区块链系统中区块链节点不能准确了解区块链系统中每一个区块链节点的可信状态。
8.现有技术存在区块链系统中的区块链节点无法确定区块链系统中每一个区块链节点可信状态的问题,需要一种区块链节点能够使得区块链系统中的区块链节点确定该区块链系统中每一个区块链节点是否可信,故本发明提供一种能准确了解区块链系统中每一个区块链节点的可信状态的区块链节点。


技术实现要素:

9.本发明实施例提供了一种确定区块链节点可信状态的方法、区块链节点及系统,区块链节点可更为准确的了解区块链系统中每一个区块链节点的可信状态。
10.第一方面,本发明提供了一种确定区块链节点可信状态的方法,应用于区块链系统的一个当前区块链节点,包括:
11.采集所述区块链系统中与所述当前区块链节点相邻的至少一个相邻区块链节点的运行数据;
12.根据各个所述相邻区块链节点的运行数据,确定各个所述相邻区块链节点的参考可信状态;
13.根据各个所述相邻区块链节点的参考可信状态形成当前广播消息,并对所述当前广播消息进行广播;
14.接收各个所述相邻区块链节点分别广播的至少一条参考广播消息;
15.根据所述当前广播消息及各条所述参考广播消息,确定所述区块链系统中每一个区块链节点的可信状态。
16.优选地,
17.在与所述当前区块链节点相邻的所述相邻区块链节点的个数不小于2个时,所述接收各个所述相邻区块链节点分别广播的至少一条参考广播消息,进一步包括:对接收的各条所述参考广播消息进行广播。
18.优选地,
19.所述当前广播消息携带所述当前区块链节点的当前节点标识;
20.则,在所述根据所述当前广播消息及各条所述参考广播消息,确定所述区块链系统中每一个区块链节点的可信状态之前,进一步包括:
21.根据接收的各条所述参考广播消息所分别携带的参考节点标识,对所述当前广播消息及接收的各条所述参考广播消息进行去重复处理以提取至少一条目标广播消息;
22.所述根据所述当前广播消息及各条所述参考广播消息,确定所述区块链系统中每一个区块链节点的可信状态,包括:根据各条所述目标广播消息,确定所述区块链系统中每一个区块链节点的可信状态。
23.优选地,
24.所述根据各个所述相邻区块链节点的参考可信状态形成当前广播消息,包括:
25.针对于每一个所述相邻区块链节点,在所述相邻区块链节点的所述参考可信状态表征所述相邻区块链节点可信时,形成所述相邻区块链节点所对应的可信标识;在所述相邻区块链节点的所述参考可信状态表征所述相邻区块链节点不可信时,形成所述相邻区块链节点所对应的不可信标识;
26.针对于每一个所述相邻区块链节点,利用所述相邻区块链节点的可信标识/不可信标识与所述相邻区块链节点的参考节点标识组成一条可信记录;
27.利用各条所述可信记录与所述当前区块链节点的当前节点标识组成当前广播消息;
28.则,所述根据各条所述目标广播消息,确定所述区块链系统中每一个区块链节点的可信状态,包括:
29.对各条所述目标广播消息进行解析以获取至少一条所述可信记录;
30.解析每一条所述可信记录,以确定每一个节点标识所分别对应的所述可信标识的第一投票数量,以及确定每一个所述节点标识所分别对应的不可信标识的第二投票数量;
31.根据每一个所述节点标识所分别对应的所述第一投票数量及所述第二投票数量,计算所述区块链系统中每一个区块链节点的置信度;
32.根据每一个所述区块链节点的置信度,确定所述区块链系统中每一个所述区块链节点的可信状态。
33.优选地,
34.所述根据每一个所述区块链节点的置信度,确定所述区块链系统中每一个所述区块链节点的可信状态,包括:
35.针对于每一个所述区块链节点,在所述区块链节点的置信度不小于设定阈值时确定所述区块链节点为可信节点,在所述区块链节点的置信度小于设定阈值时,确定所述区块链节点为不可信节点;
36.或,
37.按照由大到小的顺序对计算的各个所述置信度进行排序,根据排序结果依次选择设定数量个所述置信度,将选择的各个所述置信度所分别对应的区块链节点确定为可信节点,以及将未被选择的各个所述置信度所分别对应的区块链节点确定为不可信节点。
38.第二方面,本发明提供了一种区块链节点,应用于区块链系统,包括:
39.数据采集模块,用于采集区块链系统中与所述当前区块链节点相邻的至少一个相邻区块链节点的运行数据;
40.可信计算模块,用于根据各个所述相邻区块链节点的运行数据,确定各个所述相邻区块链节点的参考可信状态;
41.广播处理模块,用于根据各个所述相邻区块链节点的参考可信状态形成当前广播消息,并对所述当前广播消息进行广播;接收各个所述相邻区块链节点分别广播的至少一条参考广播消息;
42.状态确定模块,用于根据所述当前广播消息及各条所述参考广播消息,确定所述区块链系统中每一个区块链节点的可信状态。
43.优选地,
44.所述广播处理模块,进一步用于在与所述当前区块链节点相邻的所述相邻区块链节点的个数不小于2个时,对接收的各条所述参考广播消息进行广播。
45.优选地,
46.还包括:去重复处理模块;其中,
47.所述去重复处理模块,用于根据接收的各条所述参考广播消息所分别携带的参考节点标识,对所述当前广播消息及接收的各条所述参考广播消息进行去重复处理以提取至少一条目标广播消息;
48.则,所述状态确定模块,用于根据各条所述目标广播消息,确定所述区块链系统中每一个区块链节点的可信状态。
49.优选地,
50.所述广播处理模块,包括:标识确定单元、记录组成单元、广播组成单元;其中,
51.所述标识确定单元,用于针对于每一个所述相邻区块链节点,在所述相邻区块链节点的所述参考可信状态表征所述相邻区块链节点可信时,形成所述相邻区块链节点所对应的可信标识;在所述相邻区块链节点的所述参考可信状态表征所述相邻区块链节点不可信时,形成所述相邻区块链节点所对应的不可信标识;
52.所述记录组成单元,用于针对于每一个所述相邻区块链节点,利用所述相邻区块链节点的可信标识/不可信标识与所述相邻区块链节点的参考节点标识组成一条可信记录;
53.所述广播组成单元,用于利用各条所述可信记录与所述当前区块链节点的当前节点标识组成当前广播消息;
54.则,所述状态确定模块,包括:广播解析单元、记录解析单元、置信度计算单元及状态确定单元;其中,
55.所述广播解析单元,用于对各条所述目标广播消息进行解析以获取至少一条所述可信记录;
56.所述记录解析单元,用于解析每一条所述可信记录,以确定每一个节点标识所分别对应的所述可信标识的第一投票数量,以及确定每一个所述节点标识所分别对应的不可信标识的第二投票数量;
57.所述置信度计算单元,用于根据每一个所述节点标识所分别对应的所述第一投票数量及所述第二投票数量,计算所述区块链系统中每一个区块链节点的置信度;
58.所述状态确定单元,用于根据每一个所述区块链节点的置信度,确定所述区块链系统中每一个所述区块链节点的可信状态。
59.第三方面,本发明实施例提供了一种区块链系统,包括至少两个如第二方面中任一所述的区块链节点,其中,各个所述区块链节点通过通信链路进行互联。
60.本发明实施例提供了一种确定区块链节点可信状态的方法、区块链节点及区块链系统,该方法应用于区块链系统的一个当前区块链节点,区块链系统存在一个或多个相邻区块链节点与当前区块链节点相邻,当前区块链节点可通过采集各个相邻区块链节点的运行数据,根据各个相邻区块链节点的运行数据确定各个相邻区块链节点的参考可信状态,根据各个相邻区块链节点的参考可信状态形成当前广播消息并进行广播之后,各个相邻区块链节点则能够根据当前广播消息了解到各个相邻区块链节点分别相对于当前区块链节点的参考可信状态,相应的,在当前区块链节点接收到与其相邻的各个相邻区块链节点所广播的各条参考广播消息之后,当前广播消息及其接收的各条参考广播消息则能够反映区块链系统中每两个相邻的区块链节点下,一个区块链节点相对于另一个区块链节点的参考可信状态,当前区块链节点则可根据当前广播消息及各条参考广播消息确定区块链系统中每一个区块链节点的可信状态,不再依赖外部的计算集群,区块链节点可更为准确的了解区块链系统中每一个区块链节点的可信状态。
附图说明
61.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
这些附图获得其他的附图。
62.图1是本发明一实施例提供的一种确定区块链节点可信状态的方法的流程图;
63.图2是本发明一实施例提供的另一种确定区块链节点可信状态的方法的流程图;
64.图3是本发明一实施例提供的一种区块链节点的结构示意图;
65.图4是本发明一实施例提供的另一种区块链节点的结构示意图。
具体实施方式
66.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
67.如图1所示,本发明实施例提供了一种确定区块链节点可信状态的方法,应用于区块链系统的一个当前区块链节点,包括:
68.步骤101,采集所述区块链系统中与所述当前区块链节点相邻的至少一个相邻区块链节点的运行数据;
69.步骤102,根据各个所述相邻区块链节点的运行数据,确定各个所述相邻区块链节点的参考可信状态;
70.步骤103,根据各个所述相邻区块链节点的参考可信状态形成当前广播消息,并对所述当前广播消息进行广播;
71.步骤104,接收各个所述相邻区块链节点分别广播的至少一条参考广播消息;
72.步骤105,根据所述当前广播消息及各条所述参考广播消息,确定所述区块链系统中每一个区块链节点的可信状态。
73.如图1所示的实施例,该方法应用于区块链系统的一个当前区块链节点,区块链系统存在一个或多个相邻区块链节点与当前区块链节点相邻,当前区块链节点可通过采集各个相邻区块链节点的运行数据,根据各个相邻区块链节点的运行数据确定各个相邻区块链节点的参考可信状态,根据各个相邻区块链节点的参考可信状态形成当前广播消息并进行广播之后,各个相邻区块链节点则能够根据当前广播消息了解到各个相邻区块链节点分别相对于当前区块链节点的参考可信状态,相应的,在当前区块链节点接收到与其相邻的各个相邻区块链节点所广播的各条参考广播消息之后,当前广播消息及其接收的各条参考广播消息则能够反映区块链系统中每两个相邻的区块链节点下,一个区块链节点相对于另一个区块链节点的参考可信状态,当前区块链节点则可根据当前广播消息及各条参考广播消息确定区块链系统中每一个区块链节点的可信状态,不再依赖外部的计算集群,区块链节点可更为准确的了解区块链系统中每一个区块链节点的可信状态。
74.上述实施例中,确定区块链节点的可信状态具体指的是确定区块链节点是否为可信节点。
75.上述实施例中,与当前区块链节点相邻的相邻区块链节点,具体指的是区块链系统中,在地域或通信链路上与当前区块链节点相邻、能够接收到当前区块链节点所广播的广播消息且当前区块链节点能够接收其广播的广播消息的区块链节点。
76.本领域技术人员应当理解的,本发明实施例提供的一种确定区块链系统中区块链
节点可信状态的方法,可应用于区块链系统中的每一个区块链节点,本发明提供的各个方法实施例中为了描述方便,仅以在一个当前区块链节点上实现该方法时进行描述,即当前区块链节点上所执行的一个方法步骤,区块链系统中除该当前区块链节点外的其他区块链节点均会执行与该步骤相同或相似的内容。
77.当区块链系统中任一个区块链节点作为当前区块链节点,区块链系统中的其它区块链节点均与该当前区块链节点相邻时,可通过如图1所示的实施例,使得区块链系统的任一个当前区块链节点能够更为准确的了解区块链系统中每一个区块链节点的可信状态,即区块链系统中每一个区块链节点均可通过如图1所示的实施例实现更为准确的了解区块链系统中每一个区块链节点的可信状态。然而,区块链系统在部分业务场景中所包括的区块链节点的数量较大,针对于区块链系统的任一个区块链节点,通常存在多个与其相邻的相邻区块链节点,也存在大量的区块链节点并非与该区块链节点相邻。
78.因此,本发明一个实施例中,在与所述当前区块链节点相邻的所述相邻区块链节点的个数不小于2个时,所述接收各个所述相邻区块链节点分别广播的至少一条参考广播消息,进一步包括:对接收的各条所述参考广播消息进行广播。
79.上述实施例中,当区块链系统的一个区块链节点存在多个与其相邻的相邻区块链节点,且存在一个或多个并非与该节点相邻的非相邻区块链节点时,区块链系统的每一个区块链节点均会对其接收的各条广播消息(参考广播消息)再次进行广播(即与当前区块链节点相邻的任一个第一相邻区块链节点向当前区块链节点所广播的广播消息,可通过当前区块链节点向与当前区块链节点相邻的每一个第二相邻区块链节点进行广播),从而使得一个区块链节点所形成的广播消息(当前广播消息),可逐渐向区块链系统中每一个并非与其相邻的各个非相邻相邻区块链节点传播,进而使得与该区块链节点相邻的各个相邻区块链节点相对于该区块链节点的参考可信状态能够被区块链系统中每一个区块链节点所了解。
80.在一种可能实现的方式中,区块链节点还可执行相应的自判断过程,即当前区块链节点当且仅当在确定出当前区块链节点存在多个相邻区块链节点时,才对其接收的参考广播消息再次进行广播。
81.举例来说,区块链系统包括区块链节点a、b、c、d,a与b相邻,b与c相邻,c与d相邻;如此,c可确定出b和d的参考可信状态,即c可确定出d和b分别相对于c的参考可信状态,c在根据b、d相对于c的参考可信状态形成广播消息y之后,可将广播消息y广播至b、d,b在接收到与其相邻的c所广播广播消息y之后,则可再次对广播消y进行广播,使得与b相邻的a也接收到广播消息y,如此,a则可通过广播消息y了解到b和d分别相对于c的参考可信状态。
82.如此,则可实现当区块链系统的一个区块链节点存在多个与其相邻的相邻区块链节点,且存在一个或多个并非与该节点相邻的非相邻区块链节点时,使得区块链系统中的任一个区块链节点均能够更为准确的了解区块链系统中每一个区块链节点的可信状态。
83.当区块链系统的任一个当前节点对其接收到各条参考广播消息进行再次广播之后,可能导致同一个区块链节点所形成的参考广播消息被同一个区块链节点多次接收。比如,区块链系统包括区块链节点a、b、c、d,b、c均与d相邻,b、c均与a相邻;如此,b、c在接收到a形成并广播的一条广播消息x时,均会将其接收的广播消息x分别广播至d,如此,则会导致d多次接收到由a所形成并由b、c分别进行广播的广播消息x。后续重复接收的广播消息并不
具备实质性的参考意义,因此需要对当前区块链节点所接收的各条参考广播消息及形成的当前广播消息进行去重复处理,从而实现准确确定各个区块链节点的可信状态。具体地,本发明一个实施例中,所述当前广播消息携带所述当前区块链节点的当前节点标识;
84.则,在所述根据所述当前广播消息及各条所述参考广播消息,确定所述区块链系统中每一个区块链节点的可信状态之前,进一步包括:
85.根据接收的各条所述参考广播消息所分别携带的参考节点标识,对所述当前广播消息及接收的各条所述参考广播消息进行去重复处理以提取至少一条目标广播消息;
86.所述根据所述当前广播消息及各条所述参考广播消息,确定所述区块链系统中每一个区块链节点的可信状态,包括:根据各条所述目标广播消息,确定所述区块链系统中每一个区块链节点的可信状态。
87.区块链系统中每一个区块链节点均会确定出与其相邻的各个相邻区块链节点的参考可信状态,当一个当前区块链节点被入侵者入侵而导致其不可信时,其确定出的各个相邻区块链节点的参考可信状态的可信度也会发生降低,可能导致当前区块链节点相对于与其相邻的多个不同相邻区块链节点对应有不同的参考可信状态。因此,本发明一个实施例中,所述根据各个所述相邻区块链节点的参考可信状态形成当前广播消息,包括:
88.针对于每一个所述相邻区块链节点,在所述相邻区块链节点的所述参考可信状态表征所述相邻区块链节点可信时,形成所述相邻区块链节点所对应的可信标识;在所述相邻区块链节点的所述参考可信状态表征所述相邻区块链节点不可信时,形成所述相邻区块链节点所对应的不可信标识;
89.针对于每一个所述相邻区块链节点,利用所述相邻区块链节点的可信标识/不可信标识与所述相邻区块链节点的参考节点标识组成一条可信记录;
90.利用各条所述可信记录与所述当前区块链节点的当前节点标识组成当前广播消息;
91.则,所述根据各条所述目标广播消息,确定所述区块链系统中每一个区块链节点的可信状态,包括:
92.对各条所述目标广播消息进行解析以获取至少一条所述可信记录;
93.解析每一条所述可信记录,以确定每一个节点标识所分别对应的所述可信标识的第一投票数量,以及确定每一个所述节点标识所分别对应的不可信标识的第二投票数量;
94.根据每一个所述节点标识所分别对应的所述第一投票数量及所述第二投票数量,计算所述区块链系统中每一个区块链节点的置信度;
95.根据每一个所述区块链节点的置信度,确定所述区块链系统中每一个所述区块链节点的可信状态。
96.本领域技术人员应当理解的,当前区块链节点根据各个相邻区块链节点的运行数据确定各个相邻区块链节点的参考可信状态时,运行数据主要包括相应相邻区块链节点所运行应用软件的实时哈希值、所运行应用程序的当前存储地址以及触发相应应用程序运行的用户等,这些运行数据可通过设置在相邻区块链节点内的tpm(trusted platformmodule,可信平台模块)芯片进行记录。当前区块链节点主要通过对tpm芯片记录的运行数据进行采集,然后检测相邻区块链节点上所运行的应用程序的实时摘要值与预先存储的基准摘要值是否相同、所运行应用程的标准存储地址与当前存储地址是否相同以及
触发相应应用程序运行的用户是否具有运行相应引用程序的权限来实现确定相邻区块链节点的参考可信状态。
97.相应的,在当前区块链节点检测到一个相邻区块链节点上所运行的应用程序的实时摘要值与预先存储的基准摘要值不相同,或检测到区块链节点所运行应用程的标准存储地址与当前存储地址不相同,或检测到触发相应应用程序运行的用户是否具有运行相应引用程序的权限时,则表征相邻区块链节点的参考可信状态为不可信,此时,可形成该相邻区块链节点所对应的不可信标识;反之,则可形成与该相邻区块链节点所对应的可信标识。
98.显而易见的,当一个节点标识所对应的第一投票数量相对较大,且其对应的第二投票数量相对较小时,则说明该节点的设备所对应的用于评价该区块链节点的可信状态的置信度越高;反之,当一个节点标识所对应的第一投票数量相对较小,且其对应的第二投票数量相对较大时,则说明该节点的设备所对应的用于评价该区块链节点的可信状态的置信度越低。
99.综上所述,当前区块链节点在确定出与其相邻的各个相邻区块链节点的参考可信状态之后,根据其参考可信状态形成相应的可信标识或不可信标识,并利用形成的可信标识或不可信标识,与其对应的相邻区块链节点的参考节点标识组成一条可信记录;后续过程中,通过对各条目标广播消息携带的各条可信记录进行解析之后,则可利用各个节点标识所分别对应的第一投票数量及第二投票数量计算每一个区块链节点的置信度,从而通过各个区块链节点所分别对应的置信度客观而准确的确定每一个区块链节点的可信状态。
100.具体地,上述实施例中,可通过如下公式计算所述区块链系统中每一个区块链节点的置信度:
101.其中,ρi表征第i个节点标识所对应的区块链节点的置信度、αi表征第i个节点标识所对应的第一投票数量、βi表征第i个节点标识所对应的第二投票数量。
102.基于上述实施例,可通过如下两种方式的任一种实现根据每一个所述区块链节点的置信度,确定所述区块链系统中每一个所述区块链节点的可信状态:
103.方式1,针对于每一个所述区块链节点,在所述区块链节点的置信度不小于设定阈值时确定所述区块链节点为可信节点,在所述区块链节点的置信度小于设定阈值时,确定所述区块链节点为不可信节点。
104.方式2,按照由大到小的顺序对计算的各个所述置信度进行排序,根据排序结果依次选择设定数量个所述置信度,将选择的各个所述置信度所分别对应的区块链节点确定为可信节点,以及将未被选择的各个所述置信度所分别对应的区块链节点确定为不可信节点。方式2中,可依据撒谎成本成本趋近于90%的特性,根据区块链系统中全部区块链节点的节点总量与10%的乘积确定为设定数量。
105.为了更加清楚的说明本发明的技术方案及优点,下面具体以区块链系统包括区块链节点a、b、c、d、e,且a与b相邻、c和d均与b相邻、c和d均与e相邻,为了描述方便,这里仅以区块链节点a、b、c、d与当前区块链节点e相协作,实现通过区块链节点e确定每一个区块链节点的可信状态,如图2所示,具体可以包括如下各个步骤:
106.步骤201,a采集b的运行数据,b采集a、c、d的运行数据,c采集b、e的运行数据,d采集b、e的运行数据。
107.步骤202,a根据b的运行数据确定b的参考可信状态,b根据a、c、d的运行数据分别
确定a、c、d的运行状态,c根据b、e的运行数据分别确定b、e的参考可信状态,d根据b、e的运行数据分别确定b、e的参考可信状态。
108.步骤203,a形成第一广播消息、b形成第二广播消息、c形成第三广播消息、d形成第四广播消息、e形成第五广播消息。
109.步骤203中,各个广播消息可携带相应的可信记录形成该广播消息的区块链节点的节点标识,每一条可信记录由相应相邻区块链节点的节点标识及根据该区块链节点的可信状态所形成的可信标识或不可信标识构成,前述实施例中有详细描述,这里不再赘述。
110.步骤204,a将第一广播消息广播至b,b将第二广播消息及其接收的第一广播消息广播至c、d,c将第三广播消息及其接收的第一广播消息、第二广播消息广播至e,d将第四广播消息及其接收的第一广播消息、第二广播消息广播至e。
111.步骤205,e接收c广播的第一广播消息、第二广播消息及第三广播消息,e接收d广播的第一广播消息、第二广播消息及第四广播消息。
112.步骤206,e对接收的各个广播消息及其形成的广播消息进行去重复处理以提取至少一条目标广播消息。
113.步骤206中,e需要重复接收c和d分别广播的第一广播消息和第二广播消息,去重复处理后,e则可提取到一条第一广播消息、一条第二广播消息、一条第三广播消息、一条第四广播消息及一条第五广播消息。
114.步骤207,e对各条目标广播消息分别进行解析以提取各条目标广播消息所分别携带的可信记录。
115.步骤208,e解析每一条可信记录,以确定a、b、c、d、e的节点标识所分别对应的可信标识的第一投票数量,以及确定a、b、c、d、e的节点标识所分别对应的不可信标识的第二投票数量。
116.步骤209,e根据每一个所述节点标识所分别对应的第一投票数量及第二投票数量,计算区块链系统中a、b、c、d、e的置信度。
117.步骤210,根据a、b、c、d、e的置信度,确定区块链系统中a、b、c、d、e的可信状态。
118.步骤210中,即根据a、b、c、d、e的置信度的大小,将区块链系统中a、b、c、d、e分别确定为可信节点或不可信节点。
119.本发明实施例提供了一种区块链节点。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,区块链节点可以包括处理器、内存、网络接口、以及非易失性存储器等基础硬件,还可以包括其他硬件,如负责处理报文的转发芯片以及记录区块链节点的运行数据的tpm芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的区块链节点,应用于区块链系统,包括:
120.数据采集模块301,用于采集所述区块链系统中与所述当前区块链节点相邻的至少一个相邻区块链节点的运行数据;
121.可信计算模块302,用于根据各个所述相邻区块链节点的运行数据,确定各个所述相邻区块链节点的参考可信状态;
122.广播处理模块303,用于根据各个所述相邻区块链节点的参考可信状态形成当前广播消息,并对所述当前广播消息进行广播;接收各个所述相邻区块链节点分别广播的至
少一条参考广播消息;
123.状态确定模块304,用于根据所述当前广播消息及各条所述参考广播消息,确定所述区块链系统中每一个区块链节点的可信状态。
124.本发明一个实施例中,所述广播处理模块303,进一步用于在与所述当前区块链节点相邻的所述相邻区块链节点的个数不小于2个时,对接收的各条所述参考广播消息进行广播。
125.请参考图图4,本发明一个实施例中,所述区块链节点,还包括:去重复处理模块401;其中,
126.所述去重复处理模块401,用于根据接收的各条所述参考广播消息所分别携带的参考节点标识,对所述当前广播消息及接收的各条所述参考广播消息进行去重复处理以提取至少一条目标广播消息;
127.则,所述状态确定模块304,用于根据各条所述目标广播消息,确定所述区块链系统中每一个区块链节点的可信状态。
128.本发明一个实施例中,所述广播处理模块303,包括:标识确定单元、记录组成单元、广播组成单元;其中,
129.所述标识确定单元,用于针对于每一个所述相邻区块链节点,在所述相邻区块链节点的所述参考可信状态表征所述相邻区块链节点可信时,形成所述相邻区块链节点所对应的可信标识;在所述相邻区块链节点的所述参考可信状态表征所述相邻区块链节点不可信时,形成所述相邻区块链节点所对应的不可信标识;
130.所述记录组成单元,用于针对于每一个所述相邻区块链节点,利用所述相邻区块链节点的可信标识/不可信标识与所述相邻区块链节点的参考节点标识组成一条可信记录;
131.所述广播组成单元,用于利用各条所述可信记录与所述当前区块链节点的当前节点标识组成当前广播消息;
132.则,所述状态确定模块304,包括:广播解析单元、记录解析单元、置信度计算单元及状态确定单元;其中,
133.所述广播解析单元,用于对各条所述目标广播消息进行解析以获取至少一条所述可信记录;
134.所述记录解析单元,用于解析每一条所述可信记录,以确定每一个节点标识所分别对应的所述可信标识的第一投票数量,以及确定每一个所述节点标识所分别对应的不可信标识的第二投票数量;
135.所述置信度计算单元,用于根据每一个所述节点标识所分别对应的所述第一投票数量及所述第二投票数量,计算所述区块链系统中每一个区块链节点的置信度;
136.所述状态确定单元,用于根据每一个所述区块链节点的置信度,确定所述区块链系统中每一个所述区块链节点的可信状态。
137.上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
138.本发明实施例提供了一种区块链系统,包括至少两个本发明任意一个实施例中提供的区块链节点,其中,各个所述区块链节点通过通信链路进行互联。本领域技术人员应当
理解的,在实际业务场景中,区块链系统所包括的区块链节点的数量远大于2。
139.上述实施例提供的区块链系统中,还可部署实现区块链防篡改及区块链存证的业务程序,以及向证券及银行系统、电商等用户提供发布智能合约或共享业务数据的服务接口,在确定出各个区块链系统各个区块链节点的可信状态之后,即在实现将区块链系统中每一个区块链节点分别确定为可信节点或不可信节点之后,则可利用确定的各个可信节点执行相应的任务或提供相应的服务或执行通过任一个可信节点所发布的智能合约;相反地,当一个区块链节点被确定为不可信节点之后,该节点节点提供的服务、共享的数据或通过其发布的智能合约将被判无效,同时,用户或者其他可信节点所发布的合约请求到达不可信节点时,服务请求也将被终止。
140.在一种具体的业务场景中,基于本发明上述实施例提供的区块链系统实现向外部计算集群提供证实服务时,在接收到外部计算集群发送的证实请求之后,首先通过本发明实施例提供的方法从区块链系统的各个区块链节点可信状态,即通过本发明实施例提供的方法将区块链系统的各个区块链节点分别确定为可信节点或不可信节点,终止各个不可信节点的投票权,仅从确定的各个可信节点中选择一定数量的可信节点根据接收的证实请求快速完成证实业务。
141.综上所述,本发明各个实施例至少具有如下有益效果:
142.1、本发明一实施例中,区块链系统存在一个或多个相邻区块链节点与当前区块链节点相邻,当前区块链节点可通过采集各个相邻区块链节点的运行数据,根据各个相邻区块链节点的运行数据确定各个相邻区块链节点的参考可信状态,根据各个相邻区块链节点的参考可信状态形成当前广播消息并进行广播之后,各个相邻区块链节点则能够根据当前广播消息了解到各个相邻区块链节点分别相对于当前区块链节点的参考可信状态,相应的,在当前区块链节点接收到与其相邻的各个相邻区块链节点所广播的各条参考广播消息之后,当前广播消息及其接收的各条参考广播消息则能够反映区块链系统中每两个相邻的区块链节点下,一个区块链节点相对于另一个区块链节点的参考可信状态,当前区块链节点则可根据当前广播消息及各条参考广播消息确定区块链系统中每一个区块链节点的可信状态,不再依赖外部的计算集群,区块链节点可更为准确的了解区块链系统中每一个区块链节点的可信状态。
143.2、本发明一实施例中,当区块链系统的一个区块链节点存在多个与其相邻的相邻区块链节点,且存在一个或多个并非与该节点相邻的非相邻区块链节点时,区块链系统的每一个区块链节点均会对其接收的各条广播消息再次进行广播,从而使得一个区块链节点所形成的广播消息,可逐渐向区块链系统中每一个并非与其相邻的各个非相邻相邻区块链节点传播,进而使得与该区块链节点相邻的各个相邻区块链节点相对于该区块链节点的参考可信状态能够被区块链系统中每一个区块链节点所了解。
144.3、本发明一实施例中,当前区块链节点在确定出与其相邻的各个相邻区块链节点的参考可信状态之后,根据其参考可信状态形成相应的可信标识或不可信标识,并利用形成的可信标识或不可信标识,与其对应的相邻区块链节点的参考节点标识组成一条可信记录;后续过程中,通过对各条目标广播消息携带的各条可信记录进行解析之后,则可利用各个节点标识所分别对应的第一投票数量及第二投票数量计算每一个区块链节点的置信度,从而通过各个区块链节点所分别对应的置信度客观而准确的确定每一个区块链节点的可
信状态。
145.4、本发明一实施例中,基于本发明上述实施例提供的区块链系统实现向外部计算集群提供证实服务时,在接收到外部计算集群发送的证实请求之后,首先通过本发明实施例提供的方法从区块链系统的各个区块链节点可信状态,即通过本发明实施例提供的方法将区块链系统的各个区块链节点分别确定为可信节点或不可信节点,终止各个不可信节点的投票权,仅从确定的各个可信节点中选择一定数量的可信节点根据接收的证实请求快速完成证实业务。
146.需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
·”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
147.最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献