Author

Topic: DPOS共识机制或许代表了未来——EOS运行原理简析(一) (Read 160 times)

newbie
Activity: 21
Merit: 0
full member
Activity: 280
Merit: 102
EOS现在感觉很难实现自己吹过的牛逼了
full member
Activity: 280
Merit: 100
其实我觉得这个币很明显,就是在割韭菜。
我觉得吧很多币在真正成长起来,投入太多钱,真的是很危险的,而且现在价格有这么高了,哪怕它再涨十倍又怎么样呢?而且这币真的有那么容易涨10倍的吗?
还不如老老实实去投那些ic o。
full member
Activity: 266
Merit: 100
楼主转载了一篇好文章,谢谢,继续加油哦
newbie
Activity: 53
Merit: 0
不明觉厉呀,不过DPOS共识算法发明人BM倒是一位非常牛逼的大神,这个我是赞同的。
newbie
Activity: 201
Merit: 0
好文章, 学习到了, 之前只知道DPoS这个名字, 不了解具体的算法过程. 这个文章真不错.
newbie
Activity: 10
Merit: 0
谢谢楼主分享 转载了一篇好文章
member
Activity: 62
Merit: 10
【本文为转载,光武原创,供大家共同学习】


POW算法让所有算力一起竞争猜随机数,第一个猜到的好运人士有资格生产区块,同时全网节点都是验证者。POW虽然安全,但效率偏低,比如比特币:10分钟只能记2000多笔账,原因是矿工把99.99%的精力都花在找随机数上,哪个矿工胆敢沉迷记账而不找随机数,他的下场就是一毛钱奖励都拿不到,白白燃烧电和电脑。

POS算法中,全网节点都是生产者,持有权益者(持币者)负责验证。比如未来的以太坊:没有矿工,只有验证者,验证正确获得奖励,验证错误没收押金。

POW与POS两种共识算法不仅能抗住一些恶意节点、达成正确共识,而且被实践证明可行。但,它们是否是最安全、最快速的共识算法呢?至少现在看来不是,因为有DPOS。

一、什么是DPOS?

Delegated Proof of Stake ——代理权益证明。这是一种基于投票选举的共识算法,有点像人民代表大会:

持有权益者(持币者)有资格选出生产者,如果生产者正确记录,那大家鼓掌;如果生产者不称职,那下次就不选它。
DPOS是否安全呢?至少比人民代表大会安全,因为算法要求系统做三件事:

第一,随机指定生产者出场顺序;
第二,不按顺序生产的区块无效;
第三,每过一个周期洗牌一次,打乱原有顺序;
于是,没有节点能像邻国领袖那样,垄断生产者或验证者的岗位。所以,谦虚地说是“安全”,嚣张点说是“牢不可破”,正常运行三年的Bitshare和一年多的Steemit已经说明了这一点。

DPOS下,生产者做的工作有点像比特币的矿池,不同的是,生产者不再花任何精力找随机数,只把全部精力投在生产正确的区块上。

找随机数的工作劳心费神,很慢,DPOS不找随机数,只验证交易,而验证工作又极其简单。所以,DPOS的出块速度犹如飞电过隙珠翻荷。

如果你只想记住DPOS的一个属性,那就是快。

货比三家一下吧:

基于POW的比特币每秒处理7笔交易;
基于POW和POS的以太坊每秒处理15笔交易;
基于DPOS的比特股(BTS)每秒能处理超10万的交易量。

而且,DPOS允许所有矿池每三秒钟轮换一次,并且其他人已被安排在后续进程中,于是,没有人可以在预设位置外生产区块。

这意味着,生产者之间没有争夺,也不会遗漏区块,每三秒会有一个区块,理论上来说,矿池能做同样的事情,只是比特币和以太坊待共识算法不允许这样做。

那DPOS具体是如何运作的呢?

二、DPOS的运行方式

下文大面积借鉴《DPOS共识算法——缺失的白皮书》内容,实在找不到更能清晰描述DPOS的文字,因为此文作者就是算法发明人:Dan Larimer,网名Byte Master,大家习惯称他BM。




图3 DPOS共识算法发明人:BM

BM他假设一个最简模型:有3个区块生产者:

A、B、C

另外,有两个朴素的前提:

1、最长链胜出
2、诚实节点总是追随有效更长链

基于此,BM开始解释DPOS如何运行,共有六种场景:

1、天下太平的正常情况:生产者按系统排序生产区块。


注意,千万别看反了。上图的意思是:从左边的A开始生产区块,B接在A后面产块,C接在B后面产块,然后轮回到A,以此类推。

这种顺位是系统安排的,生产者在系统调度轮次之外生产的区块都无效。

2、总有不良节点搞事情:少数人的小分叉。

由于生产者顺位由系统安排,所以少数人在出块速度上注定比多数人慢:恶意的少数节点产一个块时,正常的多数节点至少产两个。于是,诚实的2/3多数节点产的链永远比少数节点长。


少数人的鸡飞狗跳丝毫不会影响高铁向前奔腾。

3、断网:网络碎片化

断网会导致任何分叉上都没有绝对多数的生成者。此时,最长的链将倒向最大的那个少数群体。但当网络恢复时,较小的少数群体会切换到最长的那条链,以恢复并修正共识。


可能存在这样三个分叉:其中两个最长的分叉长度相同。在这种情况下,第3个(较小)分叉的块生产者重新加入网络时会打破平局。只要块生产者总数为奇数,不可能长时间保持平局。

另外,生产者的顺位会被系统“洗牌”,这使得出块顺序随机化,从而确保即使是生产者数目相同的两个分叉也会以不同的步长增长,最终导致一个分叉超过另一个。

续:DPOS共识机制或许代表了未来——EOS运行原理简析(二)见链接:
Jump to: