1.区块链网络中一种面向块传输的可信节点选择优化方法,其特征在于,包括如下步骤:
步骤1,当区块链网络中有节点收到块时,利用节点更新算法对区块链网络中的节点状态进行更新,得到未收到块节点集、已收到块节点集和不传输块节点集;
步骤2,在设定的时间内,若有新的节点加入区块链网络中,则利用节点更新算法重新对区块链网络中的节点状态进行更新,得到未收到块节点集;否则进入步骤3;
步骤3,对于未收到块节点集,采用面向块传输的节点选择优化算法,从中选出最优节点集,收到块且已验证完块的节点将块传输给最优节点集中的节点,将最优节点集中的节点放入已收到块节点集中。
2.根据权利要求1所述区块链网络中一种面向块传输的可信节点选择优化方法,其特征在于,所述节点更新算法具体如下:
1)当区块链网络中有节点收到块时,初始化网络中的节点信息,同时,收到块的节点向未收到块的节点发送INV消息;
2)当节点i收到其邻居节点j发送的INV消息时,将INV消息转发给其未收到块的邻居节点,并接收未收到块的邻居节点发送的回复消息;
3)若在设定的时间Tr内,节点i未收到回复消息即未收到块的邻居节点未回复消息,或者,未收到块的邻居节点发送回复消息的时间Tinit超过Tr,则认为这些未收到块的邻居节点已离开网络,将这些节点从未收到块节点集中删除;
4)若节点i收到的回复消息来自一个新的节点,则将该新的节点放入未收到块节点集中,若节点i收到的回复消息来自已收到块节点,则将该已收到块节点放入已收到块节点集中;
5)判断经过3)和4)后得到的未收到块节点集中的节点是否在线,若不在线,则将不在线的节点删除,得到最终的未收到块节点集。
3.根据权利要求1所述区块链网络中一种面向块传输的可信节点选择优化方法,其特征在于,所述面向块传输的节点选择优化算法具体如下:
1)对于未收到块节点集中的节点,计算节点的传输速率PR值和信任PR值;
2)设置可信阈值,若节点的信任PR值大于等于可信阈值,则判断该节点为可信节点,并进入下一步,否则将该节点放入恶意节点集中;
3)根据节点的传输速率PR值和信任PR值,计算节点综合PR值,设置传输阈值,若节点综合PR值大于等于传输阈值,则将该节点放入最优节点集中。
4.根据权利要求3所述区块链网络中一种面向块传输的可信节点选择优化方法,其特征在于,所述传输速率PR值的计算过程如下:令节点i的入度和出度分别为 和 ,则节点i外链接中所占节点i总度数比重ki:其中,K表示节点i的邻居节点数;
计算节点间的欧几里得距离:
其中,Dij表示节点i和邻居节点j的距离,节点i和j的坐标分别为(xi, yi)和(xj, yj);
计算节点i的传输速率Pi:
其中, 表示节点间信道传输的固定速度;
则节点i在t时刻的传输速率PR值 为:其中,d为阻尼系数, ,N为区块链网络中的节点总数, 表示邻居节点j在t时刻的传输速率PR值, 表示邻居节点j的传输速率。
5.根据权利要求3所述区块链网络中一种面向块传输的可信节点选择优化方法,其特征在于,所述信任PR值的计算过程如下:
1)计算节点i在t时刻的直接信任值 :其中,Yi表示节点i当前在线时间,Xi表示节点i的上次离开时间;
2)计算节点i在t时刻的间接信任值 :其中, 表示节点j对i的直接信任值;且
3)计算节点i在t时刻的历史信任值 :其中, 表示当前时刻,U表示节点i收到的块总数, 表示节点i在t时刻传输成功数,具体为:
4)计算节点i在t时刻的当前信任值 :其中, 为系数,取值范围在(0, 1)之间,K为节点i的邻居节点数;
5)计算节点i在t时刻的传输行为信任值 :其中,λ1和λ2分别表示当前信任值系数和历史信任值系数,且λ1+λ2=1;
6)计算节点i在t时刻的验证行为信任值 :其中,表示节点验证系数, ,B为块的大小,C为CPU功率,B/C为处理块占节点CPU资源比例;
7)计算节点i在t时刻的信任PR值 :其中,d为阻尼系数, ,N为区块链网络中的节点总数,K为节点i的邻居节点数,表示邻居节点j的信任PR值, 表示邻居节点j的传输行为信任值, 表示为邻居节点j的验证行为信任值。
6.根据权利要求3所述区块链网络中一种面向块传输的可信节点选择优化方法,其特征在于,所述节点综合PR值具体为:其中, 表示在t时刻的节点i综合PR值, 和 分别表示节点的传输速率权重和信任值权重, 分别表示在t时刻节点i的传输速率PR值、信任PR值归一化;且:其中, 表示节点i在t时刻的传输速率PR值, 表示节点i在t时刻的信任PR值。