[发明专利]区块链节点共识的方法和装置有效
申请号: | 202010136108.9 | 申请日: | 2020-03-02 |
公开(公告)号: | CN113347219B | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 方建;张锐 | 申请(专利权)人: | 续科天下(北京)科技有限公司 |
主分类号: | H04L67/1095 | 分类号: | H04L67/1095;H04L9/40;G06Q40/04 |
代理公司: | 北京万思博知识产权代理有限公司 11694 | 代理人: | 范晓斌 |
地址: | 100102 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 节点 共识 方法 装置 | ||
本申请公开了一种区块链节点共识的方法和装置,涉及区块链技术领域。该方法包括:预先设置区块链的幸运值范围;种子节点根据幸运值算法计算出符合幸运值范围的幸运值,创建创世区块并广播;区块链中的任一当前节点接收到上一个出块节点广播的区块时,根据区块的信息计算出幸运值并进行验证,若与上一个出块节点的幸运值相同且符合幸运值范围,则插入该区块;判断当前的区块高度是否有更新,是则启动第一定时器计时,超时且未收到其它节点广播的区块时,计算出当前幸运值,若符合幸运值范围,则作为当前出块节点生成新区块并广播。该装置包括:初始化模块、插入模块和生成模块。本申请实现了区块链中节点快速达成共识,提升了共识效率。
技术领域
本申请涉及区块链技术领域,特别是涉及一种区块链节点共识的方法和装置。
背景技术
区块链是信息技术领域一项新的创造性技术发明,其通过分布式共识协议、密码学和P2P(Peer-to-Peer,点对点)等技术相结合,构建了一种新的网络基础设施,实现了去中心化的可信交易。
目前,通常采用的区块链共识算法有多种,包括工作量证明、权益证明、拜占庭算法、可验证随机方程,以及组合上述几种共识算法的一些混合共识算法,或者多层架构的共识算法。
但是,这些共识算法都遇到了共识效率的问题,比如工作量证明算法需要耗费大量的算力,拜占庭算法由于需要多节点之间多轮次的信息交换,随着网络节点的增加(大于21个节点),网络带宽迅速成为系统瓶颈。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。
根据本申请的一个方面,提供了一种区块链节点共识的方法,包括:
预先设置区块链的幸运值范围;
种子节点根据幸运值算法计算出符合所述幸运值范围的幸运值,创建创世区块,然后在区块链中广播该区块;
所述区块链中的任一当前节点接收到上一个出块节点广播的一个区块时,根据所述区块的信息计算出幸运值并进行验证,如果计算出的所述幸运值与所述上一个出块节点的幸运值相同,且符合所述幸运值范围,则所述当前节点插入收到的所述区块;
所述当前节点完成区块插入后,判断当前的区块高度是否有更新,如果是,则启动第一定时器计时,在所述第一定时器超时且未收到其它节点广播的区块时,根据所述幸运值算法计算出当前幸运值,如果所述当前幸运值符合所述幸运值范围,则作为当前的出块节点生成新区块,在所述区块链中广播所述新区块;
其中,所述区块链中每一次幸运值的计算或验证均在TEE(Trusted ExecutionEnvironment,可信执行环境)中执行。
可选地,所述方法还包括:
如果所述当前节点计算出的所述当前幸运值不符合所述幸运值范围,则确定所述当前节点不是当前的出块节点,判断所述当前节点是否为上一个出块节点,如果是,则启动第二定时器计时,在所述第二定时器超时前,如果收到其它节点广播的区块,则执行区块插入流程,如果所述第二定时器超时且未收到区块,则执行区块生成流程。
可选地,所述方法还包括:
如果所述当前节点收到第一节点广播的第一区块且完成插入后,在所述第一定时器超时前又收到第二节点广播的第二区块时,如果所述第二区块验证通过符合插入标准且与所述第一区块高度相同,则插入所述第二区块,并且比较所述第一区块的幸运值和所述第二区块的幸运值,将幸运值小的区块作为父区块,将幸运值大的区块作为叔区块。
可选地,所述如果所述第二定时器超时且未收到区块,则执行区块生成流程,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于续科天下(北京)科技有限公司,未经续科天下(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010136108.9/2.html,转载请声明来源钻瓜专利网。