1.一种基于改进的PBFT物联网区块链共识算法,其特征是:包括以下步骤,且以下步骤顺次进行,
步骤一、PBFT实用拜占庭容错算法共识网络初始化,设定PBFT共识超时时间,设置每个共识节点的信誉值为1;
步骤二、PBFT共识网络接收应用程序SDK软件开发工具包的请求,每个节点调用可验证随机函数生成范围在0‑65535之间的随机数,节点的排序分数为信誉值与该随机数的乘积,根据每个节点的排序分数进行排序,选择排序分数最大的4个节点参与PBFT共识,节点的排序分数相等时,选择其中一个的节点参与PBFT共识;
步骤三、所述步骤二中获得排序分数最高的节点为PBFT共识的主节点,排序分数最高的节点为一个以上时,选取其中的一个节点作为主节点,其他节点为副本节点;
步骤四、主节点向PBFT共识网络发起共识请求,经过三阶段共识,在所述步骤一设定的PBFT共识超时时间内,主节点收到2f+1个确认消息后共识完成,式中,f为拜占庭节点;
步骤五、共识算法统计PBFT共识网络中的节点是否返回确认消息,节点成功返回确认消息,节点的信誉值不变;节点未返回确认消息,将该节点的信誉值更新为原值的二分之一;
步骤六、达成共识后,主节点向Fabric网络发送区块,Fabric网络中的peer对等节点将区块写入到本地账本,完成一次交易流程。
2.根据权利要求1所述的一种基于改进的PBFT物联网区块链共识算法,其特征是:所述步骤四中未在设定的PBFT共识超时时间内,主节点收到2f+1个确认消息,须重新选择节点参与PBFT共识进行对交易的排序。
3.根据权利要求1所述的一种基于改进的PBFT物联网区块链共识算法,其特征是:所述步骤六主节点向Fabric网络发送区块后,anchor锚节点广播给同一通道所有组织的leader领导节点,leader领导节点在接收到由orderer排序节点发送的区块后进行读写集版本、交易格式、是否重复、是否有足够背书验证,该区块通过验证后,peer对等节点将该区块写入到本地账本中。
4.根据权利要求3所述的一种基于改进的PBFT物联网区块链共识算法,其特征是:所述leader领导节点用于在组织内广播通过验证的区块;所述anchor锚节点用于跨组织广播区块;所述peer对等节点用于将收到的区块写入到帐本中,通知客户端应用程序的交易提案已经写入区块链,以及该交易提案是否有效。