权益证明

在2011年,在一个比特币论坛中一位名为QuantumMechanic的用户提出一项技术,他称之为"权益证明(proof-of-stake)"。

基础概念是,让每个人互相竞争挖矿是很浪费的。因此相反的是,权益证明通过选举的形式,其中任意节点被随机选择来验证下一个区块。

在这里有一些小的术语区别,权益证明中没有矿工,但是有验证者(validator)。并不让人们”挖(mine)”新区块 而是"铸造(mint)” 或"制造(forge)”新区块。

验证者并不是被完全随机选择的,要成为验证者,节点需要在网络中存入一定数量的货币作为权益,可以将这理解为保证金。

权益的份额大小决定了被选为验证者的几率,从而得以创建下一个区块,这是线性相关的。

假设Bob在网络中存入100美元 Alice存入1000美元,那么Alice比Bob有高于10倍的几率选为验证者。

因为这偏袒有钱的一方,似乎不太公平,但事实上这比起工作量证明更公平。

对于工作量证明,富人可以很大程度上享受经济实力带来的成果。他们为挖矿设备和电力支付的成本并没有直线上升。相反他们购买的越多,获得的越多。

但是让我们回到权益证明,如果一个节点被选出来验证下一个区块,他将检查当中所有的交易是否有效。如果一切没问题,节点则通过该区块,区块将加到区块链中。作为奖励,该节点可获得当中每个交易费。

那么,我们该如何相信网络中的其他验证者?

这里需要用到权益了。

如果验证者通过了欺诈性交易,他们将失去一部分权益。只要权益高于验证者所获得的交易费,我们就可以信任他们能够很好的完成工作。否则,他们失去的钱比能获得的还多。

这是金钱方面的动力,只要权益比所有交易费要高,这就是可行的。

如果节点不再是验证者,他的权益以及获得的交易费将在一定时间后返还给他。不会马上返还,因为若发现你的区块存在欺诈时,网络会对你进行惩罚。

因此,工作量证明和权益证明的区别是很明显的。

权益证明的优点

权益证明不会让每个人都对新区块进行挖矿。因此消耗更少的能量,而且更去中心化。

为什么这么说呢?

在工作量证明中存在着矿池。这些人联合起来,提高他们挖到新区快的机会,从而获得奖励。

 

然而,如今比特币区块链的大部分都由这些矿池所控制,它们集中挖矿过程是很危险的。

如果三大矿池合并,它们将在网络中占据大多数,从而开始通过欺诈性交易。

另一个重要的优点是,构建基于权益证明的区块链节点,比起工作量证明节点成本更低。

你不需要昂贵的挖矿设备,因此权益证明激励更多的人构建节点,从而让网络更去中心化 也更安全。

权益证明的缺点

但即使是权益证明也不是完美的,还是存在漏洞。

你可以会想,如果我买了网络中的大部分权益,那么我就能有效地进行控制。从而通过虚假交易。

你说对了。

这被成为51%攻击。这是权益证明算法的缺点。

如果一名或一群矿工获得了51%的哈希能力,他们将有效地控制区块链。

另一方面,考虑到加密货币的价值,权益证明让这种攻击非常不切实际。

如果比特币变为权益证明的机制,那么要获得全部货币的51%,你需要花费790亿美元。因此在权益证明中 51%攻击更不可能发生。

但这并不是唯一的风险。

权益证明算法也需要谨慎选择下一个验证者。这不能完全是随机的,因为必须考虑到权益的大小。

但同时光看权益还不够,因为这将偏袒有钱人,他们将更被频繁地选择,从而获得更多的交易费。然后变得更富有,再次提高在将来被选为验证者的几率。

有很多种方式来修复这个问题,例如基于币龄的选择。

另一个潜在的问题是,当选出了下一个验证者后,他并不出来完成他的任务。

这很容易解决,可以选择大量的候选验证者。

总之,在与工作量证明相比时,权益证明带来了新的风险。为了认识和减少当中的风险还需要大量的研究。

