【技术实现步骤摘要】
区块链构建方法、系统、存储介质、计算机设备及应用
本专利技术属于区块链应用
,尤其涉及一种区块链构建方法、系统、存储介质、计算机设备及应用。
技术介绍
目前,区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式,目前已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注。虽然目前有各种各样的区块链,但是仍不能满足企业业务系统的需求。具体地表现在共识协议作为区块链数据库的核心,现有共识协议主要分为两类:一类是公有环境下的共识协议,如以比特币区块链为代表的POW和以以太坊为代表的POS,它们采用竞争挖抗的机制,实现了不可信公网环境下记账节点的选取。但其共识效率差,难以满足高实时性和高并发量数据处理业务。另一类是私有环境下的共识协议,如PBFT和Raft等,其核心思想是采用轮值或投票选举的机制来实现完全可信环境下记账节点的交替。相比于公网环境下的共识,它们虽然显著地提高了共识效率,但由于每一轮的记账节点会提前公开,其在非完全可信的环境下容易被攻击,导致出块失败。综上所述,现有区块链共识协议难以兼顾性能和安全,无法满足现实场景高效安全的需求。或在完全可信的节点间提供高效的共识。而在节点相对可信的企业内部网络中,缺乏一种兼顾性能与安全性的共识协议。已有区块链存在上述共识协议计算耗能大,共识效率低,鲁棒性和安全性差。通过上述分析,现有技术存在的问题及缺陷为:目前的区块链存在共识协议计算耗能大,共识效率低,鲁棒性和安全性差。解决以上问题及缺陷的难
【技术保护点】
1.一种区块链构建方法,其特征在于,所述区块链构建方法包括:/n区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;/n基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。/n
【技术特征摘要】
1.一种区块链构建方法,其特征在于,所述区块链构建方法包括:
区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;
基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。
2.如权利要求1所述的区块链构建方法,其特征在于,所述区块链构建方法区块链的初始配置具体包括以下步骤:
步骤一,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个参与共识的leader节点,参与区块链系统的共识;
步骤二,生成创世区块,即Block0;
步骤三,当有节点加入区块链网络时,首先在CA处注册身份信息并获取颁发的公钥证书,作为其参与区块链网络的准入凭证;同时还需为加入节点指定所属的域;
步骤四,当有节点退出时,CA同样需要吊销其公钥证书。
3.如权利要求2所述的区块链构建方法,其特征在于,所述步骤一中CA首先将网络划分为Q个域,并为每个域指定一个leader节点其编号从1到Q,按如下步骤进行:
(1)CA将网络中各个节点分别归属到不同的域;
(2)各个域选择一个主节点用于区块链网络中与其他主节点进行通信。
4.如权利要求2所述的区块链构建方法,其特征在于,所述步骤二中生成创世区块具体包括:
(1)前一区块链的哈希R_Hash,在Block0中该字段初始为空;
(2)当前区块的编号Num,在Block0中该字段初始为编号0;
(3)Block0中Tamp字段初始化,把当前时间戳s填入Tamp字段;
(4)本轮记账节点的公钥证书Cu_Cert,在Block0中该字段为CA的公钥证书;
(5)本轮记账节点的信息Pr_P,在Block0中该字段初始化为空;
(6)将CA的公钥证书Cert0以及参与区块链共识的初始Q个节点证书Cert_1…Cert_Q:存储到区块体;
(7)计算哈希根P_Hash,将Block0区块体的哈希根P_Hash填充为当前计算的哈希值;
(8)下一轮记账节点的秘密信息Nx_P*,在Block0中该字段填由CA生成的默认值即下一个打包节点的信息;
(9)本轮记账节点对整个区块信息的签名Sig,在Block0中该字段为CA的对整个区块信息的签名;
(10)生成初始区块Block0。
5.如权利要求1所述的区块链构建方法,其特征在于,所述基于可验证随机函数的Raft高效安全共识协议包括以下步骤:
步骤一,节点解密区块的Nx_P*字段,获取证明本轮打包节点的信息,判断自己是否是打包节点;
步骤二,随机选取下一轮的记账节点j,节点i生成的区块是Blockn;
步骤三,开始生成区块Blockn,节点i将生成的新区块Blockn广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链;
步骤四,其他节点对区块Blockn进行验证,验证通过之后每个主节点将验证通过的区块Blockn再分发给其管理域中的每个非参与共识的节点。
6.如权利要求5所述的区块链构建方法,其特征在于,所述步骤二中随机选取下一轮的记账节点j包括以下步骤:
(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广...
【专利技术属性】
技术研发人员:李兴华,李小强,王运维,任彦冰,胡中元,王航,张俊伟,郭晶晶,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。