LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > Nervos CKB Consensus 和 Nakmoto Consensus

Nervos CKB Consensus 和 Nakmoto Consensus

2020-06-06 勇哥柒 来源:区块链网络

Nakmoto Consensus就是我们大家都熟知的比特币使用的中本聪共识,简称NC。

NC主要有四部分构成,分别是工作量证明、选择出块人、时间戳、激励机制

工作量证明

POW这种机制可以说是推动比特币共识的重要引擎,通过这种机制使得矿工在采矿想要赚取区块奖励时付出不可避免的电力和其他成本,为每个开采的区块发出的BTC添加了固有的价值。

这也就是为什么前几天的减半行情那么多人期待的根本原因,固定的成本就赋予了BTC一定的价值支撑。

选择出块人

通过随机选择出块人的方式,让所有人都可以参与竞争。这种随机竞争的过程会使共识产生在最长的链上,因为这条链的产生是多轮博弈的结果,即使网络受到攻击,只要攻击者没有超过全网50%的算力都不会破坏整个网络,保证了整个网络的完全性。

在此纠正一个误区,不是算力强就能保证先算出结果,只是提高了获得出块权的概率,整个出块权的产生还是一个随机的事件。有点类似于买彩票,算力的增加只是增加了你买彩票的张数。

时间戳

区块链是带有时间戳的数据块链,其中包含交易,每个块都哈希到前一个。这为区块链提供了不变性。通过时间戳就可以解决双花问题。UTXO模型中的数字签名方案提供了要花费的交易输出的可验证所有权但不能防止双花。什么是双花呢?其实就是所有者手里的货币进行多次花费。

前段时间央行的数字货币提到可以通过技术实现双离线支付,不知道使用了什么技术解决双离线状态下的双花问题。

激励机制

网络设置了2100万的发行上限,保证了比特币的稀缺性。于是矿工才会自发的去参与中本聪共识这个游戏中来,换句话说就是来挖矿。这样导致两个结果,首先,挖矿过程不需要有一个强大的第三方组织去发放货币激励,比特币本身是在挖矿过程中由每一个获得了出块权的矿工发行的,同时比特币有自己的内在价值,可以直接作为矿工的奖励,不需要依赖第三方这保证了比特币的纯粹的去中心化。第二,参与的矿工越多,网络算力越大,整个网络就会越安全,因为攻击者要凑够50%的算力,就需要花更多的钱。

可以看出NC通过以上的四大部分解决了很多问题,也经受住了时间的检验。

不过NC也不是完美的,经过多年的运行人们也发现了其中的一些问题。

Nervos CKB的开发者认为NC存在两大缺陷,第一,其交易吞吐量远远无法满足现实需求;第二,NC 容易遭受自私挖矿攻击,在这一类攻击中,攻击者能够采用非协议规定的行为获得更多的出块奖励。

他们提出了自己的解决方案Nervos CKB Consensus,Nervos CKB 的共识协议是 NC 的变体,在保留 NC 优点的同时,来提升其性能极限和抵抗自私挖矿攻击的能力。

为了解决NC的缺陷Nervos CKB Consensus做出了一下的一些调整。

?两步交易确认: 降低孤块率
?动态调整区块间隔和区块奖励: 更好的利用带宽

?难度调整考虑所有区块: 防止自私挖矿

两步交易确认

为了提高吞吐量,就要更大的区块和更快的出块速度。而在这个过程中就出现了一个新的问题,更大的区块导致了在区块广播是需要更多的传输时间,在这个过程中,其它的矿工就有更大的可能发现一个区块,导致这个区块成为孤块;更小的出块时间相当于降低了出块难度,让发现区块更容易,也容易导致孤块率的增加。当孤块率高到一定程度,不但不能让吞吐量继续增加,反而还会影响整个网络的安全。

CKB共识采用两步交易确认来缓解这个问题

NC交易确认分为1.交易提交2.交易确认

?区块头(header)中放置区块的元信息
?区块确认区(commitment zone)中是确认的交易
?提案区(proposal zone)中会放置交易id,用于n个高度后的区块的确认
?叔块头(uncle headers)和叔块提案区(uncles' proposal zones)会放置叔块的相关信

动态调整区块间隔和区块奖励

通过设定一个固定的孤块率,在下一个难度周期(Epoch)动态调整难度。

如果孤块率低于设定值,说明网络可以处理更多的交易,在下一个难度周期可以继续降低难度,这个时候出块时间将会降低,吞吐量会增加,区块奖励会相应减少。

反过来,如果孤块率高于设定值,说明网络处理不了这么多交易,在下一个难度周期应该提高难度,会使出块时间增加,吞吐量会下降,区块奖励也相应增加。

通过一个动态调整的过程可以更好的利用宽带。

难度调整考虑所有区块

在NC中自私挖矿有利可图,Nervos CKB Consensus在设计时为了证明自私挖矿无利可图,在估计网络算力时,会将所有区块(包括叔块)纳入到难度调节中,因此新的难度和孤块率是不相关的。

这样的设计使得攻击者不能使用自私挖矿的方式来使得网络降低难度,所以也不能使用同样的算力获得更多的收益。当无利可图时也就防止了自私挖矿。

参考文献

部分技术细节详见一下链接

Nervos CKB 共识协议白皮书

更好的中本聪共识—浅谈CKB共识

精评送币:评论并转发即为参与活动,被选为精评得100KEY,评论字数不限(理论上字数越多越好,如果水平较高一个字也有可能被选为精评)


奖励领取方式:每天晚上会以微文形式公布结果,获奖者在微文下留下MYKEY钱包地址即可。


—-

编译者/作者:勇哥柒

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...