[深入区块链技术] 共识机制PoW,PoS,DPoS
发布于 3 年前 作者 liuzhen 884 次浏览 来自 7*24快讯

PoW

因为大量的文章都会详细介绍这POW和POS的共识机制,所以这里只是简单的把概念和优劣势做一下对比。 PoW 全称 Proof of Work,中文名是工作量证明,PoW 共识机制其实是一种设计思路,而不是一种具体的实现。PoW 机制其实早在 1997 年就被提出了,它早期多被应用在抵抗滥用软件服务的场景中,例如抵抗垃圾邮件(所以 PoW在邮件服务系统会有所涉及) Pow 通常是指在给定的约束下,求解一个特定难度的数学问题,谁解的速度快,谁就能获得记账权(出块)权利。这个求解过程往往会转换成计算问题,所以在比拼速度的情况下,也就变成了谁的计算方法更优,以及谁的设备性能更好。比特币本身的演化很好地诠释了这个问题,中本聪设计的思路本来是由 CPU 计算。随着市场发展,人们发现 GPU 也可以参与其中,而且效率可以达到十倍百倍,现在,这项工作基本以 ASIC 专业挖矿芯片为主。 * PoW 的优势和劣势 PoW 共识的内在优势在于可以稳定币价,因为在 PoW 币种下,矿工的纯收益来自 Coinbase 奖励减去设备和运营成本,成本会驱使矿工至少将币价维持在一个稳定水平,所以攻击者很难在短时间内获得大量算力来攻击主链。 PoW 共识的外在优势是目前它看起来依然是工业成熟度最高的区块共识算法,所以在用户信任度上、矿工基础上都有很好的受众。

PoW 共识最大的缺点是非常消耗计算资源,耗电耗能源,这一点也一直为人们所诟病。因为每次产生新的区块都会让相当一部分工作量证明白白浪费了,也就是将计算资源浪费了。

PoS: PoS 全称是 Proof of Stake,中文翻译为权益证明。 这是一种股权证明机制,它的基本概念是产生区块的难度应该与你在网络里所占的股权(所有权占比)成比例,目前有三个版本 PoS1.0、PoS2.0、PoS3.0。它实现的核心思路是:使用你所锁定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。

PoS 最早出现在点点币的创始人 Sunny King 的白皮书中,它的目的就是为了解决使用 PoW 挖矿出现大量资源浪费的问题。PoS 共识机制一经提出就引起了广泛关注,Sunny King 也基于 PoW 的基础框架实现了第一代 PoS 区块链:点点币。

这些实现有点点币、黑币、未来币、瑞迪币,它们都推动了 PoS 机制的发展,PoS 研究前沿还有以太坊的 Casper ,以及 Cardano 的 Ouroboros。

区块链共识机制的第一步就是随机筛选一个记账者,PoW 是通过计算能力来获得记账权,计算能力越强,获得记账权的概率越大。PoS 则将此处的计算能力更换为财产证明,就是节点所拥有的币龄越多,获得的记账的概率就越大。这有点像公司的股权结构,股权占比大的合伙人话语权越重。以上算是简述了 PoS 的概念,实际上,PoS 的发展经历了三个版本,第一个版本是以点点币为代表的 PoS1.0 版本,这个版本中使用的是币龄;第二个版本的代表是黑币(blackcoin),对应使用的是币数量,相当于是财产证明,后面黑币又升级到 PoS3.0,这个版本又回到了币龄。

* PoS  优缺点

PoS 似乎完美地解决了 PoW 挖矿资源浪费的问题,甚至还顺带解决了 51% 攻击的问题,这里可以顺便讲一下 51% 攻击是什么,它是指 PoW 矿工如果积累了超过 51% 的算力,则可以一定程度篡改账本。

这里顺便科普一下,什么是 51% 攻击呢,我们发现,矿工挖矿的成本不再是物理设备和电费,而是虚拟代币,它的边际成本几乎为零,本质上 PoS 让挖矿者和使用者合二为一了。这也意味着如果挖矿者发起 51% 攻击,就需要拥有全网 51% 的币或币龄,这几乎不可能办到,即使你成功地实施了 51% 攻击,那么也意味着作为全网最大的持币大户的你,损失也会最大。

PoS 的缺点 第一个问题就是币发行的问题。一开始的时候,只有创始区块上有币,意味着只有这一个节点可以挖矿,所以让币分散出去才能让整个网络壮大,那么如何分散出去又是另外一个难题了。所以早期 PoS 币种基本都采用了分阶段挖矿,有的叫混合挖矿,其实,我并不同意混合挖矿这个说法,混合就意味着同时。很多币种其实是分了阶段的,即第一阶段是 PoW 挖矿,到第二阶段才是 PoS 挖矿。随着 ERC20 类型的标准合约代币的出现,这个问题被解决了,不再需要第一阶段改成 PoW,也可以将代币分散出去。

第二个问题是由于币龄是与时间挂钩的,这也意味着用户可以无限囤积一定的币,等过了很久再一次性挖矿发起攻击;所以解决方案是:PoS 机制需要引入一个时间上限来控制时间因素的自然增长。

第三个问题是虽然引入了时间上下限,用户还是倾向于囤积代币,这会造成币流通的不充分;基于此,所以瑞迪币引入了币龄按时间衰减,构造了权益速度证明,鼓励用户流动代币,而不是倾向于囤积代币。

