区块链通信节点验证方法、装置及电子设备
技术领域
本申请涉及区块链节点验证技术领域,尤其涉及一种区块链通信节点验证方法、装置及电子设备。
背景技术
随着区块链技术的发展,现在很多领域已经逐渐开始应用区块链技术,依附于区块链中每个节点的分布式核算和存储以及每个节点的自治性,能够使得每个节点实现自由、安全的数据交换。
由于区块链涉及的领域包括能源电力、医疗卫生、智慧城市以及金融保险等领域,因而确保区块链在这些领域的网络安全性是非常重要的。
基于共识算法形成的区块链信任机制能够有效地确保区块链网络中各个节点之间数据交换安全性,但随着信息技术以及大数据的发展,黑客的算法破解能力和节点伪装能力也在逐步提高,而频繁更换和复杂化区块链节点之间的共识算法以实现区块链节点之间的验证会导致区块链节点的运算负荷增加。由此可见,如何在不增加区块链节点的运算负荷的前提下实现区块链节点之间的验证是现阶段一个需要解决的技术问题。
发明内容
本说明书实施例提供了一种区块链通信节点验证方法、装置及电子设备,以解决或者部分解决如何在不增加区块链节点的运算负荷的前提下实现区块链节点之间的验证。
为解决上述技术问题,本说明书实施例第一方面公开了一种区块链通信节点验证方法,应用于区块链网络中的第一区块链节点,所述方法至少包括:
获取所述区块链网络中的第二区块链节点的N条通信记录;
根据所述N条通信记录确定所述第二区块链节点的安全系数;
在与所述第二区块链节点建立信息传输通道之前,根据所述安全系数判断所述第二区块链节点是否通过验证。
在一种可替换的实施例中,所述方法还包括:
在判断出所述第二区块链节点通过验证时,与所述第二区块链节点建立所述信息传输通道;
从完成对所述信息传输通道的建立的时刻开始,按照设定时间间隔获取所述第二区块链节点的当前关联通信状态信息;
根据当前关联通信状态信息确定出所述第二区块链节点的当前通信风险度;
在当前通信风险度大于等于设定阈值时,关闭所述信息传输通道;在当前通信风险度小于所述设定阈值时,返回按照设定时间间隔获取所述第二区块链节点的当前关联通信状态信息的步骤。
在一种可替换的实施例中,
所述获取所述区块链网络中的第二区块链节点的N条通信记录,包括:在设定时段内从服务器获取所述区块链网络中的第二区块链节点在预设时段内的N条通信记录;
所述根据所述N条通信记录确定所述第二区块链节点的安全系数,包括:根据所述N条通信记录确定所述第二区块链节点在所述预设时段内的安全系数。
在一种可替换的实施例中,所述根据所述N条通信记录确定所述第二区块链节点的安全系数,包括:
获取每条通行记录中的通信对象信息,所述通信对象信息包括通信时长、通信传输协议、通信数据格式以及通信对象的设备标识;
针对每条通信记录,
在该通信记录对应的通信时长的起始时刻,对所述通信数据格式进行解析得到第一解析结果;在该通信记录对应的通信时长的结束时刻,对所述通信数据格式进行解析得到第二解析结果;在所述起始时刻至所述结束时刻之间的时长范围内,根据该通信记录对应的通信传输协议确定出M次数据格式解析次数并在所述时长范围内随机对所述通信数据格式进行M次的解析得到M个第三解析结果;判断所述第一解析结果、所述第二解析结果和M各第三解析结果两两之间的相似度值是否均小于根据所述通信对象的设备标识确定得到的数据格式调整基值;在所述第一解析结果、所述第二解析结果和M各第三解析结果两两之间的相似度值均小于所述数据格式调整基值时,确定该通信记录的数据格式篡改率为第一基准概率;其中,M为正整数;
确定该通信记录的通信传输协议中的协议地址;判断所述协议地址中是否存在地址标识;若所述协议地址中存在所述地址标识,则根据所述第二区块链节点在与该通信记录对应的通信对象进行通信时的链路地址是否与所述协议地址匹配;若所述链路地址与所述协议地址匹配,则确定该通信记录的协议伪造率为第二基准概率;若所述链路地址与所述协议地址不匹配,从预设的链路表单中确定出所述链路地址对应的备用链路地址;在所述备用链路地址与所述协议地址匹配时确定该通信记录的协议伪造率为第三基准概率,在所述备用链路地址与所述协议地址不匹配时确定该通信记录的协议伪造率为第四基准概率;
根据所述通信对象的设备标识确定出所述第二区块链节点与所述通信对象之间的接口连接方式;在预设关联数据库中确定出所述接口连接方式对应的频带系数;当所述频带系数对应的通信带宽大于所述第二区块链节点的基准带宽时,根据统计得到的所述第二区块链节点与所述通信对象之间的平均传输延时对所述通信带宽进行削减,获得削减后的第一带宽;在所述第一带宽大于所述基准带宽时,继续根据所述平均传输延时对所述通信带宽进行削减并在削减之后的带宽小于所述基准带宽时确定出削减次数的累计值;根据所述累计值确定出该通信记录的带宽可信率;
解析该通信记录的源码确定出所述源码中包含的所述第二区块链节点向所述通信对象发送的第一通信权限请求以及所述通信对象向所述第二区块链节点发送的第二通信权限请求;确定出所述通信对象针对所述第一通信权限请求的第一响应率以及所述所述第二区块链节点针对所述第二通信权限请求的第二响应率;根据所述第一响应率和所述第二响应率确定出该通信记录对应的权限篡改风险率;
根据所述通信对象的历史通信记录确定出加权系数并根据所述加权系数对所述第一基准概率、所述第二基准概率、所述第三基准概率、所述第四基准概率、所述带宽可信率以及所述权限篡改风险率进行加权,得到该通信记录的风险评分值;
根据得到的N个风险评分值确定所述第二区块链节点的安全系数。
在一种可替换的实施例中,所述根据得到的N个风险评分值确定所述第二区块链节点的安全系数,包括:
获取所述第二区块链节点在所述预设时段内响应的所有数据共享请求中的每个数据共享请求的响应时长,以及所述第二区块链节点在所述预设时段内根据每个数据共享请求进行数据共享的共享持续时长和共享数据流量累计值;根据所述响应时长、所述共享持续时长和所述共享数据流量累计值确定出所述第二区块链节点在所述预设时段内的网络状态信息;
解析所述网络状态信息得到网络状态参数序列;在所述网络状态参数序列中的相邻参数之间的差值表征所述网络状态参数序列出现振荡时对所述第二区块链节点的即时网络状态进行检测得到网络振荡系数;根据所述网络振荡系数确定每个风险评分值相对于所述网络状态信息的影响权重;根据所述影响权重、所述网络状态信息以及所述网络振荡系数,对每个风险评分值进行修正,得到在所述网络状态信息对应的网络状态下的每个修正评分值;
确定出每个修正评分值对应的通信对象的数据接收丢失率;根据每个数据接收丢失率判断每个修正评分值的修正幅度是否正常;若是,则从N个修正评分值中随机选择K个修正评分值并确定为目标评分值;根据每个目标评分值对应的数据接收丢失率确定N个修正评分值的N维可信度向量;
利用确定出的N维可信度向量对所述第二区块链节点预先存储的可信度信息表单中的可信度信息进行特征提取得到所述第二区块链节点对应的可信度特征矩阵并根据所述网络状态信息对所述可信度特征矩阵进行过滤以实现对所述可信度特征矩阵的降维得到所述可信度特征矩阵对应的N维特征向量;
判断所述N维特征向量与所述N维可信度向量之间的相似度值是否小于预先设定的安全阈值;若是,从所述网络状态信息中提取出每个修正评分值对应的最大影响因子;根据每个最大影响因子对每个修正评分值进行加权平均以得到所述第二区块链节点在所述预设时段内的安全系数。
在一种可替换的实施例中,所述在与所述第二区块链节点建立信息传输通道之前,根据所述安全系数判断所述第二区块链节点是否通过验证,包括:
获取与所述第二区块链节点发送的通道建立请求对应的信号脉冲序列;提取所述信号脉冲序列中的每段脉冲信号的幅值;将提取得到的各个幅值作为通道建立请求的信号响应信息集并对所述信号响应信息集中的每个幅值进行转码得到所述信号响应信息集对应的目标编码序列;
从预设编码序列集中查找与所述目标编码序列对应的编码序列得到原始编码序列;确定所述原始编码序列对应的所有历史信息传输通道中存在异常的历史信息传输通道的异常概率;根据所述异常概率确定所述目标编码序列对应的通道建立请求是否存在权限捆绑风险;
在根据所述异常概率确定所述目标编码序列对应的通道建立请求存在所述权限捆绑风险时,将所述安全系数与所述第二区块链节点对应的设备mac地址进行关联存储并判定所述第二区块链节点没有通过验证;
在根据所述异常概率确定所述目标编码序列对应的通道建立请求不存在所述权限捆绑风险时,确定出所述第二区块链节点的节点类型并根据所述节点类型确定出与所述节点类型对应的安全事故发生概率的经纬度区域分布图;
根据所述节点类型确定出所述第二区块链节点的地理位置信息;根据所述地理位置信息在所述经纬度区域分布图中的映射位置确定预设判定值的加权系数;根据所述加权系数对所述预设判定值进行加权处理得到加权判定值;
判断所述安全系数是否超过所述加权判定值;在所述安全系数超过所述加权判定值时确定所述第二区块链节点没有通过验证;在所述安全系数没有超过所述加权判定值时确定所述第二区块链节点通过验证。
在一种可替换的实施例中,所述方法还包括:
在所述安全系数超过所述加权判定值时确定所述第二区块链节点没有通过验证;
将所述节点类型和所述加权系数进行关联存储
本说明书实施例第二方面公开了一种区块链通信节点验证装置,其特征在于,应用于区块链网络中的第一区块链节点,所述装置至少包括:
获取模块,用于获取所述区块链网络中的第二区块链节点的N条通信记录;
确定模块,用于根据所述N条通信记录确定所述第二区块链节点的安全系数;
验证模块,用于在与所述第二区块链节点建立信息传输通道之前,根据所述安全系数判断所述第二区块链节点是否通过验证。
本说明书实施例第三方面公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本说明书实施例第四方面公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
通过本说明书的一个或者多个技术方案,本说明书具有以下有益效果或者优点:
在上述方案中,通过对第二区块链节点的通信记录进行分析以得到第二区块链的安全系数,能够在与第二区块链节点建立通信连接之前根据安全系数对第二区块链节点进行有效的验证。由于上述验证是基于通信记录而非共识算法进行的,且通信记录经过第三方验证的,如此,能够确保获取到的通信记录的安全性和不可篡改性,进而能够在不增加区块链节点的运算负荷的前提下实现区块链节点之间的验证。
上述说明仅是本说明书技术方案的概述,为了能够更清楚了解本说明书的技术手段,而可依照说明书的内容予以实施,并且为了让本说明书的上述和其它目的、特征和优点能够更明显易懂,以下特举本说明书的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本说明书实施例中区块链通信节点验证方法的流程图。
图2示出了根据本说明书实施例中区块链通信节点验证装置的功能模块示意图。
图3示出了根据本说明书实施例中电子设备的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
发明人经调查和研究发现,基于共识算法形成的区块链信任机制能够有效地确保区块链网络中各个节点之间数据交换安全性,但随着信息技术以及大数据的发展,黑客的算法破解能力和节点伪装能力也在逐步提高,而频繁更换和复杂化区块链节点之间的共识算法以实现区块链节点之间的验证会导致区块链节点的运算负荷增加。由此可见,如何在不增加区块链节点的运算负荷的前提下实现区块链节点之间的验证是现阶段一个需要解决的技术问题。
以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
有鉴于此,本说明书实施例提供了一种区块链通信节点验证方法、装置及电子设备,用以解决或者部分解决如何在不增加区块链节点的运算负荷的前提下实现区块链节点之间的验证。
在本实施例中,第一区块链节点和第二区块链节点处于同一区块链网络中。可以理解,该区块链网络可以应用于多个领域,例如金融服务领域、车联网领域、政务服务领域、智能医疗领域、智慧城市领域、海底勘探领域、设备制造领域、航空航天领域、智能能源领域等。当区块链网络应用于不同的领域时,区块链节点之间的的交互信息也不同,在此不作更多限定。
请结合参阅图1,为本说明书实施例提供的一种区块链通信节点验证方法的流程图,该方法应用于应用于区块链网络中的第一区块链节点,该方法可以包括以下步骤:
步骤S21,获取所述区块链网络中的第二区块链节点的N条通信记录。
步骤S22,根据所述N条通信记录确定所述第二区块链节点的安全系数。
步骤S23,在与所述第二区块链节点建立信息传输通道之前,根据所述安全系数判断所述第二区块链节点是否通过验证。
通过步骤S21-步骤S23,通过对第二区块链节点的通信记录进行分析以得到第二区块链的安全系数,能够在与第二区块链节点建立通信连接之前根据安全系数对第二区块链节点进行有效的验证。由于上述验证是基于通信记录而非共识算法进行的,且通信记录经过第三方验证的,如此,能够确保获取到的通信记录的安全性和不可篡改性,进而能够在不增加区块链节点的运算负荷的前提下实现区块链节点之间的验证。
可以理解,当基于安全系数判断出第二区块链节点通过验证时,第一区块链节点会与第二区块链节点建立信息传输通道。而基于安全系数进行第二区块链节点的验证是在信息传输通道建立之前,当完成信息传输通道的建立之后,为确保第二区块链节点在数据交换过程中的可靠性,需要对第二区块链节点进行二次验证,为此,请结合参阅图2,在步骤S21-步骤S23的基础上,所述方法具体还可以包括以下内容:
步骤S24,在判断出所述第二区块链节点通过验证时,与所述第二区块链节点建立所述信息传输通道。
步骤S25,从完成对所述信息传输通道的建立的时刻开始,按照设定时间间隔获取所述第二区块链节点的当前关联通信状态信息。
步骤S26,根据当前关联通信状态信息确定出所述第二区块链节点的当前通信风险度。
步骤S27,在当前通信风险度大于等于设定阈值时,关闭所述信息传输通道;在当前通信风险度小于所述设定阈值时,返回按照设定时间间隔获取所述第二区块链节点的当前关联通信状态信息的步骤。
在步骤S24-步骤S27中,当前关联通信状态信息可以包括第二区块链节点与除了第一区块链节点之外的其他区块链节点进行通信的相关信息。详细地,当前关联通信状态信息可能是变化的,为此,按照设定时间间隔进行当前关联通信状态信息的获取,能够确保当前关联通信状态信息的时效性,从而确保确定出的当前通信风险度的时效性和可靠性。
进一步地,通过将当前通信风险度和设定阈值进行分析,能够实现对第二区块链节点的二次验证,由于二次验证是基于通信状态层面进行的,因此能够减少第一区块链节点的运算负荷。
此外,当前关联通信状态信息是间隔获取的,能够在确保对第二区块链节点进行持续的二次验证的前提下有效减轻第一区块链节点的运算负荷。
在具体实施时,为了进一步减轻第一区块链节点的运算负荷以提高第一区块链节点的工作效率,并确保第二区块链节点的安全系数的可靠性,步骤S21具体可以包括以下内容:
在设定时段内从服务器获取所述区块链网络中的第二区块链节点在预设时段内的N条通信记录。
相应地,步骤S22具体可以包括以下内容:
根据所述N条通信记录确定所述第二区块链节点在所述预设时段内的安全系数。
在本实施例中,设定时段是第一区块链节点处于相对空闲的时段,以应用于能源电力的第一区块链节点为例,设定时段可以是用电低谷时段,在设定时段内,第一区块链节点的计算资源是充裕的,因此,在设定时段内获取通信记录并确定出安全系数,能够减轻第一区块链节点在运算高峰时段的运算负荷,从而提高第一区块链节点的工作效率。
在本实施例中,由于通信记录是从服务器处获取的,而服务器在存储通信记录时会对通信记录进行验证,如此,确保了第一区块链节点获取的通信记录的可靠性,进而确保了根据通信记录确定出的安全系数的可靠性。
在本实施例中,第二区块链节点的通信记录是预设时段内的。如此,能够实现第二区块链节点的通信记录的灵活获取,从而对第二区块链节点进行可靠地验证。
在具体实施时,由于没有深度涉及共识算法的验证和匹配,因此,为了确保安全系数的全面性和可靠性,在步骤S22中,所述根据所述N条通信记录确定所述第二区块链节点的安全系数,具体可以包括以下内容:
步骤S221,获取每条通行记录中的通信对象信息,所述通信对象信息包括通信时长、通信传输协议、通信数据格式以及通信对象的设备标识。
步骤S222,针对每条通信记录,在该通信记录对应的通信时长的起始时刻,对所述通信数据格式进行解析得到第一解析结果;在该通信记录对应的通信时长的结束时刻,对所述通信数据格式进行解析得到第二解析结果;在所述起始时刻至所述结束时刻之间的时长范围内,根据该通信记录对应的通信传输协议确定出M次数据格式解析次数并在所述时长范围内随机对所述通信数据格式进行M次的解析得到M个第三解析结果;判断所述第一解析结果、所述第二解析结果和M各第三解析结果两两之间的相似度值是否均小于根据所述通信对象的设备标识确定得到的数据格式调整基值;在所述第一解析结果、所述第二解析结果和M各第三解析结果两两之间的相似度值均小于所述数据格式调整基值时,确定该通信记录的数据格式篡改率为第一基准概率;其中,M为正整数。
步骤S223,确定该通信记录的通信传输协议中的协议地址;判断所述协议地址中是否存在地址标识;若所述协议地址中存在所述地址标识,则根据所述第二区块链节点在与该通信记录对应的通信对象进行通信时的链路地址是否与所述协议地址匹配;若所述链路地址与所述协议地址匹配,则确定该通信记录的协议伪造率为第二基准概率;若所述链路地址与所述协议地址不匹配,从预设的链路表单中确定出所述链路地址对应的备用链路地址;在所述备用链路地址与所述协议地址匹配时确定该通信记录的协议伪造率为第三基准概率,在所述备用链路地址与所述协议地址不匹配时确定该通信记录的协议伪造率为第四基准概率。
步骤S224,根据所述通信对象的设备标识确定出所述第二区块链节点与所述通信对象之间的接口连接方式;在预设关联数据库中确定出所述接口连接方式对应的频带系数;当所述频带系数对应的通信带宽大于所述第二区块链节点的基准带宽时,根据统计得到的所述第二区块链节点与所述通信对象之间的平均传输延时对所述通信带宽进行削减,获得削减后的第一带宽;在所述第一带宽大于所述基准带宽时,继续根据所述平均传输延时对所述通信带宽进行削减并在削减之后的带宽小于所述基准带宽时确定出削减次数的累计值;根据所述累计值确定出该通信记录的带宽可信率。
步骤S225,解析该通信记录的源码确定出所述源码中包含的所述第二区块链节点向所述通信对象发送的第一通信权限请求以及所述通信对象向所述第二区块链节点发送的第二通信权限请求;确定出所述通信对象针对所述第一通信权限请求的第一响应率以及所述所述第二区块链节点针对所述第二通信权限请求的第二响应率;根据所述第一响应率和所述第二响应率确定出该通信记录对应的权限篡改风险率。
步骤S226,根据所述通信对象的历史通信记录确定出加权系数并根据所述加权系数对所述第一基准概率、所述第二基准概率、所述第三基准概率、所述第四基准概率、所述带宽可信率以及所述权限篡改风险率进行加权,得到该通信记录的风险评分值。
步骤S227,根据得到的N个风险评分值确定所述第二区块链节点的安全系数。
在本实施例中,根据步骤S221-步骤S227,能够确定每条通信记录中的对象信息,并根据每条通信记录的对象信息(通信时长、通信传输协议、通信数据格式以及通信对象的设备标识)全方位地确定出该通信记录的第一基准概率、所述第二基准概率、所述第三基准概率、所述第四基准概率、所述带宽可信率以及所述权限篡改风险率,进而确定出该通信记录的风险评分值,如此,能够根据风险评分值全面、可靠地确定出安全系数。
在实际应用中发明人发现,第二区块链节点在不同的预设时段对应的网络状态不同。详细地,在不同的网络状态下,N个风险评分值之间会产生互相干扰,因而不能采用同一种方式来确定安全系数。因此,为了取保确定出的安全系数与预设时段匹配,从而确保安全系数的准确性,在步骤S227中,所述根据得到的N个风险评分值确定所述第二区块链节点的安全系数,具体还可以包括以下内容:
步骤S2271,获取所述第二区块链节点在所述预设时段内响应的所有数据共享请求中的每个数据共享请求的响应时长,以及所述第二区块链节点在所述预设时段内根据每个数据共享请求进行数据共享的共享持续时长和共享数据流量累计值;根据所述响应时长、所述共享持续时长和所述共享数据流量累计值确定出所述第二区块链节点在所述预设时段内的网络状态信息。
步骤S2272,解析所述网络状态信息得到网络状态参数序列;在所述网络状态参数序列中的相邻参数之间的差值表征所述网络状态参数序列出现振荡时对所述第二区块链节点的即时网络状态进行检测得到网络振荡系数;根据所述网络振荡系数确定每个风险评分值相对于所述网络状态信息的影响权重;根据所述影响权重、所述网络状态信息以及所述网络振荡系数,对每个风险评分值进行修正,得到在所述网络状态信息对应的网络状态下的每个修正评分值。
步骤S2273,确定出每个修正评分值对应的通信对象的数据接收丢失率;根据每个数据接收丢失率判断每个修正评分值的修正幅度是否正常;若是,则从N个修正评分值中随机选择K个修正评分值并确定为目标评分值;根据每个目标评分值对应的数据接收丢失率确定N个修正评分值的N维可信度向量。
步骤S2274,利用确定出的N维可信度向量对所述第二区块链节点预先存储的可信度信息表单中的可信度信息进行特征提取得到所述第二区块链节点对应的可信度特征矩阵并根据所述网络状态信息对所述可信度特征矩阵进行过滤以实现对所述可信度特征矩阵的降维得到所述可信度特征矩阵对应的N维特征向量。
步骤S2275,判断所述N维特征向量与所述N维可信度向量之间的相似度值是否小于预先设定的安全阈值;若是,从所述网络状态信息中提取出每个修正评分值对应的最大影响因子;根据每个最大影响因子对每个修正评分值进行加权平均以得到所述第二区块链节点在所述预设时段内的安全系数。
可以理解,通过步骤S2271-步骤S2275,能够确定第二区块链节点在预设时段内的网络状态信息,并对网络状态信息进行解析,然后基于解析结果对风险评分值进行修正。此外,根据每个修正评分值对应的通信对象的数据接收丢失率能够确定每个修正评分值的N维可信度向量,从而进一步确定出N维特征向量,并在N维特征向量与N维可信度向量之间的相似度值小于预先设定的安全阈值时从网络状态信息中提取出每个修正评分值对应的最大影响因子,进而根据最大影响因子实现对安全系数的确定。
如此,能够将第二区块链节点在不同的预设时段的网络状态进行区分,并根据网络状态对风险评分值进行修订,从而避免风险评分值之间产生的干扰。
通过上述内容,能够取保确定出的安全系数与预设时段匹配,从而确保安全系数的准确性。
在具体实施时,由于弱化了基于与第二区块链节点之间的共识算法的计算和匹配进行节点安全性验证的机制,为了确保对第二区块链节点的验证的可靠性,不仅需要根据安全系数对第二区块链节点进行验证,还需要对第二区块链节点对应的信息传输通道的建立机制进行验证,为此,在步骤S23中,所述在与所述第二区块链节点建立信息传输通道之前,根据所述安全系数判断所述第二区块链节点是否通过验证,具体还可以包括以下内容:
步骤S231,获取与所述第二区块链节点发送的通道建立请求对应的信号脉冲序列;提取所述信号脉冲序列中的每段脉冲信号的幅值;将提取得到的各个幅值作为通道建立请求的信号响应信息集并对所述信号响应信息集中的每个幅值进行转码得到所述信号响应信息集对应的目标编码序列。
步骤S232,从预设编码序列集中查找与所述目标编码序列对应的编码序列得到原始编码序列;确定所述原始编码序列对应的所有历史信息传输通道中存在异常的历史信息传输通道的异常概率;根据所述异常概率确定所述目标编码序列对应的通道建立请求是否存在权限捆绑风险。
步骤S233,在根据所述异常概率确定所述目标编码序列对应的通道建立请求存在所述权限捆绑风险时,将所述安全系数与所述第二区块链节点对应的设备mac地址进行关联存储并判定所述第二区块链节点没有通过验证。
步骤S234,在根据所述异常概率确定所述目标编码序列对应的通道建立请求不存在所述权限捆绑风险时,确定出所述第二区块链节点的节点类型并根据所述节点类型确定出与所述节点类型对应的安全事故发生概率的经纬度区域分布图。
步骤S235,根据所述节点类型确定出所述第二区块链节点的地理位置信息;根据所述地理位置信息在所述经纬度区域分布图中的映射位置确定预设判定值的加权系数;根据所述加权系数对所述预设判定值进行加权处理得到加权判定值。
步骤S236,判断所述安全系数是否超过所述加权判定值;在所述安全系数超过所述加权判定值时确定所述第二区块链节点没有通过验证;在所述安全系数没有超过所述加权判定值时确定所述第二区块链节点通过验证。
可以理解,通过步骤S231-步骤S236,能够对第二区块链节点发送的通道建立请求对应的信号脉冲序列进行分析,并从信号幅值以及编码的层面确定通道建立请求是否存在权限捆绑风险。
在确定出通道建立请求存在权限捆绑风险时,能够将安全系数与第二区块链节点对应的设备mac地址进行关联存储并判定第二区块链节点没有通过验证。
在根据异常概率确定目标编码序列对应的通道建立请求不存在权限捆绑风险时,能够基于第二区块链节点的不同的节点类型确定安全事故发生概率的经纬度区域分布图,进而根据第二区块链节点的地理位置信息确定出加权系数以实现对预设判定值的加权。
如此,能够对第二区块链节点对应的信息传输通道的建立机制进行全面、可靠地验证,进而能够确保对第二区块链节点的验证的可靠性。
在具体实施时,为了提高节点验证的效率,避免第一区块链节点进行重复的验证分析,在步骤S236之后,还可以包括以下内容:
在所述安全系数超过所述加权判定值时确定所述第二区块链节点没有通过验证;将所述节点类型和所述加权系数进行关联存储。
可以理解,通过上述方法,能够将没有通过验证的第二区块链节点的节点类型和加权系数进行关联存储,能够确保第一区块链节点在后续进行处理和分析时直接根据关联存储的节点类型和加权系数进行判断,从而提高节点验证的效率,避免第一区块链节点进行重复的验证分析。
在本实施例中,由于对第二区块链节点的验证是基于第二区块链节点的通信记录进行的,在确保根据通信记录实现对第二区块链节点的验证的前提下,还需要提高时效性。然而,在具体实施时,在同一时段可能存在多个区块链节点请求获取通信记录,在通信记录集中存储于云端服务器的前提下,需要确保多个区块链节点获取通信记录的时效性,为此,在步骤S21中,所述获取所述区块链网络中的第二区块链节点的N条通信记录,具体还可以包括以下内容:
步骤S31,向云端服务器发送通信记录获取请求。
步骤S32,获取所述云端服务器根据所述通信获取请求反馈的频段调整指令。
步骤S33,根据所述频段调整指令对接收频段进行调整得到目标频段,并按照所述目标频段获取所述云端服务器发送的所述第二区块链节点的N条通信记录。
在步骤S32中,频段调整指令是通过以下步骤生成的:
步骤S41,所述云端服务器在检测到存在多个通信记录获取请求时,解析每个通信记录获取请求得到每个通信记录获取请求对应的损耗百分比。
步骤S42,所述云端服务器基于得到的所有损耗百分比的大小,对所述多个通信记录获取请求进行排序得到排序序列;从所述排序序列中选取出位于序列中间的通信记录获取请求对应的损耗百分比作为基准百分比。
步骤S43,所述云端服务器确定所述基准百分比与所述所有损耗百分比中除所述基准百分比以外的每个损耗百分比之间的差值。
步骤S44,所述云端服务器为所述基准百分比对应的通信记录获取请求对应的第一区块链节点设置第一目标频段,并根据所述第一目标频段和所述差值为除所述基准百分比以外的每个损耗百分比对应的通信记录获取请求对应的第一区块链节点设置第二目标频段。
步骤S45,根据所述第一目标频段或所述第二目标频段生成对应的频段调整指令。
可以理解,通过步骤S31-步骤S33以及步骤S41-步骤S45,第一区块链节点能够根据云端服务器分配的频段调整指令进行频段调整,从而实现按照目标频段获取云端服务器发送的第二区块链节点的N条通信记录。如此,能够确保第一区块链节点获取通信记录的时效性。
基于与前述实施例中同样的发明构思,本说明书实施例还提供一种区块链通信节点验证装置200,请结合参阅图2,该区块链通信节点验证装置200包括:
获取模块201,获取所述区块链网络中的第二区块链节点的N条通信记录。
确定模块202,根据所述N条通信记录确定所述第二区块链节点的安全系数。
验证模块203,在与所述第二区块链节点建立信息传输通道之前,根据所述安全系数判断所述第二区块链节点是否通过验证。
在一种可替换的实施例中,还包括检测模块204,用于:
在判断出所述第二区块链节点通过验证时,与所述第二区块链节点建立所述信息传输通道;
从完成对所述信息传输通道的建立的时刻开始,按照设定时间间隔获取所述第二区块链节点的当前关联通信状态信息;
根据当前关联通信状态信息确定出所述第二区块链节点的当前通信风险度;
在当前通信风险度大于等于设定阈值时,关闭所述信息传输通道;在当前通信风险度小于所述设定阈值时,返回按照设定时间间隔获取所述第二区块链节点的当前关联通信状态信息的步骤。
在一种可替换的实施例中,获取模块201,用于在设定时段内从服务器获取所述区块链网络中的第二区块链节点在预设时段内的N条通信记录。
在一种可替换的实施例中,确定模块202,用于根据所述N条通信记录确定所述第二区块链节点在所述预设时段内的安全系数。
在一种可替换的实施例中,确定模块202,用于:
获取每条通行记录中的通信对象信息,所述通信对象信息包括通信时长、通信传输协议、通信数据格式以及通信对象的设备标识;
针对每条通信记录,
在该通信记录对应的通信时长的起始时刻,对所述通信数据格式进行解析得到第一解析结果;在该通信记录对应的通信时长的结束时刻,对所述通信数据格式进行解析得到第二解析结果;在所述起始时刻至所述结束时刻之间的时长范围内,根据该通信记录对应的通信传输协议确定出M次数据格式解析次数并在所述时长范围内随机对所述通信数据格式进行M次的解析得到M个第三解析结果;判断所述第一解析结果、所述第二解析结果和M各第三解析结果两两之间的相似度值是否均小于根据所述通信对象的设备标识确定得到的数据格式调整基值;在所述第一解析结果、所述第二解析结果和M各第三解析结果两两之间的相似度值均小于所述数据格式调整基值时,确定该通信记录的数据格式篡改率为第一基准概率;其中,M为正整数;
确定该通信记录的通信传输协议中的协议地址;判断所述协议地址中是否存在地址标识;若所述协议地址中存在所述地址标识,则根据所述第二区块链节点在与该通信记录对应的通信对象进行通信时的链路地址是否与所述协议地址匹配;若所述链路地址与所述协议地址匹配,则确定该通信记录的协议伪造率为第二基准概率;若所述链路地址与所述协议地址不匹配,从预设的链路表单中确定出所述链路地址对应的备用链路地址;在所述备用链路地址与所述协议地址匹配时确定该通信记录的协议伪造率为第三基准概率,在所述备用链路地址与所述协议地址不匹配时确定该通信记录的协议伪造率为第四基准概率;
根据所述通信对象的设备标识确定出所述第二区块链节点与所述通信对象之间的接口连接方式;在预设关联数据库中确定出所述接口连接方式对应的频带系数;当所述频带系数对应的通信带宽大于所述第二区块链节点的基准带宽时,根据统计得到的所述第二区块链节点与所述通信对象之间的平均传输延时对所述通信带宽进行削减,获得削减后的第一带宽;在所述第一带宽大于所述基准带宽时,继续根据所述平均传输延时对所述通信带宽进行削减并在削减之后的带宽小于所述基准带宽时确定出削减次数的累计值;根据所述累计值确定出该通信记录的带宽可信率;
解析该通信记录的源码确定出所述源码中包含的所述第二区块链节点向所述通信对象发送的第一通信权限请求以及所述通信对象向所述第二区块链节点发送的第二通信权限请求;确定出所述通信对象针对所述第一通信权限请求的第一响应率以及所述所述第二区块链节点针对所述第二通信权限请求的第二响应率;根据所述第一响应率和所述第二响应率确定出该通信记录对应的权限篡改风险率;
根据所述通信对象的历史通信记录确定出加权系数并根据所述加权系数对所述第一基准概率、所述第二基准概率、所述第三基准概率、所述第四基准概率、所述带宽可信率以及所述权限篡改风险率进行加权,得到该通信记录的风险评分值;
根据得到的N个风险评分值确定所述第二区块链节点的安全系数。
在一种可替换的实施例中,确定模块202,用于:
获取所述第二区块链节点在所述预设时段内响应的所有数据共享请求中的每个数据共享请求的响应时长,以及所述第二区块链节点在所述预设时段内根据每个数据共享请求进行数据共享的共享持续时长和共享数据流量累计值;根据所述响应时长、所述共享持续时长和所述共享数据流量累计值确定出所述第二区块链节点在所述预设时段内的网络状态信息;
解析所述网络状态信息得到网络状态参数序列;在所述网络状态参数序列中的相邻参数之间的差值表征所述网络状态参数序列出现振荡时对所述第二区块链节点的即时网络状态进行检测得到网络振荡系数;根据所述网络振荡系数确定每个风险评分值相对于所述网络状态信息的影响权重;根据所述影响权重、所述网络状态信息以及所述网络振荡系数,对每个风险评分值进行修正,得到在所述网络状态信息对应的网络状态下的每个修正评分值;
确定出每个修正评分值对应的通信对象的数据接收丢失率;根据每个数据接收丢失率判断每个修正评分值的修正幅度是否正常;若是,则从N个修正评分值中随机选择K个修正评分值并确定为目标评分值;根据每个目标评分值对应的数据接收丢失率确定N个修正评分值的N维可信度向量;
利用确定出的N维可信度向量对所述第二区块链节点预先存储的可信度信息表单中的可信度信息进行特征提取得到所述第二区块链节点对应的可信度特征矩阵并根据所述网络状态信息对所述可信度特征矩阵进行过滤以实现对所述可信度特征矩阵的降维得到所述可信度特征矩阵对应的N维特征向量;
判断所述N维特征向量与所述N维可信度向量之间的相似度值是否小于预先设定的安全阈值;若是,从所述网络状态信息中提取出每个修正评分值对应的最大影响因子;根据每个最大影响因子对每个修正评分值进行加权平均以得到所述第二区块链节点在所述预设时段内的安全系数。
在一种可替换的实施例中,验证模块203,用于:
获取与所述第二区块链节点发送的通道建立请求对应的信号脉冲序列;提取所述信号脉冲序列中的每段脉冲信号的幅值;将提取得到的各个幅值作为通道建立请求的信号响应信息集并对所述信号响应信息集中的每个幅值进行转码得到所述信号响应信息集对应的目标编码序列;
从预设编码序列集中查找与所述目标编码序列对应的编码序列得到原始编码序列;确定所述原始编码序列对应的所有历史信息传输通道中存在异常的历史信息传输通道的异常概率;根据所述异常概率确定所述目标编码序列对应的通道建立请求是否存在权限捆绑风险;
在根据所述异常概率确定所述目标编码序列对应的通道建立请求存在所述权限捆绑风险时,将所述安全系数与所述第二区块链节点对应的设备mac地址进行关联存储并判定所述第二区块链节点没有通过验证;
在根据所述异常概率确定所述目标编码序列对应的通道建立请求不存在所述权限捆绑风险时,确定出所述第二区块链节点的节点类型并根据所述节点类型确定出与所述节点类型对应的安全事故发生概率的经纬度区域分布图;
根据所述节点类型确定出所述第二区块链节点的地理位置信息;根据所述地理位置信息在所述经纬度区域分布图中的映射位置确定预设判定值的加权系数;根据所述加权系数对所述预设判定值进行加权处理得到加权判定值;
判断所述安全系数是否超过所述加权判定值;在所述安全系数超过所述加权判定值时确定所述第二区块链节点没有通过验证;在所述安全系数没有超过所述加权判定值时确定所述第二区块链节点通过验证。
在一种可替换的实施例中,验证模块203,还用于:
在所述安全系数超过所述加权判定值时确定所述第二区块链节点没有通过验证。
基于与前述实施例中同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中同样的发明构思,本说明书的实施例还提供一种电子设备3,如图3所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现前文任一所述方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他终端设备通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
通过本说明书的一个或者多个实施例,本说明书具有以下有益效果或者优点:
通过对第二区块链节点的通信记录进行分析以得到第二区块链的安全系数,能够在与第二区块链节点建立通信连接之前根据安全系数对第二区块链节点进行有效的验证。由于上述验证是基于通信记录而非共识算法进行的,且通信记录经过第三方验证的,如此,能够确保获取到的通信记录的安全性和不可篡改性,进而能够在不增加区块链节点的运算负荷的前提下实现区块链节点之间的验证。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本说明书也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本说明书的内容,并且上面对特定语言所做的描述是为了披露本说明书的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本说明书的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本说明书的示例性实施例的描述中,本说明书的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本说明书要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本说明书的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本说明书的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本说明书的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本说明书实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本说明书还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本说明书的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本说明书进行说明而不是对本说明书进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本说明书可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。