[发明专利]基于关联环签名的拜占庭容错共识优化方法有效
申请号: | 201811581216.6 | 申请日: | 2018-12-24 |
公开(公告)号: | CN109685505B | 公开(公告)日: | 2020-09-22 |
发明(设计)人: | 廖丹;张良嵩;金海焱;张明 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;H04L29/08;H04L9/30 |
代理公司: | 成都正华专利代理事务所(普通合伙) 51229 | 代理人: | 何凡 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 关联 签名 拜占庭 容错 共识 优化 方法 | ||
1.基于关联环签名的拜占庭容错共识优化方法,其特征在于,包括:
S1、主域节点和子域节点接收来自于共识域中的主节点广播的Pre-Prepare消息;
S2、当Pre-Prepare消息中的序号和视图通过验证后,生成PREPARE消息并进行关联环签名,广播至主域中所有主域节点;
S3、主域节点接收PREPARE消息,根据环签名验证确定发送PREPARE消息的节点为PREPARE消息内公钥环中的成员后,对PREPARE消息进行关联性验证;
S4、统计PREPARE消息通过关联性验证的票数加权和M1,若票数加权和M1大于2F+1,则生成COMMIT消息并进行关联环签名,广播至所有节点;
S5、主域节点和子域节点接收COMMIT消息,根据环签名验证确定发送COMMIT消息的节点为主域节点时,对COMMIT消息进行关联性验证;
S6、统计COMMIT消息通过关联性验证的票数加权和M2,若票数加权和M2大于2fp+1时,则将COMMIT消息写入其数据库中;
其中,F为全网能容忍的恶意节点票数和;fp为主域能容忍的恶意节点票数和;
构建共识环境的具体实现过程为:根据社区的贡献程度,将全网节点分为四组A={a1,a2,…,an},B={b1,b2,…,bn},C={c1,c2,…,cn},D={d1,d2,…,dn},A组成员投票的权重qa=1,B组权重为qb=2,C组权重为qc=3,D组权重为qd=4,其中权重最高的D组为主域,其余几组为子域,主域中的节点为主域节点,子域中的节点为子域节点;时效参数ai、bi、ci和di有效时取值为1,无效时取值为0;
对PREPARE消息/COMMIT消息进行关联环签名的方法包括:
A1、构建加密hash函数和映射到椭圆曲线的hash函数:
H1:{0,1}*→Zq,H2:{0,1}*→G
其中,H1为加密hash函数;H2为映射到椭圆曲线的hash函数;Zq为一个0~q的循环群;G为椭圆曲线上的G点;
A2、根据映射到椭圆曲线的hash函数及节点的私钥、公钥环,计算节点的公钥镜像:
y'=xiH2(RT)
其中,y'为公钥镜像;xi为与第i个公钥对应的私钥;RT为T组成员的公钥组成的公钥环;
A3、在Zq中选取一个随机数α,计算第i+1个环签名中间参数ci+1:
ci+1=H1(RT,y',m,αG,αy')
其中,m为消息;
A4、在Zq中选取一个随机数sj,j=i+1,…,n,1,…,i-1,顺次选取j的值计算环签名中间参数cj+1:
cj+1=H1(RT,y',m,sjG+cjpkj,sjH2(RT)+cjy')
A5、重复步骤A4,直至j=i-1时,采用环签名中间参数ci计算验证参数:
si=α-xicimod q
其中,si为验证参数;q为Zq中最大的整数;mod为取模;
A6、采用验证参数si及执行步骤A4时选取的所有随机数sj生成环签名:
σRT(m)=(c1,s1,...,sn,y')
其中,σRT(m)为T组中节点对Pre-Prepare消息/PREPARE消息的环签名;
对PREPARE消息/COMMIT消息/view-change消息进行环签名验证的方法包括:
E1、对于i=1,2,…,n时,顺次选取i的值计算椭圆化参数zi'和镜像处理参数zi”:
zi'=siG+eipki,zi”=siH2(RT)+eiy'
其中,当i=1时,e1=c1,e为验证中间参数;
E2、根据椭圆化参数zi'和镜像处理参数zi”,计算验证中间参数:
ei+1=H1(RT,y',m,zi',zi”)
其中,i≠n,ei+1为第i+1个验证中间参数;
E3、重复步骤E1和E2,直至得到椭圆化参数zn'和镜像处理参数zn”;
E4、根据椭圆化参数zn'和镜像处理参数zn”,判断若不相同,则PREPARE消息/COMMIT消息/view-change消息环签名验证失败,否则环签名验证成功;
对PREPARE消息/COMMIT消息/view-change消息进行关联性验证进一步为:
PREPARE消息/COMMIT消息/view-change消息环签名验证后,判断此次收到的PREPARE消息/COMMIT消息/view-change消息中的消息m及公钥镜像y'是否与过往收到的相同;
若相同,则PREPARE消息/COMMIT消息/view-change消息关联性验证失败,否则通过环签名关联性验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811581216.6/1.html,转载请声明来源钻瓜专利网。