# ETH专题第二章——PoS和PoW是什么? **Published by:** [Mr A](https://paragraph.com/@mr-a/) **Published on:** 2022-09-19 **URL:** https://paragraph.com/@mr-a/eth-pos-pow ## Content 在区块链的学习与交流中,**“共识算法”**是一个很频繁被提及的词汇,正是因为“共识算法”的存在,区块链才能够正常运行。 上周我们提到,以太坊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的这次升级万众瞩目,当然这里还有个有趣的地方,随着以太坊的升级,将会引发一系列的蝴蝶效应,这将是我接下来要阐述的内容。 ## Publication Information - [Mr A](https://paragraph.com/@mr-a/): Publication homepage - [All Posts](https://paragraph.com/@mr-a/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@mr-a): Subscribe to updates