[发明专利]一种基于信誉证明的区块链共识方法有效
| 申请号: | 201810876700.5 | 申请日: | 2018-08-03 |
| 公开(公告)号: | CN109194482B | 公开(公告)日: | 2021-02-12 |
| 发明(设计)人: | 王晶;郑子彬 | 申请(专利权)人: | 中山大学 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/06;H04L29/06;H04L29/08;G06Q40/04 |
| 代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
| 地址: | 510275 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 信誉 证明 区块 共识 方法 | ||
1.一种基于信誉证明的区块链共识方法,其特征在于,包括如下步骤:
S10在串行挖矿阶段,矿工首先根据区块链网络的当前块信息及完整的验证信息生成初始化挖矿信息,根据初始化挖矿信息串行生成数列并进行求解,根据所得解生成一个未验证的块,将未验证的块发布到网络中验证其有效性;
S20在区块链网络中,每个事件的信誉值交易记录在每个区块中,实现信誉值的量化,根据量化的信誉值为矿工设置不同的挖矿难度;
所述S10中,所述根据初始化挖矿信息串行生成数列并进行求解的包括具体步骤如下:
S101矿工首先根据当前块信息及完整的验证信息,生成初始化挖矿信息:
msg=SigID(Pi-1||Ri-1||Vi-1)||i
其中,SigID为一种数字签名算法,ID用于指定签名私钥,i-1和i为当前块深度和下一块深度,Pi-1为当前块头的哈希值,Ri-1为当前块对应的交易默克尔树的根节点,Vi-1为当前块完整验证信息的哈希值;
S102矿工根据初始化挖矿信息串行生成数列{an},{bn}:
bj=bit(hash(msg||aj))
其中,函数bit以定长信息hash(msg||aj)为输入并输出一个随机比特位bj,hash为一哈希函数;
S103计算出一个有效的串行挖矿的解,根据所得解生成一个未验证的块并发布到网络中;
所述将未验证的块发布到网络中验证其有效性的具体步骤如下:
S104从未验证块集合S中选取所在分支区块积分总和最高的块B为当前块;
S105验证不等式hash(B.s)≤DID是否成立,其中B.s为对应块的串行挖矿的解,DID为挖矿难度,若不等式成立,进入步骤S106,否则,从S中删除B并回到步骤S104;
S106根据B.s及矿工ID提取字符串bstrID=Extr(B.s,ID),其中,函数Extr以B.s,ID为输入,输出一个与B.s等长的随机字符串;
S107对验证B.s的第j个比特位bj,若等式bj=bit(hash(msg||aj))成立则bj为有效位,否则为无效位,其中aj为B.s的前j-1位比特所组成的字符串,若对sj均为有效位,生成验证有效信息广播到网络中,进入下一个步骤;否则,生成验证无效信息广播到网络中,将B从S中删除并回到步骤S104,其中ebit为无效位信息使得bebit≠bit(hash(msg||aebit));bj
S108生成B.s的验证信息集合SV,集合SV对应如下字符串:
若接收到验证无效信息则将B从S中删除并回到S104;若接收到验证有信息则将添加到SV中;若ORbst为全1字符串,则验证成功进入求解阶段,以B为当前块进行挖矿;
所述S20具体步骤如下:
S201在矿工信誉系统中,每个矿工需要将其账号绑定其全局IP地址,初始化其信誉账户;每个信誉账户包含两个量:信誉值和货币值;其中,账户的初始信誉值为0,每个块的区块奖励只会累计到有效信誉账户的货币值中;
S202为矿工信誉系统中的挖矿事件定义信誉值增量,并将该类事件作为信誉值交易记录在每个区块中,实现矿工信誉值的量化;
S203根据量化的信誉值为矿工设置不同的等级的挖矿难度:设矿工p信誉值Cp服从正太分布N(μ,σ),挖矿难度Dp根据特定的分段函数计算;
S204定义区块Bi积分函数其中Cp为生成Bi的矿工p的信誉值,F为正太分布的概率累积函数,Li为Bi的串行挖矿的解的长度,LThr为系统指定阈值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810876700.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种医用内窥镜双向棘轮操作装置
- 下一篇:发动机齿轮室、发动机和车辆





