1.一种区块链出块安全校验方法,其特征在于,所述方法包括:获取当前出块周期内的待出块节点;
对各个所述待出块节点进行节点可信度校验,将通过校验的待出块节点生成可信节点子集;
确定各个所述待出块节点在与当前出块周期连续的预设数量出块周期内是否出块;
若在与当前出块周期连续的预设数量出块周期内,有大于或等于预设百分比的待出块节点出块,则确定各个所述待出块节点通过节点可信度校验;
若在与当前出块周期连续的预设数量出块周期内,有小于预设百分比的待出块节点出块,则确定各个所述待出块节点中存在不可信节点,对各个所述待出块节点基于预设校验算法进行校验,根据校验结果确定当前出块周期内各个待出块节点的出块时间间隔,根据出块时间间隔和出块难度值之间的对应关系,调整各个待出块节点的出块难度值;
根据各个所述待出块节点的出块难度值,确定当前出块周期内各个待出块节点的出块安全性。
2.根据权利要求1所述的区块链出块安全校验方法,其特征在于,在将通过校验的待出块节点生成可信节点子集之前,还包括:将通过节点可信度校验的待出块节点保存在区块链的区块头信息字段中;
将通过校验的待出块节点生成可信节点子集,包括:
在所述区块头信息字段中,获取通过节点可信度校验的所述待出块节点,生成所述可信节点子集。
3.根据权利要求2所述的区块链出块安全校验方法,其特征在于,所述预设校验算法为拜占庭容错算法,所述对各个所述待出块节点基于预设校验算法进行校验,包括:从各个所述待出块节点中任意选取预设数量的待出块节点作为待校验节点,组成随机区块网络;
对所述待校验节点发送的请求信息基于拜占庭容错算法进行校验,若所述待校验节点发送的请求信息基于拜占庭容错算法达成共识,则校验通过;
若有任意待校验节点发送的请求信息无法达成共识,则校验失败。
4.根据权利要求1‑3任一项所述的区块链出块安全校验方法,其特征在于,对可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值,包括:根据预设难度调整算法对所述可信节点子集中各个待出块节点的出块难度值进行校验;
根据校验结果调整当前出块周期内各个待出块节点的出块难度值。
5.根据权利要求4所述的区块链出块安全校验方法,其特征在于,所述根据预设难度调整算法对所述可信节点子集中各个待出块节点的出块难度值进行校验,包括:针对所述可信节点子集中的任一待出块节点,获取该任一待出块节点的出块难度值和出块时间宽度;
模拟该任一待出块节点的出块难度值波动下的标准差,根据模拟得到的标准差与所述出块时间宽度之间的关系,对该任一待出块节点的出块难度值进行校验。
6.根据权利要求5所述的区块链出块安全校验方法,其特征在于,所述根据校验结果调整当前出块周期内各个待出块节点的出块难度值,包括:针对该任一待出块节点,根据校验结果调整该任一待出块节点的出块时间间隔;
根据调整后的出块时间间隔和该任一待出块节点的出块难度值之间的关系,调整该任一待出块节点的出块难度值。
7.一种区块链出块安全校验装置,其特征在于,包括:
获取模块,用于获取当前出块周期内的待出块节点;
校验模块,用于对各个所述待出块节点进行节点可信度校验,根据通过校验的待出块节点生成可信节点子集;
调整模块,用于确定各个所述待出块节点在与当前出块周期连续的预设数量出块周期内是否出块;
若在与当前出块周期连续的预设数量出块周期内,有大于或等于预设百分比的待出块节点出块,则确定各个所述待出块节点通过节点可信度校验;
若在与当前出块周期连续的预设数量出块周期内,有小于预设百分比的待出块节点出块,则确定各个所述待出块节点中存在不可信节点,对各个所述待出块节点基于预设校验算法进行校验,根据校验结果确定当前出块周期内各个待出块节点的出块时间间隔,根据出块时间间隔和出块难度值之间的对应关系,调整各个待出块节点的出块难度值;
根据各个所述待出块节点的出块难度值,确定当前出块周期内各个待出块节点的出块安全性。
8.一种区块链出块安全校验设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至6中任一项所述的区块链出块安全校验方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至6中任一项所述的区块链出块安全校验方法的步骤。