【技术实现步骤摘要】
节点共识方法及系统
[0001]本专利技术涉及区块链领域,尤其涉及一种节点共识方法及系统。
技术介绍
[0002]PBFT是一种确定性的共识协议,可以容忍拜占庭错误,不会产生分叉。在联盟链的场景中,PBFT共识协议被广泛使用,其网络通讯的复杂度是n的平方,所以一般使用在小规模节点的场景中。当节点数量超过一定规模,共识速度显著下降。所以在大规模节点的情况下,无法使用PBFT共识协议。
[0003]一种改进的方法是从大规模的节点中随机选择一部分节点组成共识节点集合参与共识,例如在1000个节点的网络中,随机选择7个节点组成共识节点集合,后续的共识协议所需要的通讯也是在这7个节点之间进行。为了增加安全性,一般需要定时的更换共识节点集合,即运行随机选择算法,再选择一组共识节点集合,在区块链的环境中,为每一个块随机选择一个共识节点集合。
[0004]虽然这种动态、随机选择共识节点集合的方法可以减少共识节点联合作恶的风险,但是仍然有问题。根据拜占庭类容错模型,假设在1000个节点的网络中,恶意节点不超过三分之一,通过随机 ...
【技术保护点】
【技术特征摘要】
1.一种节点共识方法,其特征在于,包括:S1、在总节点集合中随机选择监督节点集合及共识节点集合;S2、采用所述共识节点集合根据共识协议进行共识以建立区块链;S3、采用所述监督节点集合观察预设时间内所述区块链中的区块数量是否达标,当预设时间内区块数量未达标时,采用所述监督节点集合对共识内容进行监督检测,确认共识无法进行后重新选择共识节点集合;S4、当预设时间内区块数量达标且出现分叉的区块链时,将分叉的区块链分别作为共识内容,采用所述监督节点集合对共识内容进行监督检测,选择最优区块链作为最终的目标区块链以完成区块链确认,将引起分叉的共识节点作为恶意节点并记录到恶意节点集合中;S5、当预设时间内区块数量达标且只有一个目标区块链时,将所述目标区块链作为共识内容,采用所述监督节点集合对共识内容进行监督检测,完成区块链确认。2.根据权利要求1所述的节点共识方法,其特征在于,所述采用所述监督节点集合对共识内容进行监督检测,包括:S01、从所述监督节点集合中随机选取一个监督节点作为领导者监督节点;S02、采用所述领导者监督节点将所述共识内容的共识信息作为广播信息,广播到所述监督节点集合中的其它监督节点;S03、在预设时限内,接收到广播信息的其它监督节点验证广播信息中的签名列表是否有效,若有效且对应内容集合中不存在所述广播信息,则将所述广播信息添加到内容集合中,并在所述广播信息的签名列表中添加本监督节点签名,得到最新广播信息;其中,所述内容集合初始为空;S04、生成最新广播信息的其它监督节点将所述最新广播信息广播到不在所述签名列表中的其它监督节点,重复步骤S03
‑
S04,直至达到预设时间阈值以完成监督检测。3.根据权利要求1所述的节点共识方法,其特征在于,所述选择最优区块链作为最终的目标区块链,包括:S401、比较所有分叉的区块链的长度,选择长度最长的区块链作为最优区块链;S402、当分叉的区块链的长度相同时,选择哈希值最大的尾部区块所属的区块链为最优区块链。4.根据权利要求1所述的节点共识方法,其特征在于,所述在总节点集合中随机选择监督节点集合之后,包括:S6、每隔预定时间间隔重新选择所述监督节点集合;或,S7、监督检测的区块达到预设数量阈值时重新选择所述监督节点集合。5.根据权利要求1所述的节点共识方法,其特征在于,所述将引起分叉的共识节点作为恶意节点并记录到恶意节点集合中,包括:S403、检查发生分叉的区块中为分叉区块均投票的共识节点,将其作为引起分叉的恶意节点;S404、将所述恶意节点记录到恶意节点集合中;S405、从所述总节点集合中随机选择监督节点集合及共识节点集合时,排除所述恶意节点集合中的恶意节点。
6.一种节点共识系统,其特征在于,包括:节点选择模块,用...
【专利技术属性】
技术研发人员:王磊,兰春嘉,
申请(专利权)人:上海零数众合信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。