blockchain底层技术之记账权竞争及奖励制度

1.概述

为防止可预期的记账节点被控制或攻击,导致错误记账行为,区块链技术采用竞争记账权的做法:

任何一个节点均可以参与记账,因而记账节点无法预期,也就不容易被控

竞争的过程就是看谁最先计算出满足条件的HASH值

每次计算必须以最后1个有效的区块为起点,必须消耗大量的计算机CPU,增加伪造记账数据的成本

计算的结果必须得到大部分节点的认可(共识算法),才会成为新的区块。实际算法中,如果该区块位于最长的区块链上,则为正式被认可的区块,也即大部分节点认可计算结果,并愿意在该结果下继续计算

这个过程被称为挖矿,或工作量证明(POW)。参与挖矿的节点称为矿工,协同挖矿的矿工联合体称为矿池

a ) 以前1区块为起点,计算满足条件的HASH值;

b ) 将计算的结果广播给其他节点;

c ) 其他节点验证计算结果无误时,认可该结果,并以该结果为起点重新进行计算;

d ) 单位时间内达到共识认可要求时,该区块成为正式认可的区块。

这个过程被称系统为鼓励挖矿的积极性,给予竞争成功的记账节点奖励

a ) 给予每个区块挖矿者直接的“现金”奖励。例如,比特币网络给予25个比特币,以太坊给予5个以太币;

b ) 以太坊:纳入该区块的交易的手续费,由发起节点和记账节点分成(发起75%,记账25%)。

2. 参考

比特币使用的SHA256算法,会有2^256种输出,如果我们进行2^256+1次输入,那么必然会产生一次碰撞;甚至从概率的角度看,进行2^130次输入就会有99%的可能发生一次碰撞。不过我们可以计算一下,假设一台计算机以每秒10000次的速度进行哈希运算,要经过10^27年才能完成2^128次哈希!这时要考虑一种情况:如果同时有两个矿工各自得到一个正确答案,并各自生成了一个区块广播出去会发生什么呢?这时候在区块链上同一个位置就有了两个区块,所谓的“分叉”就出现了。分叉是绝对不允许的,所以当矿工发现区块链分叉之后,会选择最长的一条继续计算,短的那条区块链会被丢弃。这里的长短,不是简单意义上的长短,而是工作量证明合计值最大的那个链。

image_thumb-4

发表评论

邮箱地址不会被公开。 必填项已用*标注