【技术实现步骤摘要】
一种区块链的共识方法、装置及计算机可读存储介质
[0001]本申请涉及区块链
,尤其涉及一种区块链的共识方法、装置及计算机可读存储介质。
技术介绍
[0002]区块链是一种去中心化的数据库,它包含一张被称为区块的列表,有着持续增长并且排列整齐的记录。每个区块包含一个时间戳和一个与前一区块的链接,数据一旦记录在区块中即不可篡改。
[0003]区块链使用共识算法实现区块链上分布式节点间的数据一致,通过共识算法决定当前区块的记账权。现有技术中的共识算法主要包含两种,第一种是竞争型共识算法,链上节点通过消耗算力来竞争区块的记账权。第二种是协商型共识算法,链上节点通过某种选举方式协商选出当前区块的领导节点,并由领导节点负责本轮共识的记账与区块生成。
[0004]竞争型共识算法要求各个节点耗费大量的资源来获得算力进行计算,效率极低且资源消耗率极高。协商型共识算法的共识速度较慢,且网络拓展性较低,不适用于大量节点的区块链系统。目前没有一种算法能够在保障良好的共识效率的基础上避免消耗大量系统资源。
技术实现思路
...
【技术保护点】
【技术特征摘要】
1.一种区块链的共识方法,其特征在于,所述方法包括:共识装置向区块链中的各个节点发送选举请求,以开始基于模拟退火算法的选举流程;在所述模拟退火算法的每个迭代轮次中,所述共识装置获取区块链中的各个节点随机生成的递归凭证,并根据各个节点随机生成的递归凭证,判断各个节点是否满足选举要求;在所述模拟退火算法运行结束之后,所述共识装置根据各个节点满足选举要求的次数,确定N个候选节点,N为大于1的正整数;所述共识装置基于预设的领导节点选取规则,从所述N个候选节点中选取出领导节点。2.根据权利要求1所述的方法,其特征在于,所述共识装置根据各个节点满足选举要求的次数,确定N个候选节点,包括:所述共识装置根据各个节点满足选举要求的次数,选择满足选举要求的次数最多的N个节点作为候选节点。3.根据权利要求1所述的方法,其特征在于,所述共识装置根据各个节点随机生成的递归凭证,判断各个节点是否满足选举要求,包括以下步骤:S1、根据当前迭代轮次中各个节点随机生成的递归凭证,确定当前迭代轮次的平均递归凭证;S2、根据当前迭代轮次的平均递归凭证以及上一个迭代轮次所确定的最优平均递归凭证,计算平均递归凭证变化值,所述平均递归凭证变化值等于当前迭代轮次的平均递归凭证减去所述最优平均递归凭证;S3、判断所述平均递归凭证变化值是否小于0;若是,执行步骤S4;若否,执行步骤S5;S4、以当前迭代轮次的平均递归凭证更新最优平均递归凭证;并且,对于所述区块链中的各个节点来说,若当前迭代轮次中所述节点随机生成的递归凭证小于当前迭代轮次的平均递归凭证,则确定所述节点满足选举要求;若当前迭代轮次中所述节点随机生成的递归凭证大于或等于当前迭代轮次的平均递归凭证,则确定所述节点不满足选举要求;S5、根据所述平均递归凭证变化值,计算玻尔兹曼概率;若所述玻尔兹曼概率大于或者等于随机生成的概率阈值,则执行步骤S6;若所述玻尔兹曼概率小于所述概率阈值,则执行步骤S7;S6、拒绝以当前迭代轮次的平均递归凭证更新最优平均递归凭证,并确定所述区块链中的各个节点均不满足选举要求;S7、以当前迭代轮次的平均递归凭证更新最优平均递归凭证;并且,对于所述区块链中的各个节点来说,若当前迭代轮次中所述节点随机生成的递归凭证小于当前迭代轮次的平均递归凭证,则确定所述节点满足选举要求;若当前迭代轮次中所述节点随机生成的递归凭证大于或等于当前迭代轮次的平均递归凭证,则确定所述节点不满足选举要求。4.根据权利要求1至3任一项所述的方法,其特征在于,所述共识装置基于预设的领导节点选取规则,从所述N个候选节点中选取出领导节点,包括:所述共识装置向所述N个候选节点分别发送通知信息,以使得各个候选节点进行区块打包,并将打包好的区块广播给所述区块链中的其他节点;所述共识装置获取各个候选节点的验证数据,所述候选节点的验证数据包括区块链中的各个节点对所述候选节点打包好的区块的验证结果;
所述共识装置根据各个候选节点的验证数据,从所述N个候选节点中选取出领导节点。5.根据权利要求4所述的方法,其特征在于,所述候选节点打包好的区块包括区块头,所述区块头包括所述候选节点在选举流程中生成的多个递归凭证,以及每次用于生成递归凭证的相关数据。6.根据权利要求5所述的方法,其特征...
【专利技术属性】
技术研发人员:任杰,王光全,薛淼,刘千仞,任梦璇,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。