POW 与 POS 的本质和优劣

在这里插入图片描述

本质上,POW 和 POS 都是一种随机选择下一个区块上传者的方式。然而,创建一个每个人被选中几率相等的算法其实是非常难的事情,同时,这种算法只是听上去很美,而在现实中这种算法却称不上公平——因为你怎么在虚拟世界里确定一个人的身份?你怎么知道一个 ID 背后的是真实的用户还是女巫攻击的脚本?

所以说,与其耐心去验证每一个人的身份,不如干脆根据某种无法伪造的东西进行随机,于是才有了工作证明和权益证明,以及许许多多的其他证明。

POW 就是根据计算能力随机,POS 根据拥有财产随机,这就是这两个共识机制的本质。

但是,另一个问题是,POW 是一个在比特币出现之前就有了的东西,而因为比特币的成功,POW 基本上特指比特币的 POW。但相反,POS 是个新东西,目前并没有成熟的 POS 应用,所以,当提到 POS 的时候,并不是指某一个算法,而是一类,而且,这类算法目前各有优劣。并且,目前为止,没有一个算法的可靠性通过了实践的检验。所以,要对比 POW 和 POS 的优劣,我只能以 POS 这一大类为例。以上基本上所有其他的答案,其实都在说 PPCoin 的 POS,也就是最早的 POS,那个东西是有根本缺陷的,例如什么是币龄攻击(save-up attack),都仅仅是对 PPC 适用,而并不是 POS 的问题。

下面说一下优劣:

POW 机制:

优势:可靠(或者叫安全,我不喜欢用安全这个词),这就是它最大的优点,因为它是目前唯一接受了实践检验的公有链算法。

劣势:浪费算力,对于 51% 攻击有潜在隐患——攻击者并不需要拥有比特币,所以如果要做 51% 攻击,所需要的花费跟挖矿难度相关而不是直接跟比特币价格相关(虽然说挖矿难度会和比特币价格相关),所以,如果挖矿公司的市值不如比特币的价格的话,比特币面临 51% 攻击的风险就会变大。

POS 机制:

优势:不需要浪费算力,同时,进行 51% 攻击的代价更高,因为想要进行 51% 攻击的话,你得拥有 51% 的货币。也就是说,这东西越值钱,攻击的成本就越高。

劣势:

1,权益粉碎攻击(nothing-at-the-stake attack),上面有人说 POS 是社会主义,我是不赞同的。我觉得 POS 就是完全的资本主义——你钱越多,你拥有的权力就越大。当然,这个也并不是没有道理,因为在其中利益越多的人,就更愿意去维护这个币的系统,于是他们手中的币才能更有价值。因此,他们并不愿意去进行恶意攻击,因为那样实际上他们手中的币也会受害,这就是 POS 能够更有效地防御 51% 攻击的原因。换句话说,钱越多责任越大。

但反过来讲,钱越少责任越小。假设你只有 1% 的钱,你成功的概率只有 1%,但是你尽可以去尝试分叉,因为这并不消耗任何资源。也就是你在最长链上挖矿的同时,也去创造一个只在自己的区块上挖矿的分支。放在 POW 里,创建这个分支完全得不偿失因为你浪费了大量的算力。然而在 POS 里,如果这个分支不被接收,实际上你什么都没损失。于是,即便是诚实的矿工也可能回去偷偷地进行这种分叉尝试。尽管他们知道这种尝试会造成整个币的价值降低,但是他们的钱很少,他们并不在乎,这就是所谓的平凡人悲剧(tragedy of the commons)。

对于这种攻击,基本上所有的新的 POS 算法都有应对的机制,例如以太坊的 casper 里的slasher,基本概念就是如果有人尝试了这种攻击,其他人发现了可以公布证据然后对这个人进行惩罚。

2,理性分叉。很多地方把这个合在权益粉碎攻击里了,但我觉得必须要分出来说。权益粉碎攻击是主动的,而这个是被动的——假设有人做了权益粉碎攻击进行了分叉尝试,诚实节点理应不予理会,因为他们能看到这种分叉被接受的几率小。对于 POW 来说,你不会在被接收几率小的分叉(例如不是最长链的分叉)上挖矿,因为那样浪费算力。但对于POS 来说,在那上面挖矿没任何损失,反而是不在那上面挖矿,万一这条链被接收了,你就会受到损失。

于是,即便是诚实节点,如果它足够理性,那么它也会在所有它收到的链上同时挖矿。POW 里,没人挖的分支很快就会变成孤块被丢弃,但在 POS 里,如果整个网络足够理性,会出现的情况反而是每条分支都会永远存在因为理性的矿工会同时在所有分支上挖矿。这是我觉得 POS 最大的缺陷,就是如果只用最长链共识的话,POS 本身是没法应对分叉的,必须通过惩罚。而这种惩罚不光是基于作恶,而是违反节点逐利本性的。

放在真实社会中的话,1 就好比是抢劫,抓了判刑没有任何问题。可是 2 就像是投资,把他们也抓了判刑,这就有点过了。

猜你喜欢

转载自blog.csdn.net/IPFSMAIN/article/details/84762933