用例

现在我们知道了权益证明是什么,它的优点和风险,现在让我们看到现实中的用例。

现在用到该技术的有Peercoin Lisk和Nxt。在未来会有更多的加密货币使用。

例如,以太坊正在开发权益证明系统称为Casper,目前这被部署在以太坊测试网上,并且正在积极开发。

Cardano项目已经在开发一种安全的权益证明算法,称为Ouroboros。


POS:

优势:不需要浪费算力,同时,进行51%攻击的代价更高,因为想要进行51%攻击的话,你得拥有51%的货币。

劣势:

1,权益粉碎攻击(nothing-at-the-stake attack),你钱越多,你拥有的权力就越大。

当然,这个也并不是没有道理,因为在其中利益越多的人,就更愿意去维护这个币的系统,于是他们手中的币才能更有价值。

因此,他们并不愿意去进行恶意攻击,因为那样实际上他们手中的币也会受害,这就是POS能够更有效地防御51%攻击的原因。

但反过来讲,钱越少责任越小。假设你只有1%的钱,你成功的概率只有1%,但是你尽可以去尝试分叉,因为这并不消耗任何资源。也就是你在最长链上挖矿的同时,也去创造一个只在自己的区块上挖矿的分支。

放在POW里,创建这个分支完全得不偿失因为你浪费了大量的算力。然而在POS里,如果这个分支不被接收,实际上你什么都没损失。

于是,即便是诚实的矿工也可能回去偷偷地进行这种分叉尝试。尽管他们知道这种尝试会造成整个币的价值降低,但是他们的钱很少,他们并不在乎,这就是所谓的平凡人悲剧(tragedy of the commons)。

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

2,理性分叉。很多地方把这个合在权益粉碎攻击里了,但我觉得必须要分出来说。

权益粉碎攻击是主动的,而这个是被动的——假设有人做了权益粉碎攻击进行了分叉尝试,诚实节点理应不予理会,因为他们能看到这种分叉被接受的几率小。

对于POW来说,你不会在被接收几率小的分叉(例如不是最长链的分叉)上挖矿,因为那样浪费算力。

但对于POS来说,在那上面挖矿没任何损失,反而是不在那上面挖矿,万一这条链被接收了,你就会受到损失。

于是,即便是诚实节点,如果它足够理性,那么它也会在所有它收到的链上同时挖矿。

POW里,没人挖的分支很快就会变成孤块被丢弃,但在POS里,如果整个网络足够理性,会出现的情况反而是每条分支都会永远存在因为理性的矿工会同时在所有分支上挖矿。

这是我觉得POS最大的缺陷,就是如果只用最长链共识的话,POS本身是没法应对分叉的,必须通过惩罚。而这种惩罚不光是基于作恶,而是违反节点逐利本性的。

   权益证明,Proof of Stake,2013 年被提出,最早在 Peercoin 系统中被实现,

类似现实生活 中的股东机制,拥有股份越多的人越容易获取记账权。

    典型的过程是通过保证金(代币、资产、名声等具备价值属性的物品即可)来对赌一个合法 的块成为新的区块,

收益为抵押资本的利息和交易服务费。提供证明的保证金(例如通过转 账货币记录)越多,

则获得记账权的概率就越大。合法记账者可以获得收益。

    PoS 是试图解决在 PoW 中大量资源被浪费的缺点。恶意参与者将存在保证金被罚没的风险, 即损失经济利益。

    一般的,对于 PoS 来说,需要掌握超过全网 51%的资源,才有可能左右最终的结果。

这个也 很容易理解,三个人投票,前两人分别支持一方,这时候,第三方的投票将决定最终结果。

    PoS 也有一些改进的算法,包括授权股权证明机制(DPOS),

即股东们投票选出一个董事 会,董事会中成员才有权进行代理记账。

    财力决定一切。主链机制是权益最大,所以财力强大就可以重新打包区块,就可以拿到所有区块的打包费用啊!

你可能感兴趣的:(区块链技术,共识机制)