[发明专利]一种区块链共识方法、装置及电子设备有效
申请号: | 201810251491.5 | 申请日: | 2018-03-26 |
公开(公告)号: | CN108521328B | 公开(公告)日: | 2020-08-28 |
发明(设计)人: | 谢晗剑;马宇峰 | 申请(专利权)人: | 杭州秘猿科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L12/801 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 律涛 |
地址: | 310013 浙江省杭州市西*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 共识 方法 装置 电子设备 | ||
1.一种区块链共识方法,应用在包含一个第一区块链节点和多个第二区块链节点的区块链网络中,所述第一区块链节点限定为当前区块链网络的树结构的根节点,所述多个第二区块链节点分别为所述树结构的子节点,所述树结构的深度为D,所述D为大于2的正整数;所述方法包括:
第一区块链节点向所述多个第二区块链节点发送出块请求;
所述多个第二区块链节点中每个第二区块链节点根据自身的子节点对所述出块请求的子联合签名,确定自身对所述出块请求的联合签名;
所述第一区块链节点根据接收到的节点距离最近的第二区块链节点的联合签名,确定是否执行出块操作。
2.如权利要求1所述的方法,第一区块链节点向所述多个第二区块链节点发送出块请求,包括:
所述第一区块链节点在区块链高度为H处定义一个待上链的区块;
按照预设规则向多个第二区块链节点广播针对所述区块生成的出块请求。
3.如权利要求2所述的方法,按照预设规则向多个第二区块链节点广播针对所述区块生成的出块请求,包括:
按照树结构中自根节点至子节点的顺序,以层级递传的方式依次向多个第二区块链节点广播针对区块生成的出块请求。
4.如权利要求2所述的方法,所述出块请求中至少携带有所述第一区块链节点对所述区块的签名;
所述多个第二区块链节点中每个第二区块链节点根据自身的子节点对所述出块请求的子联合签名,确定自身对所述出块请求的联合签名,包括:
所述第二区块链节点根据所述第一区块链节点对所述区块的签名,确定自身对所述区块的第一签名;
所述第二区块链节点确定自身的子节点对所述区块的子联合签名;
所述第二区块链节点根据所述第一签名以及接收到的子联合签名,确定自身对所述区块的联合签名。
5.如权利要求4所述的方法,所述第二区块链节点根据所述第一区块链节点对所述区块的签名,确定自身对所述区块的第一签名,包括:
对所述第一区块链节点对所述区块的签名进行校验;
若校验结果有效,则采用哈希函数计算自身对所述区块的第一签名;
若校验结果无效,则确定自身对所述区块的签名为预设数值。
6.如权利要求4所述的方法,所述第二区块链节点确定自身的子节点对所述区块的子联合签名,包括:
接收节点距离最近的子节点发送的主子联合签名以及至少两个其它深度的子节点的次子联合签名;
将所述主子联合签名以及所述至少两个次子联合签名分别更新至相应的节点字段;
确定所述节点字段中的所有签名为子联合签名。
7.如权利要求4-6任一项所述的方法,所述第二区块链节点根据所述第一签名以及接收到的子联合签名,确定自身对所述区块的联合签名,包括:
将接收到的子联合签名中每个子节点对应的子联合签名进行按位或运算,得到和值;
将所述和值与所述第一签名相乘得到第一部分联合签名;
将所述子联合签名作为第二部分联合签名与所述第一部分联合签名组合确定为联合签名。
8.如权利要求7所述的方法,所述第一区块链节点根据接收到的节点距离最近的第二区块链节点的联合签名,确定是否执行出块操作,包括:
确定接收到的联合签名的第二部分联合签名中预设数值的个数与所有第二区块链节点个数的比值;
若该比值满足共识策略,则对所述区块执行出块操作;
若该比值不满足共识策略,则拒绝对所述区块执行出块操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州秘猿科技有限公司,未经杭州秘猿科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810251491.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种断电存储型SIMON加密电路
- 下一篇:雾系统中的动态安全信道建立方法