第四个问题是离线攻击,即使引入了时间上下限,时间仍然是自然流动的,也就是可以不需要求挖矿节点长时间在线。挖矿是可以离线的,这简直是灾难,所以任意一个 PoS 机制的实践形式都必须避免这个问题,因为网络节点数量的多少直接关系到区块链网络的健壮性。

当然这些问题都不是致命问题,还记得我们一开始提到了 PoS 经历了三个版本,而第二个版本 PoS 2.0 使用的不是币龄,而直接是币的数量。

这会造成完全不同的结果,上述第二、三、四问题都不存在了,似乎看起来直接使用币的数量会更好一些,但却出现了整个 PoS 机制的致命问题。这个问题叫做 Nothing at Stake,翻译过来叫做无成本利益问题。大体的意思在 PoS 系统中做任何事几乎没有成本,比如在 PoS 系统上挖矿几乎没有成本,这也就意味着分叉非常方便。

方便到什么程度呢,每个诚实矿工在产生孤块的时候都可以继续挖下去,反正也没什么成本,反正分叉链和主链都可以同时挖,也就是任何持币较少的用户都可以尝试分叉,并且把分叉链广播出去。这个时候如果其他诚实矿工看到了,第一反应也是没有成本,那么咱们也来挖吧,说不定什么时候就值钱了,意思就是说任何逐利的矿工并不会使这个系统变得更强壮稳定,而是更加的混乱。无成本利益问题无论以币龄还是币数量作为 PoS 的参数,都无法避免。

而 PoW 则没有这样的问题,我们回到 PoW 系统中来看,因为任何的分叉都会造成挖矿成本直接变成负收益,所以这会抵抗分叉的产生,矿工倾向于跟随“最长”的链。由于以太坊部分采用了 PoS 共识,它的名字叫做 Casper,它必须解决上述无成本利益问题攻击。所以 Casper 协议要求PoS 矿工需通过抵押保证金的方法对共识结果进行下注,具体实践结果我们还需要拭目以待。

DPoS DPoS 全称是 Delegated Proof of Stake,中文翻译过来是代理权益证明。简单来理解就是将 PoS 共识算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都可以参与记账,这个圈子可能是 21 个节点,也有可能是 101 个节点。这一点取决于设计,只有这个圈子中的节点才能获得记账权。这将极大地提高系统的吞吐量,因为更少的节点也就意味着网络和节点的可控。

区块链的长期投资价值,将会越来越低,因为目前的价格不断新高,才会有矿主进来挖矿,这样也会导致过于中心化。当越来越多的BTC被挖出,最后没有了,这样矿主无利益可图,就会面临BTC价值缩水。 目前挖矿面临资源的浪费等问题,如果出现更理想的数字货币,可能会替代数字货币的地位。PoS机制就是中替代方案,创建pos机制的人,就是为了颠覆BTC的数字代币

DPoS 算法是 BM 根据当时 PoW、PoS 的不足而改进的共识算法,它的目的就是为了提高性能,也就是交易确认时间短。

* DPoS的优缺点:

有关 DPoS 的一个争论:中心化问题。 我们以比特股社区为例,每个人都可以尝试成为 101 个见证人节点中的一个,他们可以在社区里拉票,为社区做事,或者干脆用钱买很多 bts。平时大家象征性地开个会,因为是轮流记账,各个节点之间竞争不大。但是不要忘记,区块链的发展非常依靠社区,这种方式势必会带来社区的中心化。虽然比特股中 101 个见证人负责记账,但总得有人指定发展方针,于是又设计出了 11 人理事会,这同样是通过选票选出来的。11 人理事会有很高的权力,他们相当于 11 个超级节点,通过举手表决,甚至可以决定修改代码,而这 11 人理事会是比特股系统里的中心,也是规则的制定者。

这是 DPoS 算法的优势,也是 DPoS 算法的劣势。

在 PoW 中,矿工、开发者、用户三权分立。而 DPoS 似乎将这三权合并到了见证人和理事会手中。在 EOS 中,BM 还制定了区块链宪法,要求所有记账节点必须遵守,所以也有人抨击这是具备了 BM 特色的去中心化。从某种角度来看,DPoS 是社区治理加上共识算法,不再是单纯的技术共识,这是与 PoW、PoS 算法最大的不同。DPoS 的基本假设是相信节点是好的,所以尽可能快速选择记账节点,而把问题发生后的修复过程推迟到投票中,可以说 DPoS 并不考虑拜占庭容错问题,把拜占庭容错推给了社区治理,而在社区治理上可归纳为一切皆投票。

而现实生活中,很多情况下,投票并不能解决问题,比如投票人都是有惰性的,集齐所有人投票成本是很高的,如果记账节点没有上限,所有节点的投票都投给自己,DPoS 系统就会退化成 PoS 系统。

DPoS 共识机制本身将“矿池”纳入系统内部,并把它们统称为见证节点,虽然不会出现中心化挖矿的风险,但是 DPoS 由于节点数不多,并且见证节点权力较大,可以认为 DPoS 本身就是带中心化思路的共识机制。

(本内容主要来源于极客时间 陈浩 老师的 深入浅出区块链。 做了部分精简,并指示抽取区块链技术一章节,如果感兴趣的可以通过链接订阅完整内容 https://time.geekbang.org/column/intro/76

欢迎使用OKX交易所
1 回复

这个知识点可以、看完了

回到顶部