[发明专利]区块链构建方法、系统、存储介质、计算机设备及应用有效
| 申请号: | 202010769437.7 | 申请日: | 2020-08-03 | 
| 公开(公告)号: | CN112118124B | 公开(公告)日: | 2022-05-03 | 
| 发明(设计)人: | 李兴华;李小强;王运维;任彦冰;胡中元;王航;张俊伟;郭晶晶 | 申请(专利权)人: | 西安电子科技大学 | 
| 主分类号: | H04L41/042 | 分类号: | H04L41/042;H04L41/0806;H04L41/0823;H04L41/28;H04L67/1095;H04L67/1097;H04L9/32;H04L9/40 | 
| 代理公司: | 西安长和专利代理有限公司 61227 | 代理人: | 黄伟洪 | 
| 地址: | 710071 陕西省*** | 国省代码: | 陕西;61 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 区块 构建 方法 系统 存储 介质 计算机 设备 应用 | ||
1.一种区块链构建方法,其特征在于,所述区块链构建方法包括:
区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;
基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点;具体包括:
步骤一,节点解密区块的Nx_P*字段,获取证明本轮打包节点的信息,判断自己是否是打包节点;
步骤二,随机选取下一轮的记账节点,节点i生成的区块是Blockn;
步骤三,开始生成区块Blockn,节点i将生成的新区块Blockn广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链;
步骤四,其他节点对区块Blockn进行验证,验证通过之后每个主节点将验证通过的区块Blockn再分发给其管理域中的每个非参与共识的节点;
所述步骤二中随机选取下一轮的记账节点包括以下步骤:
(1)执行秘钥生成函数Key_Gen:(Sk,Pk)=Key_Gen(r),对任意的随机输入、产生VRF私钥Sk、和私钥Sk对应的公钥Pk;
(2)VRF计算函数VRF_Hash:Y=VRF_Hash(Sk,M),对输入消息M,VRF证明者使用其私钥Sk计算VRF哈希作为输出的随机数Y;
(3)VRF证明函数VRF_Proof:P=VRF_Proof(Sk,M),对输入消息M,以及私钥Sk,证明者计算VRF证明P;
(4)对随机数Y进行哈希映射计算出下一个打包节点j’;
所述步骤三中生成区块Blockn,节点i将生成的新区块Blockn广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链,包括以下步骤:
(1)获取Blockn-1中Nx_P*字段中的Yn-1和Pn-1,Mn-1,Pkn-1的值,然后将Yn-1和Pn-1,Mn-1,Pkn-1的值进行合并,并将合并的值填入Blockn的Pr_P字段;
(2)将自己的公钥证书Cert_i填入Blockn区块头中的Cu_Cert字段中;
(3)将计算的Y,P,M,Pk用下一个打包节点的公钥加密之后填入Blockn区块头中的Nx_P*字段中;
(4)将交易信息写入区块体,计算当前哈希值P_Hash,并且填入区块Blockn中的P_Hash字段;
(5)计算签名消息Sig=Sign(SKi,H(P_Hash||Num||Tamp||Cu_Cert||Pr_P||R_Hash||Nx_P*)),其中Sign(.)表示签名算法,填入区块Blockn中的sig字段,P_Hash是对当前区块的哈希值,R_Hash是前一个区块的哈希值,Tamp指当前的时间戳,Num指当前的区块高度;
(6)生成区块Blockn,节点i将生成的新区块Blockn广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链;
所述步骤四其他节点对区块Blockn进行验证,每个主节点将验证通过的区块Blockn再分发给其管理域中的每个非参与共识的节点,包括以下步骤:
(1)收到Blockn的节点,首先验证前后的哈希链式关系,然后验证区块头中的签名字段Sig是否成立;
(2)验证通过之后,节点提取收到的区块Blockn中的Pr_P字段中的数值Y,P,M,Pk;
(3)节点运行VRF验证函数VRF_Verify:True/False=VRF_Verify(Pk,M,Y,P),验证者输入VRF证明者的公钥Pk,消息M,以及VRF输出的随机值Y和证明P进行验证,输出为False/True,如果证明P是根据M产生的、且由P可以推导出Y,则验证通过输出为True,否则验证失败、输出为False,并且验证Y能否映射到当前打包节点,如果能映射到,验证通过,否则验证通不过;
(4)验证通过之后,主节点将区块写入本地区块链中,并且每个主节点将验证通过的区块Blockn再分发给其管理域中的每个非参与共识的节点,向当前打包节点反馈一个接受信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010769437.7/1.html,转载请声明来源钻瓜专利网。





