POS 权益证明

POS 是和 POW 类似的共识算法,目的是在去中心化网络上达成共识。今天我们聊聊 POS 的原理,与 POW 的差异,以及 POS 存在的问题。让大家对 POS 形成一个比较立体的认识。

原理

先来说 POS 的基本原理。首先要声明一下,POS 不是一个算法,而是一类算法的统称,POS 最早的实现版本是在 2012 年推出的 PPCoin 中,但是后来各家的 POS 其实差别还是很大的,所以下面我们只说共性的内容。

POS 的基本哲学就是去相信那些持币多的人,这里的币就是当前使用 POS 的区块链上的币。POS 会实现一个彩票系统,随机的选出记账人。持币越多的人就越可能被选中,概率跟持币数量成正比。注意,这里的持币数量,通常不只是币的绝对数量,而是币的数量乘以持币时间,以天为单位,这样就得到一个新的名词就是“币天”。例如,小明有10个币持有了30天,而小刚有20个币持有了10天。那么小明就有300币天,而小刚只有200币天,被选中记账的概率小明反而更大。时间这个维度体现的是持币人对这条区块链的忠诚度,所以 POS 的基本出发点就是持币多的人有动机去保护自己的资产,所以有理由诚实的记账。

POS 的全称就是 Proof Of Stake ,翻译过来叫权益证明。基本意思是证明我在这条链上是有很多权益的,所以我不可能自己去伤害自己的权益。Stake 的本意是抵押,意思就是要抵押一定的币到系统上,如果记账出错,这些币就会被没收。抵押截止时间一般就是按区块数量算,例如在我生产这个区块之后链上又生成了30个区块,我就可以把我的币领回来了。抵押过程,就是锁定了币的流动性。

这就是 POS 的基本原理了,总结起来一句话:相信有钱人。

POS 和 POW

下面我们来仔细对比一下 POS 和 POW ,这样很多细节就又会浮出水面。

首先,POS 设计之初的功能就是跟 POW 一样的,就是达成共识。但是 POW 耗能巨大,社区很多人非常不满,于是有人发明了 POS ,意图去取代 POW 。POS 是没有能源消耗的,因为随机选出记账人之后,生成区块的工作就是由这个人去做,没有类似 POW 那样的算力竞争,所以也就没有能源消耗了。记账人,或者说产生下一个区块的人也不叫矿工 Miner 了,而是叫 Forger 或者 Block Producer 。

另外,POW 和 POS 大思路其实很相似,二者都是去试图在全球人中,随机的去选出一个人去进行记账。只要保证攻击者不能操纵这种随机性,那么系统就是安全的。但是问题在于,网络上如何去定义一个人呢?是用一台机器吗?一个 IP 吗?这些都是很容易伪造的,女巫攻击是不可避免的。所以倒不如拿一些不能伪造的东西进行随机,POW 是用真金白银,也就是花钱越多的人买的矿机和电力就越多,就越可能被选中。而 POS 是抵押链上代币的形式,持有的币越多,就越可能被选中。

看到这里,我们肯能感觉 POW 跟 POS 真的很像啊,而且 POS 不用耗费电能,难道不是一种更为优秀的共识算法吗?

POS 的问题

但是实际情况是从 2012 到现在 2018 年,所有 POS 的链都不是很成功。所以下面我们就来看看 POS 有哪些问题。

着重让大家搞清楚的,就是 Nothing At Stake ,翻译为“权益粉碎攻击”。基本意思就是”如果我作恶,其实我也不会损失任何东西“。当然,这里的作恶方式肯定是有特指的。区块链存在于去中心化网络上,产生分叉是非常正常的事情,POW 条件下分叉后大家会按照最长链原则,逐步回归到一条链上。而 POS 在分叉条件下却非常有可能出问题,这就是 Nothing At Stake 的出现场景。这里面的根本原因就是制作区块是本身没有成本的,那么如果系统出现了分叉,那么记账人就往每个分叉上都加上自己的块,这样,不管哪个分叉最终胜出,他都可以拿到手续费。所以理性的记账人会处于自身利益同时支持不同的分叉,这就会造成一个分叉上有90%的人支持,另外一个分叉上也有90%的人支持的情况,这样共识就非常难以达成。所以说 POS 条件下,对于这种形式的作恶,是没有办法直接做出处罚的。这就是 Nothing At Stake 了。

除了 Nothing At Stake 。POS 也有一些其他问题,比如 POS 会造成富人越来越富,因为持币越多的人越可能被选中记账,获得更多的报酬。或者,因为压的是系统内的币,所以可能出现的情况是,我就去作恶,然后我失去这些,但是会赢得更多。而对应的,POW 是用系统以外的能源消耗,去保证系统内的共识,也可以说不管是产生币,例如比特币,还是共识,都是有成本的。而 POS 是通过系统内的币来达成共识,或者说是自己证明自己,产生币还是共识,都是无成本的,这个听起来有些诡异。所以有人说,POS 是一条咬住自己尾巴的蛇。

总结

关于 POS ,Peter 要分享的内容就是这些了。总结起来,POS 就是一种通过抵押链上资产来保证链上共识的方式。POS 的好处非常明显,就是不需要耗能。但是 POS 的问题也很多,这些问题到底能不能被解决,多年来争论一直都没有停止过。目前还有没有任何一条真正成功的 POS 链,但是以太坊正在考虑切换到 POS ,大家都很关注,因为这将为 POS 的可行性的提供最有力度的一个证明。

参考: