一种基于贡献值和信誉度的区块链共识机制制造技术

技术编号:32681362 阅读:14 留言:0更新日期:2022-03-17 11:39
本发明专利技术涉及一种基于贡献值和信誉度的区块链共识机制。本发明专利技术通过动态调整哈希计算的目标难度值,减少计算随机数的时间和电力;其次,引入贡献值、信誉度和奖惩机制,为每个节点赋予贡献值和信誉度,在规定时间内,计算出随机数的节点,均获得贡献值奖励,根据节点行为增加或者扣除信誉度;最后加入节点计算随机数时间,由贡献值、信誉度和计算时间三者计算权重得到最终值fValue,fValue最大的节点获得打包记账权。实验结果表明,PoCaC可以提升区块出块速度、减少算力浪费、平衡节点记账权竞争。平衡节点记账权竞争。平衡节点记账权竞争。

【技术实现步骤摘要】
一种基于贡献值和信誉度的区块链共识机制


[0001]本专利技术涉及区块链
,具体涉及一种基于贡献值和信誉度的区块链共识机制。

技术介绍

[0002]共识机制是区块链技术的重要组成部分之一,它决定了区块链的性质,是在不受信任的参与者之间建立信任的关键。到目前为止,已经发展出很多不同类型的区块链共识机制。其中较为经典的是工作量证明(Proof of Work,PoW)机制,通过PoW机制来决定节点的记账权。各个节点通过不断的哈希计算得出一个小于目标难度的随机数nonce值:节点先将区块头中的nonce值置为0,再将nonce值和区块头中的其他数据作为输入进行双重SHA256计算,若计算结果小于目标难度值则合格,否则将nonce值递增1继续计算,直到找到合适的nonce值或在发现其他节点已经找到,放弃此次区块竞争,等待成功节点的广播,随后验证nonce值的正确性以及区块中的所有交易是否有效,若验证通过,则认为该区块有效,将该区块作为区块链的最后一个区块进行新一轮的哈希计算。目标难度值通常是前面为连续若干个0的十六进制整数,连续的0的位数越多,计算的难度就越大。难度值是随网络变动的,目的是为了在不同的网络环境下,确保每10分钟能生成一个块,每出现2016个区块就会对难度目标值进行调整。
[0003]PoW机制中,节点通过算力竞争获取区块记账权,每个成功记账的节点都会获得一些记账奖励。如果有人想篡改区块链,他需要控制全球超过51%的算力,以确保它可以成为第一个生成最新区块并掌握最长链的节点,篡改带来的收益可能远大于成本。因此PoW可以有效地保证区块链的安全性。
[0004]因为各个节点在计算Nonce值的过程中需要消耗大量电力和算力,甚至节点与节点之间演变成“军备竞赛”,所有人都参与竞争,导致计算速度变快,然后前2016个区块总花费时间变小,计算难度变大,所需资源增大。但计算nonce值,并没有实际意义,白白在浪费资源。同样区块大小也是有限的,有可能存在某时段产生交易过多,无法全部记录,所以就会造成交易阻塞。以上属于PoW机制的缺陷。
[0005]为了解决这些问题,研究者们又提出了许多新的共识机制,其中权益证明(Proof of Stake,PoS)机制被证实具有可行性,然而PoS也存在容易分叉,富者愈富,贫者愈贫的问题。

技术实现思路

