区块链共识算法(1)POW,POS,DPOS

区块链共识算法(1)POW,POS,DPOS

目录

1.PoW:Proof of Work

1.1概述

比特币在Block的生成过程中使用了PoW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。难度的调整是在每个完整节点中独立自动发生的。每2016个区块,所有节点都会按统一的公式自动调整难度,这个公式是由最新2016个区块的花费时长与期望时长(期望时长为20160分钟即两周[20160/60/24=14day],是按每10分钟一个区块的产生速率计算出的总时长)比较得出的,根据实际时长与期望时长的比值,进行相应调整(或变难或变易)。也就是说,如果区块产生的速率比10分钟快则增加难度,比10分钟慢则降低难度

网络的难度值可以用下面的公式计算:
新难度值 = 旧难度值 * ( 过去2016个区块花费时长 / 20160 分钟 )
工作量证明需要有一个目标值。比特币工作量证明的目标值(Target)的计算公式如下:
目标值 = 最大目标值 / 难度值
其中最大目标值为一个恒定值:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
目标值的大小与难度值成反比。比特币工作量证明的达成就是矿工计算出来的区块哈希值必须小于目标值

PoW
哈希函数产生的 hash 值是随机的, 而且对原始数据一个很小的改动就能使得 hash 值和之前完全不一样.,为了能得到一个合法的区块, 我们可以往区块里添加一个冗余的整数 nonce, 通过不断地尝试不同的 nonce 来找到合法的区块 (例如可以从 1 开始不断地累加尝试)。当某个节点提供出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件。当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash.

1.2PoW优缺点

PoW即工作量证明,这是一种非常巧妙的方法。

它的优点是:
1)算法简单,容易实现;
2)节点间无需交换额外的信息即可达成共识;
3)破坏系统需要投入极大的成本;


它的缺点也非常明显:
1)浪费能源,会耗费大量电力;
2)区块的确认时间难以缩短;
3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4)容易产生分叉,需要等待多个确认;
5)永远没有最终性,需要检查点机制来弥补最终性

1.3应用平台

基于POW算法的优点:安全, 完全的去中心化。 主流的数字币都采用了这种方案; 如达世币,莱特币,以太经典,比特币等。但是其效率低,平均每秒只能处理 5 到 7 个交易。


2.PoS:Proof of Stake

2.1概述

在 PoW中找到一个合法的区块需要进行大量的计算, 会花费大量的电力和时间。为了加快生成区块的速度, 于是诞生了PoS。
PoS:股权证明,类似于财产储存在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。 简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明PoS模式下,有一个名词叫币龄,每个币每天产生1币龄,比如你持有300个币,总共持有了30天,那么,此时你的币龄就为9000,这个时候,如果你发现了一个PoS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(假定利息可理解为年利率5%),那么在这个案例中,利息 = 9000 * 5% / 365 = 1.23个币,这下就很有意思了,持币有利息。

F(Timestamp) < Target * Balance
balance 表示账户余额, Timestamp是一个时间戳, 一般对 Timestamp会有一个时间范围的限制, 例如一个小时, 也就是一个节点最多只能尝试 7200 次。
与POW相比,式子左边的搜索空间由Nonce变为Timestamp,Nonce值域是无限的,而Timestamp极其有限,一个合格区块的区块时间必须在前一个区块时间的规定范围之内,时间太早或者太超前的区块都不会被其他节点接纳。式子右边的目标值引入一个乘积因子余额,可见余额越大,整体目标值(Target * Balance)越大,越容易找到一个区块。因为Timestamp有限,POS铸造区块成功率主要与Balance有关。
PoS的设想是非常好的——采用PoS的货币的安全性直接与使用者相关,省去了矿工这个媒介。POS简单说就是,每当发表一条消息的时候,不用证明你付出了什么代价,而要证明你拥有一定数量的钱。而拥有钱代表着,如果你作弊损害了这个系统的安全性,你的钱会贬值,这变相地让你付出了代价。这东西更好的一点是,如果采用PoS,实际上连挖矿奖励都不需要,因为PoS实际上不需要付出任何代价

2.2PoS优缺点

PoS即权益证明,它将PoW中的算力改为系统权益,拥有权益越大则成为下一个记账人的概率越大。这种机制的优点是不像PoW那么费电,提高了处理效率; 基于 POS 的 Ethereum 每秒大概能处理 30 笔交易左右。
但是也有不少缺点:
1)没有专业化,拥有权益的参与者未必希望参与记账;
2)容易产生分叉,需要等待多个确认;
3)永远没有最终性,需要检查点机制来弥补最终性;


2.3应用平台

恒星币,狗狗币,点点币,云储币等,ETH

2.4 PoS与PoW

POW 就是社会主义 按劳分配 多劳多得
POS 就是资本主义 按钱分配 钱生钱

3.DPoS:Delegated Proof of Stake

3.1概述

DPoS:Delegated Proof of Stake,委任权益证明
比特股的DPOS机制,比特股依靠使用信誉系统以及无摩擦、实时投票的机制,来创造出一个有限信任的团体。团体中的参与成员有权利创造区块,将其加入区块链并禁止非受信的参与方加入其中。这些受信任的参与方通过随机分配的方式决定创造区块,并且每一轮还会被改变中文名叫做股份授权证明机制(又称受托人机制),它的原理是让每一个持有比特股的人进行投票,由此产生101位代表 , 我们可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权利是完全相等的。从某种角度来看,DPOS有点像是议会制度或人民代表大会制度。如果代表不能履行他们的职责(当轮到他们时,没能生成区块),他们会被除名,网络会选出新的超级节点来取代他们。DPOS的出现最主要还是因为矿机的产生,大量的算力在不了解也不关心比特币的人身上,类似演唱会的黄牛,大量囤票而丝毫不关心演唱会的内容。

3.2 优缺点

DPoS在PoS的基础上,将记账人的角色专业化,先通过权益来选出记账人,然后记账人之间再轮流记账。这种方式依然没有解决最终性问题。
DPOS已经投入实际使用,成为比特股的核心共识算法。


参考文献:
[1] https://zhuanlan.zhihu.com/p/24486576
[2] https://blog.csdn.net/lsttoy/article/details/61624287
[3] https://www.jianshu.com/p/fb5edf031afd
[4] https://blog.csdn.net/erice_s/article/details/79768257
[5] http://www.8btc.com/onchain-paper-antshares

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Erice_s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值