三分钟了解,比特币共识机制:PoW、PoS和DPoS

三分钟了解,比特币共识机制:PoW、PoS和DPoS

比特币的首个共识问题,就是谁打包出块问题,这是一个刺激的事情,毕竟谁出块谁得到币基(Coinbase)奖励。

讲这个问题之前,我们看一个熟悉的故事:

古时楚国有一大户人家,祭完祖后,将一壶酒赏给帮忙办事的人喝。但办事人多,酒如果大家都喝是不够的,若一人喝则痛快。

到底怎么分呢?哪谁来喝?总不能谁长得帅来喝吧!

有人建议:大家在地上画一条蛇,来决定这酒归谁,大家同意。


1 PoW(Proof of Work,工作量证明)

 有人提出疑问,先画完的喝酒?如果画得不像,比如多画个脚,怎么算

答:至少8分像蛇,多花脚,不是蛇的特征,这画无效。

又有人提出疑问:如果没有一个人画得像,怎么算?

答:大家作公证,画的都不像,擦了重新画,直到有一个人画的像为止。

比特币系统中打包区块,竞争的不是画蛇,而是竞争计算一个满足条件的数据hash值。

看PoW,矿机们竞争着计算一个hash值,使得这个hash值小于某个目标值(形象表达就是hash值前面几个0),谁先计算出,则谁出区块和得到币基奖励——喝酒。

而这里计算hash的原数据是“Merkle 根 + 时间戳 + 前继区块hash + 版本 + 随机数”。

逻辑图解析:

如果结果不满足目标值,则不断调整随机数,继续计算,直到自己(或者其他矿机)计算出满足条件的结果为止,便可出块成功。

PoW算是非常公平的竞争,谁都可以参与,谁计算更快、算力更强、脑子更好使,谁就“喝酒”。

缺点就是,成千上万的矿机们在做这样一个蛮力计算来争夺记账权,而只有一个矿机“喝酒”,是个巨量电力资源的浪费。

“画蛇添足”寓言最早出自《战国策·齐策二》,可见,PoW思想是出自我国古人的智慧(yy一下,别认真😂~)。

2 PoS(Proof of Stake,权益证明)

有人提出,前面的画蛇规则不合理,擦了画,画了擦,何时是个头?太费劲。而且如果有人不胜酒量,喝完了酒驾怎么办?

(古代怎么有酒驾?嗯~喝酒不骑马,骑马不喝酒,将就一下~)

很快又有了新的方案:爱喝酒的人来画蛇算得分,乘以每人的“酒龄”,不低于某个分数的最早完成者胜。不够分数的,也不用擦了重复画了,等明年再来比赛就可。

PoS在2013年被提出并首次应用在PeerCoin系统中,目的是解决像PoW那样的资源浪费问题。

PeerCoin定义的权益除了与代币数量有关,引入了币龄(Coin Age),比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000。

持有的代币数量越多,时间越长,币龄越大。每个节点在每一轮共识中只需要计算一次Hash,如果这个值除以币龄小于目标值,则出块成功。

如果出PoS区块,矿机的币龄就会被清空为0重算。

逻辑图解析:

可以看到,当矿机拥有的权益越多,计算出满足Hash目标值的概率越大,获得记账权的机会越多。

3 DPoS(Delegated Proof of Stake,委托股权证明)

很快又有人抱怨,酒龄越高越容易得到喝酒机会,这肯定不公平吧。

另外还有个问题,由于要画蛇的人太多,大家都在地上画蛇,搞得乌烟瘴气的也不好。

很快又讨论出新方法:爱喝酒的人中,投票选几个画工厉害的人来做代表,他们轮流来画蛇。

注:前面的画蛇比作算hash,DPoS 是不需要计算那个讨厌的hash的,所以“画蛇”概念和前面两个稍有不同——仅仅代表出块了。

DPoS是由PoS演化而来的。持币用户通过抵押代币获得选票,以投票选出一定数量的节点作为出区块生产者,由他们代表持币用户履行产生区块的义务。

逻辑图解析:

DPoS相似公司董事会制度,让持币用户将生产区块的工作委托给专业人士去完成,也能享受出区块获得的奖励。

以EOS为代表是21个节点。在每一轮共识中,轮流选出一个出块节点产生区块,并广播给其他的出块节点进行验证。

若节点在规定时间内无完成出块,或产生无效区块,会被取消资格,取而代之的是重新投票选取新的出块节点。

注意的一点是,在 DPoS 中记账节点不叫做矿工,而是改称为见证人(Witness)。

总结

好了,主流几种共识,差不多就酱紫了。

下面可以简单总结下他们的利弊:

1 PoW,优点:简单公平,安全性好;缺点:浪费大量电力资源,出块效率不高。

2 PoS,优点:不用拼算力,性能比PoW高;缺点:拥有币的人挖块概率大,容易出现马太效应。

3 DPoS,优点:性能和效率比PoS更高;缺点:21个节点又形成了一个“弱中心“,不是真正意义的去中心化。

(全文完)

(欢迎转载本站文章,但请注明作者和出处 云域 – Yuccn

发表回复

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