[0006]本专利技术的目的是:为了解决上述问题,本文提出一种结合贡献值和信誉度(Proof of Contribution and Credit,PoCaC)的区块链共识机制,体现了“按劳分配、多劳多得”的原则,解决各个节点获取记账打包权概率不均衡的问题。该区块链系统引入奖惩机制,激发节点参与区块链维护的积极性,降低系统中节点的恶意行为的概率,提高区块链系统的可靠性、健壮性和可用性。
[0007]为了解决上述问题,本专利技术所采用的技术方案是:
[0008]一种基于贡献值和信誉度的区块链共识机制,其特征在于,包括如下步骤:
[0009](1)首先调整哈希计算的难度,选择目标难度值为6,即找到的nonce拼接前一个区块的hash值再进行哈希计算得到的hash值的前6位为0,这样节点只需花费数十秒就能找到nonce;
[0010](2)使出块时间调整为1min左右,将节点计算出随机数的时间记为cTime,将出块速度保持在1min左右,以获得更快的交易确认;
[0011](3)设计一个等待时间记为wTime,设置为15s,第一个找到nonce的节点立即向全网广播,此时触发wTime,此后15s内计算出的节点,均有机会获得本轮记账权,15s之后还没有找到的节点则失去获得本次记账权的机会,停止哈希计算;
[0012](4)将难度调整机制改为每创建360个区块调整一次,即每6h左右调整一次难度,难度计算公式为:
[0013]newTarget=oldTarget*(21600/time(act))
[0014]其中:newTarget为新区块的目标难度值;oldTarget为当前区块的难度值;time(act)为产生前360个区块所花费的总时长;
[0015](5)引入贡献值contribution,为每个节点赋予一个贡献值,并将其作为记账权的一个重要因素,该共识机制规定贡献值最大的节点获得新区块的记账权的概率高,每次成功获得记账权的节点,其贡献值消耗一部分,每个节点初始贡献值为0,最大值为1000;
[0016](6)引入信誉度credit概念和奖惩制度,根据信誉度值反映节点是否存在恶意行为;
[0017](6.1)信誉度设置为150分制,最高为150,每个节点初始信誉度为100,信誉度增加的方法是监视其它节点是否有恶意行为或者自身做出积极行为;如果节点公开其它节点恶意行为并提供了有效的证据,那么它将获得信誉度奖励,而恶意节点将受到扣除信誉度的惩罚;
[0018](6.2)在奖惩机制中提供两种混合激励机制,激励机制是维持区块链系统稳定性的主要动力,第一个是诚实行为激励机制,每个诚实计算随机数的节点均获得信誉度0.1奖励,原因是所有诚实行为都对系统的维护做出了贡献,即使诚实节点没有获得新区块记账权;第二个是监督激励机制,它借助于各个节点之间相互监督,若节点A指控节点B存在非法行为,并提供有效证据,则节点A获得5信誉度奖励,而节点B信誉度扣除10,若节点信誉度低于70时,剔除该节点,取消其资格;通过两种激励机制增强区块链系统的安全性;
[0019](7)各个节点竞争记账权,具体包括以下步骤:
[0020](7.1)各个节点根据当前难度值进行哈希计算寻找随机数,每当第一个节点通过哈希计算找到了随机数nonce后,则就向全网广播,本节点的贡献值加10;
[0021](7.2)设置一个等待时间wTime=15S,如果有其他节点在等待时间的范围内也计算出了随机数,同样贡献值也加10,等待时间过后,没有找到随机数的节点停止计算,等待获得记账权的节点广播后,在进行下一轮计算;
[0022](7.3)在等待时间中算出随机数的节点进行权重计算比较,根据节点的贡献值contribution、信誉度credit和计算时间cTime计算出fValue值,权重计算公式为:
[0023]fValue=contribution/100+(credit

cTime)/10
[0024](7.4)当fValue值最高的节点获得本次记账权后,则其贡献值减少一半,本节点将自己打包好的区块广播至全网,宣布自己获得打包权,其他节点收到信息后进行验证,若验证成功,将收到的区块作为区块链最后一个区块,开始下一轮计算。
[0025]进一步的,针对区块链系统分叉问题,具体规则如下:
[0026](1)若节点的fValue值相同,根据各个节点的贡献值大小决定记账权,贡献值最大的节点获得本轮记账权,其它节点等待广播,以减少算力大和算力小的节点之间的差距;
[0027](本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于贡献值和信誉度的区块链共识机制,其特征在于,包括如下步骤:(1)首先调整哈希计算的难度,选择目标难度值为6,即找到的nonce拼接前一个区块的hash值再进行哈希计算得到的hash值的前6位为0,这样节点只需花费数十秒就能找到nonce;(2)使出块时间调整为1min左右,将节点计算出随机数的时间记为cTime,将出块速度保持在1min左右,以获得更快的交易确认;(3)设计一个等待时间记为wTime,设置为15s,第一个找到nonce的节点立即向全网广播,此时触发wTime,此后15s内计算出的节点,均有机会获得本轮记账权,15s之后还没有找到的节点则失去获得本次记账权的机会,停止哈希计算;(4)将难度调整机制改为每创建360个区块调整一次,即每6h左右调整一次难度,难度计算公式为:newTarget=oldTarget*(21600/time(act))其中:newTarget为新区块的目标难度值;oldTarget为当前区块的难度值;time(act)为产生前360个区块所花费的总时长;(5)引入贡献值contribution,为每个节点赋予一个贡献值,并将其作为记账权的一个重要因素,该共识机制规定贡献值最大的节点获得新区块的记账权的概率高,每次成功获得记账权的节点,其贡献值消耗一部分,每个节点初始贡献值为0,最大值为1000;(6)引入信誉度credit概念和奖惩制度,根据信誉度值反映节点是否存在恶意行为;(6.1)信誉度设置为150分制,最高为150,每个节点初始信誉度为100,信誉度增加的方法是监视其它节点是否有恶意行为或者自身做出积极行为;如果节点公开其它节点恶意行为并提供了有效的证据,那么它将获得信誉度奖励,而恶意节点将受到扣除信誉度的惩罚;(6.2)在奖惩机制中提供两种混合激励机制,激励机制是维持区块链系统稳定性的主要动力,第一个是诚实行为激励机制,每个诚实计算随机数的节点均获得信誉度0.1奖励,原因是所有诚实行为都对系统的维护做出了贡献,即使诚实节点没有获得新区块记账权;第二个是监督激励机制,它借助...

【专利技术属性】
技术研发人员:朱国胜潘登孙文和杨倩
申请(专利权)人:赛尔网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1