主页 > imtoken钱包下载2.0版本 > 区块链共识算法(一)POW、POS、DPOS

区块链共识算法(一)POW、POS、DPOS

imtoken钱包下载2.0版本 2023-02-13 05:42:10

区块链共识算法(一)POW、POS、DPOS 内容 1. PoW:工作量证明概述 1.1

比特币在区块生成过程中使用 PoW 机制。 满足要求的区块哈希由N个前导零组成,零的个数取决于网络的难度值。 难度调整在每个完整节点内独立且自动发生。 每2016个区块,所有节点都会根据统一的公式自动调整难度。 这个公式是根据最近2016个区块花费的时间和预期时间(预期时间为20160分钟或两周[20160/60/24=14天],通过比较根据生成率计算的总时间得到每10分钟一个区块),并根据实际时间与预期时间的比例进行相应调整(或变得更难或更容易)。也就是说,如果出块速度快于10分钟,则难度会增加,如果出块速度低于10分钟,难度会降低

网络的难度值可以用以下公式计算:

新难度 = 旧难度 *(过去 2016 个区块的持续时间 / 20160 分钟)

工作证明需要有一个目标值。 比特币工作量证明的目标值(Target)计算公式如下:

目标值=最大目标值/难度值

其中最大目标值是一个常数值:

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

目标值的大小与难度值成反比。比特币工作量证明的实现是矿工计算的区块哈希值必须小于目标值

PoW

哈希函数生成的哈希值是随机的,对原始数据稍作改动,就可以使哈希值与以前完全不同。 为了得到一个合法的区块,我们可以在该区块中加入一个冗余的块 剩下的整型nonce,通过不断尝试不同的nonce来找到一个合法的块(比如从1开始,不断累积尝试)。 当一个节点提供了一个合理的 Block Hash 值时,就意味着该节点确实经过了很多次计算尝试。 当然,不能得到计算次数的绝对值,因为找到一个合理的hash是一个概率事件。 当一个节点拥有全网n%的算力时,该节点有n/100的概率找到Block Hash。

1.2 PoW优缺点

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

它的优点是:

1)算法简单,易于实现;

2)节点无需交换额外信息即可达成共识;

3)破坏系统需要付出巨大的代价;

它的缺点也很明显:

1)浪费能源会消耗大量电能;

2)难以缩短区块的确认时间;

3)新的区块链必须找到不同的哈希算法,否则将面临比特币的算力攻击;

4)容易分叉,需要等待多次确认;

5)永远没有最终性,需要检查点机制来补偿最终性

1.3 应用平台

基于POW算法的优点:安全、完全去中心化。 主流数字货币采用该方案; 如Dash、Litecoin、Ethereum Classic、Bitcoin等。但其效率低下,平均每秒只能处理5到7笔交易。

2. PoS:权益证明概述 2.1

在 PoW 中寻找一个合法的区块需要大量的计算,会耗费大量的电费和时间。 为了加快出块速度,PoS诞生了。

PoS:权益证明,类似于财产存放在银行,这种模式会根据你持有数字货币的数量和时间分配相应的利息给你。 简单来说,它是一个根据你持有货币的数量和时间给你利息的系统。 在权益证明PoS模式中,有一个词叫做币龄,每个币每天产生1个币龄。 比如你持有了300个币,总共持有30天,那么此时你的币龄是9000,这时候如果你发现一个PoS区块,你的币龄就会被清0。每当你清空365个币龄时,你将从区块中获得0.05个币的利息(假设利息可以理解为5%的年利率),那么在这种情况下,利息=9000*5%/365= 1.23 coins Currency,这个很有意思,持有货币就有兴趣。

F(时间戳) < 目标 * 余额

balance代表账户余额,Timestamp是时间戳。 一般Timestamp是有时间范围限制的,比如一小时,即一个节点最多只能尝试7200次。

与 POW 相比,公式左侧的搜索空间由 Nonce 变为 Timestamp。 Nonce的取值范围是无限的,而Timestamp是极其有限的。 合格区块的出块时间必须在前一个出块时间的指定范围内。 太早或太超前的区块将不会被其他节点接受。 公式右侧的目标值引入乘数平衡。 可以看出,余额越大比特币合约收益计算公式,整体目标值(Target * Balance)越大,越容易找到区块。 由于 Timestamp 有限,POS 出块成功率主要与 Balance 有关。

PoS的概念很好——PoS币的安全直接关系到用户,不需要矿工作为中介。 POS简单的说就是你每次发布一条消息,你不需要证明你付出了什么代价,但是你要证明你有一定的钱。 而有钱就意味着,如果你作弊,危及系统的安全,你的钱就会贬值,变相让你付出代价。这个东西更好的地方是,如果你使用 PoS,你甚至不需要挖矿奖励,因为PoS 实际上不会让你付出任何代价

2.2 PoS 的优缺点

PoS即Proof of Equity,将PoW中的算力转化为系统权益。 权益越大,成为下一个记账人的概率就越大。 这种机制的优点是不像 PoW 那样耗电,提高了处理效率; 基于 POS 的以太坊每秒可以处理大约 30 笔交易。

但是也有很多缺点:

1)没有专业化,有权益的参与者可能不想参与记账;

2)容易分叉,需要等待多次确认;

3)永远没有最终性,需要checkpoint机制来弥补最终性;

2.3 应用平台

Stellar Lumens、Dogecoin、Peercoin、Cloud Storage Coin等,ETH

2.4 PoS 和 PoW

POW是社会主义按劳分配,多劳多得

POS是指资本主义按钱分配钱来赚钱

3. DPoS:委托权益证明概述 3.1

DPoS:Delegated Proof of Stake,委托权益证明

BitShares 的 DPOS 机制,BitShares 依靠使用信誉系统和无摩擦的实时投票机制来创建一个有限的信任组。 群内的参与成员有权创建区块,将其加入区块链,并禁止不受信任的参与者加入。 这些受信任的参与者决定通过随机分配来创建区块,每一轮都会发生变化。 中文名称是共享授权凭证机制(又称受托人机制)。 人们投票产生101个代表,我们可以理解为101个超级节点或者矿池,这101个超级节点的权利是完全平等的。 从某种角度看比特币合约收益计算公式,DPOS有点像议会制或人民代表大会制。 如果代表未能履行职责(轮到他们时未能产生区块),他们将被除名,网络会选出一个新的超级节点来取代他们。 DPOS的出现主要是由于矿机的产生。 大量的计算能力被不了解或不关心比特币的人使用。 类似于演唱会黄牛,囤积大量门票,根本不关心演唱会的内容。

3.2 优缺点

在 PoS 的基础上,DPoS 将簿记员的角色专业化。 首先通过权益选择记账人,然后由记账人轮流记账。 这种方法仍然没有解决最终性问题。

DPOS已经投入实际应用,成为比特股的核心共识算法。

参考:

[1]

[2]

[3]

[4]

[5]