各位或许已经领略了前文的叙述,比特币这一数字货币运用庞大的算力以维护网络的安全,然而为何要采取这种方式?是否还有其他可行的方案呢?
何为工作量证明(PoW)?工作量证明的算法——通过大量计算力进行挖掘,由Cynthia Dwork和Moni Naor于1993年提出,旨在对抗拒绝服务攻击(DDoS)、反垃圾邮件等服务滥用的经济手段。1997年,该机制正式被命名为“Proof of Work”(工作证明)。
直至2009年,中本聪创建了比特币,这项技术才开始被广泛运用。中本聪认识到,这种机制能够应用于多个节点网络环境中,形成共识,并以此保护比特币的安全。
但PoW算法要求所有节点进行大量运算以解决密码学问题,这些问题的运算者被称为矿工。第一个找到正确解的矿工将获得奖励,这促使人们建立规模庞大的矿场。
据Digiconomist报道,比特币矿场的能耗高达54TWh,足以供应500万美国居民的生活用电,相当于新西兰或匈牙利全国的耗电量。而且,PoW的存在使得算力设备性能越好的人,获得的奖励就越多。
算力越高,获得记账下一个区块的概率与奖励就越大。
为了提高挖矿成功率,矿工将算力集中,形成矿池(Mining pool),矿池根据矿工的算力比例分配奖励。简而言之,PoW导致矿工在挖矿上消耗大量电力,并鼓励大家加入矿池,反而使得区块链的算力越来越集中,违背了区块链去中心化的原则。
何为权益证明(PoS)?为了解决这一问题,2011年,一个比特币论坛用户QuantumMechanic提出了“Proof of Stake”(产权证明)这一新技术。他认为,让人们为了挖矿相互竞争是一种极大的浪费,PoS机制采用一种选举机制,随机选择网络中的节点,负责验证下一个区块。
在PoS算法中,不存在矿工,而是验证者,且不进行“挖矿”,而是“创造”区块。成为验证者的条件是,节点必须抵押一定数量的Token作为“Stake”(产权)。你可以将抵押金视为押金,抵押金的数量多少影响你下一次被选为验证者的机率。
假设小明抵押了100美元,小华抵押了1000美元,那么小华被选为下一个区块创建者的概率是小明的10倍。虽然这看起来像是偏袒富人,即持币量较大的人,但实际上这种算法更加公平!
PoW与PoS的差异何在?如果采用PoW算法,富人可以拥有成本优势,因为大矿主在矿机和电价上都能尽可能降低成本,这意味着他们购买越多,单价就越便宜!
但回到PoS算法,如果一个节点被选为验证者,它必须验证下个区块中的所有交易是否有效。如果所有检查都能通过,该节点就会为新区块签署签名并将其加入链中,然后获得新区块中所有转账的手续费作为回报。
如何信任被选中的验证者?还记得我们之前提到的POS机制必须抵押一定数量的Token作为产权吗?这时“Stake”(产权)就派上用场了。
如果验证者让非法的交易被写入区块中,那么他就会损失一部分押金。只要押金比获得的交易手续费高,我们就能安全地信任他们,如果恶意篡改账本就会遭受损失,只要押金比手续费金额还要大,验证者损失的金额就会更多,当然不符合现实中的经济效应。
当一个节点不再是验证者时,之前付出的押金和记账获得的所有手续费,就会全部返还。
因此,PoW和PoS是两种非常不同的机制。PoS并不允许所有人参与记账过程,消耗更少的能量,同时更加去中心化。
在PoW机制中,存在着“矿池”的概念,矿池参与者通过矿池合作挖矿以获得收益,但这些矿池控制着比特币大部分算力,也让区块链挖矿过程更加中心化、更加危险。如果全球最大的几个矿池合并,他们就会拥有大部分(超过50%)的算力,这时他们就可以伪造交易。
PoS另一个优势在于设立节点的成本。与PoW节点相比,PoS节点成本低得多,因为不需要昂贵的矿机,也可鼓励更多人参与设立节点,从而让区块链网络更加去中心化。
如果我拥有超过51%的代币,我就能伪造交易来操纵区块链网络了吗?是的。
51%攻击在PoW算法中,如果一组矿工拥有超过51%的算力,这组矿工就能控制这条区块链。但考虑到加密货币目前的市值,PoS使得这种51%攻击在现实面上变得非常困难。要攻击比特币,按照现在的比特币币价,至少需要750亿美元的成本,而且还不一定成功。
针对PoS机制发生攻击的可能性远比PoW更小,但并非完全没有风险,因为PoS机制有抵押金多寡的因素,让挑选过程非完全随机,而富人能获得更多记账机会,进一步增加了他们被选为验证者的可能性,因此必须更加仔细地挑选下一个验证者。
因此,有数个针对该问题的议题进行研究,例如基于代币年龄的选择法。当网络选择了一个节点作为验证者时,拒绝作为验证者,我们可以在选取验证者的同时,备用选取其他的验证者。
结论PoS机制相比于PoW机制而言,存在更多风险,需要做更多研究。目前,一些项目已经开始使用PoS机制,如Cardano尝试建立一个安全性可证明的PoS算法,称为Ouroboros。
标签: 数字货币