# ETH专题第二章——PoS和PoW是什么？

By [Mr A](https://paragraph.com/@mr-a) · 2022-09-19

---

在区块链的学习与交流中，\*\*“共识算法”\*\*是一个很频繁被提及的词汇，正是因为“共识算法”的存在，区块链才能够正常运行。

上周我们提到，以太坊2.0的关键，就是从Pow到Pos的转型。这其实就是“共识算法”的变化。当然还有种说法，叫做“渡劫”。

常见的“共识算法”有四种，**Pow（工作量证明），Pos（权益证明），DPow（延时工作量证明），DPos（委托工作量证明）**。不同的“共识算法”其实就是不同的游戏玩法。

在区块链世界中，“共识”一般都是通过特定的数学算法实现的。这次ETH2.0，核心讨论的就是Pow和Pos，所以这期给大家讲讲Pow和Pos，至于DPpow和Dpos我们有机会再谈。再此说一下，很多内容是我找很多资料，然后总结做个归纳，其中有些东西我也加了我的一些了解，如果大家觉得不错，可以关注一波，或者我们可以一起讨论讨论。

什么是共识？

简单理解就是大家都达成一致的意思。在现实生活中，有很多需要达成共识的场景。比方一个班级选班长，就需要大家一起投票。而在区块链系统中，每个节点都必须要做的事情，就是要让自己的账本跟其他节点的账本保持一致。如果是在传统的软件结构中，这根本就不是问题，因为有一个中心服务器的存在，也就是有一个老大，其他的小弟听老大的话就行了。在现实生活中，很多事情人们也都按照这种思路来，最典型的就是国家制定法律，大家按照法律的规则来。

但是区块链不一样，它是**分布式的对等的网络结构**，在这个结构中，没有哪个节点是老大，一切都要商量着来。所以在区块链系统中，如何让每个节点通过一个相同的规则，让各自的数据保持一致，这是一个很核心的问题。这个问题的解决方案，就是制定一套“共识算法”。

“共识算法”是一个机制，一个规则，所以也叫\*\*“共识机制”\*\*。每个节点都要按照这个规则去确认各自的数据。我在很长一段时间内感觉自己懂了，但是后来我总是觉得有些问题，再不谈里面的技术，我们从现实中举个例子。

假设一群人在开会，这群人没有一个人是老大，甚至连对方的身份都不知道，大家各抒己见，发表自己对某一件事的意见，那么最后如何统一出一个决定出来呢？就是大家轮流上台，发表自己的意见，其他人投票表决，最后谁的支持者多，谁的最终意见就被采纳，这种思路就是现实生活中的“共识”

当然在实际情况下，如果人数不多，或者人数是确定的，还是比较好处理，但是人数很多，而且数量也不固定，那么就很难通过这种方式投票决定了，因为效率实在太低了，我们需要机制来筛选出最具有代表性的人，在区块链中，就是要筛选出最具代表性的节点，这就需要设计出一组条件，这个条件就是我们谈的“共识”算法。

先谈谈以太坊没有合并前的“共识算法”，即:\*\*Pow，全称，Proof of Work。中文名称，工作量证明。\*\*作为最安全的算法，在2019年以来，得到广泛地运用，目前依旧是最广泛的“共识算法”。但是它需要一定的成长期，速度慢，能耗巨大，对环境不友好，这也是ETH升级的重要原因。

Pow是区块链第一个“共识算法”，属于“竞争共识”，也是我们电脑价格溢水的关键。它由中本聪设计，用于比特币区块链，简单理解就是，**一份用来确认你做过一定量工作的证明。**

检测工作的整个过程，通常极为低效的，而通过对工作的结果进行验证来证明了完成的工作量，则是一种非常高效的方式。比如现实生活的毕业证，驾驶证，包括结婚证等等，也是通过检验结果的方式，取得相应的证明。他要求节点进行一定量的运算，这就意味着需要消耗一定量的计算时间。

在Pow的运算工作中，区块链的参与者被称为矿工，需要在区块链中添加一笔交易，必须解决某种非常复杂，但是毫无作用的问题，也就是解哈希函数。本质上来讲，这种方式矿工花费了一定金钱或者资源，也就是电脑和耗费大量的电来完成工作，这表示了他们不会损害了区块链的系统，因为对系统的损害，也将会导致投资的损失，进而损害他们自身。

为了确保运行区块的时间不变，问题的复杂性也会变化，有时会存在多名矿工同时解决问题，在这种情况下，每位矿工从中选取其中一个区块，并以选取最长链的为获胜者，因为假定大多数矿工工作在同一个链上，那么成长最快的链，将成为最长和值得信任的链，这样只要有矿工的工作，有一半是值得信任的，那么加密货币就是安全的。

接下来我们讲讲以太坊升级后的，也就是ETH2.0的“共识算法”，**Pos，全称，Point of Sale，中文名称，权益证明**。

ETH为什么要升级，改变“共识运算”？在于Pos安全性更高，节能可扩展，不易受规模经济的影响。Pow也被称为股权证明，类似于财产储存在银行。这种模式会根据节点持有的加密货币的量和时间分配相应的利息。Pos是Pow的替代技术所出现的，意在解决Pow的一些内在问题。

Pos没有使用挖矿的方法，而是在于用户必须拥有系统中的一些权益代币，因此如果用户有10％的权益代币，那么该用户挖掘下一个区块的可能性，就是10％。

Pow挖矿为解决计算中的挑战，需要运行各种的加密计算，这需要消耗大量的算力，算力加密转变为Pow的大量电能，Pos的提出一开始很简单，就是为了省电。

在Pow中，一个美元就是一个美元，假如有一万名每分钟花费一美元的矿工，要比一位具有每分钟花费一万美元挖掘矿池能力的矿工，拥有更少的计算能力。但是在Pos当中，不支持一次性用光所有的算力，一美元就是一美元，因此Pos不容易受规模经济的影响。

此外攻击Pos系统也要比攻击Pow系统的成本更大\*\*，V神说过，在Pos当中，重复51％的攻击代价可类比于每额外运行一轮，都会烧毁矿机\*\*。这就意味着，每次攻击Pos系统，攻击者都会失去自己的权益。而在Pow当中，攻击者不会设备或者权益代币。对Pow系统的攻击只会使攻击本身难以执行，但是不会有太多的损失。这也导致了Pos比Pow更加安全。

以上就是ETH这次升级的一个特殊点。有人说，ETH2.0的手续费只需要0.0002美金，也有人说完成转型之后，ETH就是“万币之王”，在这一周，ETH一度突破两千美金。可以说ETH的这次升级万众瞩目，当然这里还有个有趣的地方，随着以太坊的升级，将会引发一系列的蝴蝶效应，这将是我接下来要阐述的内容。

---

*Originally published on [Mr A](https://paragraph.com/@mr-a/eth-pos-pow)*
