首页 > 独角访谈 > 正文

观点 | Vitalik: 什么是PoS? 为何它如此重要?

本文是以太坊创始人Vitalik Buterin 于2013年发表的文章,探讨 PoS (权益证明) 相较于 PoW (工作量证明) 等所具有的优势。今天,Vitalik 重新在推特中转发了自己曾经撰写的这篇文章,见下图:

推文链接:https://twitter.com/VitalikButerin/status/1088324024663326721

.  .  .

如果你已经了解比特币有一段比较长的时间了,那么你至少应该听说过“工作量证明 (PoW) ”这个概念。PoW 背后的基本概念很简单:一方 (通常称为Prover,即证明者) 提供计算结果,众所周知,这个结果难以计算,但易于验证。并且,在对解法的验证过程使得其他所有人可以确认证明者是经过一定的计算工作量才得出该结果的。初第一个现代应用程序,是 Adam Back 与1996年发布的“Hashcash”,该应用把基于SHA256的PoW机制作为反垃圾邮件的措施,要求所有电子邮件要附带强有力的PoW。该系统使得垃圾邮件发送者发送大量邮件的行为非常不经济 (即成本非常高),同时使得个人之间可以在有需要的时候能够相互发送信息。当前,Bitmessage 也运用相似的PoW系统来达到这个目的。同时,该算法也被重新以“挖矿”的形式来保障比特币网络的安全。

然而,这里有一个问题:PoW机制非常不经济。比特币网络每秒执行的SHA256 计算高达六百万亿,而且这些计算最后并没有什么实际价值或科学价值。他们的唯一作用,是解决由PoW机制带来的问题,这些问题是故意弄得很难的,因为恶意攻击者才没办法轻易伪装成数百万个节点,从而压倒整个网络。当然,这种浪费本身不是坏的;因为没有替代方案,PoW机制所带来的浪费相比起从去中心化和版匿名的全球货币网络所得到奖励,只是一笔小钱。这个网络允许所有人向世界上的其他人进行即时转账,而且手续费几乎为零。而在 2009 年,PoW机制确实是唯一的选择。然而,四年过后,人们就开发了许多替代品。

Sunny King的 Primecoin (素数币) 采纳的证明方式也许是最恰当同时也是潜力最大的替代方法。Primecoin 并非将工作量证明完全去掉,而是试图让工作量证明变得更有意义。它没有使用SHA256计算,但是要求矿工们寻找长的由素数构成的“Cunningham 链”。这种链含有的所有值都是素数并且形式分别是n-1, 2n-1, 4n-1 …。为了准确起见,我们也要知道,n+1, 2n+1, 4n+1也可以是一条Cunningham 链,而Primecoin也接受“bi-twin chains”,这种链的形式为n-1, n+1, 2n-1, 2n+1…并且只包含素数。

乍一看,这些链的用途是什么并不明显。Primecoin的提倡者已经指出了一些理论上的应用,但是这些应用全部都要求只使用很难生成的长度为3的链。然而,更有说服力的论证是,在现代比特币的挖矿中,挖矿硬件的大半生产成本其实都花在了寻找更有效的挖矿方法上(比如说ASICs,优化电路等),而不是花在建造或运行挖矿设备本身。但是在Primecoin的世界里,研究的重点则是寻找完成算术和数论运算更加有效的方法,而这些方法的应用范围远不止挖掘加密货币。

Primecoin 这样的“有用的工作量证明”最有前途的原因是:如果计算足够有用,则货币的“浪费因素”能够降低为零,这将使货币成为社会公益。例如,假定存在一个计算,它由于某种原因有1020分之一的机会能够使研究人员在治疗癌症的道路上明显地进步。

但是,没有个人或组织有足够的动力去尝试。原因如下:如果他们侥幸成功的话,他们要么把研究结果公之于众来挣一点可怜的好处和媒体短时期的称赞,要么试着把它卖给某些研究人员并签订一个保密协议,但是无论怎样,他们都很有可能不能赚大钱。

可是,如果这个神奇的计算被整合到货币中,区块奖励将激励许多人完成运算,而计算结果将可以在区块链上被所有人看到。社会奖励将超过电费。可惜,至今我们不知道任何治愈癌症的神奇计算。最接近这种运算的是Folding@home,但是它缺乏数学验证性。一些伪造的运算结果不仅使工作量证明检测器难以鉴别,而且对社会毫无价值,一些不诚实的矿工会利用这个漏洞轻易地骗过系统。在数学上可以验证的有用工作量证明系统中,Primecoin 是最好的。至于它的社会效益是否会完全超过他的生产和电力开销则很难判断。许多人怀疑不会。但是即便如此,Primecoin 所取得的成就也是值得赞扬的。因为就算是挖矿的话费只有部分被转化成了社会公益,这也比完全浪费好。

权益证明 (PoS)

然而,现在已经有一种 SHA256 的替代方法,这种方法从根本上解决了工作量计算浪费的问题。它就是权益证明。这种证明系统不要求证明者完成一定数量的计算工作,而是要求证明者对某些数量的钱展示所有权。

当时中本聪本人没有这么做的原因很简单:在2009年之前,没有能安全地与密码协议互动的数字财产。Paypal和在线信用卡支付都已经出现大概超过十年了,但是这些系统都是中心化的,因此为它们创造的权益证明将会给Paypal 和信用卡的提供商作弊的机会。因为这些服务提供商能够生成虚假的交易。IP地址和域名是部分中心化的但是它们都无法构建日后可以验证的所有权证明。实际上,,第一个有可能使用权益证明体系的数字财产正是比特币(和加密货币)本身。

关于权益证明可以如何实施已经有好几个提议了。正在实践中工作的却只有PPCoin。这个货币也是Sunny King创造的。PPCoin按如下方式工作:当权益证明区块生成时,矿工需要构造一个“钱币权益”交易,即把自己的一些钱币和预先设定的奖励(像是一种利率,类似于比特币的区块奖励)发给自己。

SHA256 哈希值的计算只同交易输入、一些附加的固定数据以及当前时间(是一个表示自1970年1月1日距离当前时刻的秒数的正数)有关。然后根据工作量证明的要求检查这个哈希值是否正确,除了难度与交易输入的“币龄”成反比外,这个过程与比特币的相关过程很类似。在PPCoin中,币龄被定义为交易输入大小和它存在时间的乘积。因为哈希值只和时间和固定的数据有关,因此没有办法通过多完成工作来快速获取它。每个PPCoin交易的输出都有一定的几率来产生有效的正比于币龄和交易货币数量的工作。这就是PPCoin的工作原理了。

从本质上讲,每个PPCoin都可以表现的像是一个“仿造的挖矿设备”,但是它有一个有趣的性质:随着时间的推移它的挖矿能力线性上升但是每当它找到有效的区块时挖矿能力就归为零。

目前尚不清楚像PPCoin那样使用币龄而不是仅仅输出交易货币数量是否绝对必要。这么做的本意是阻止矿工重复使用他们的货币乘以时间,但是PPCoin目前的设计确实不允许矿工有意识地用具体的交易输出生成区块。

然而,系统每秒随机地选择一个PPCoin,这也许会给它的主人创造区块的权力。如果不把币龄作为随机性的一个权重因数,这过程大致等价于比特币挖矿,但是没有浪费。可是,存在一个支持币龄存在的更复杂的论证:因为你创造区块失败的时间愈长,则你成功的几率就愈大,所以矿工对创造区块的时间判断越准确,进而削弱了为了降低风险而创立类似于中心化的矿池的动力。

加密货币之外的 PoS 应用

但是真正让 PoS 有趣的地方在于,可以将 PoS 应用于除加密货币之外的其他领域中。截至目前,反垃圾邮件的系统可以分为三类:使用 PoW (工作量证明)的系统、使用验证码(captcha)的系统和身份识别系统(identity systems)。上文中,我们已经广泛讨论了诸如 Hashcash 和 Bitmessage 等系统中使用的 PoW 机制。

验证码(captcha)在互联网中也是使用得相当广泛,其中的理念就是提出一个我们人类能够轻松解决,但计算机无法解决的问题,从这个角度便可以将前两种系统区别开来。(备注: captcha,即验证码,是“completely automated public Turing test to tell computers and humans apart”的首字母缩写形式,全称是“全自动区分计算机和人类的图灵测试”)

在实践中,“验证码”通常涉及到包含字母和数字的杂乱图像,要求用户键入正确的字母和数字来通过验证。最近,互联网供应商已经在验证码系统中实现了一种更好的组件,即将验证码的一部分构成一个来源于印刷书籍中的单词,这是一种借助公众力量将老文献数字化的方式。不幸的是,验证码并没有那么高的效率;最近有关机器学习的研究成功率实现了30-96%,这与人类本身的学习成功率很接近。

身份识别系统(Identity systems)以两种形式呈现。第一种形式是,有些身份识别系统要求用户使用真实的身份信息进行注册,这是目前民主国家为了避免互联网被过度匿名化所采取的方式。第二种形式是,另一些系统要有用户支付一定的费用才能进入,如果系统管理员发现有用户正在试图滥用该系统,则管理员将关闭该用户的账户,并且无需向该用户退款。这两种系统都是行得通的,但存在用户隐私被泄露的风险。

权益证明 (PoS) 可以用于提供第四类反垃圾邮件的措施。想象一下,用户可以通过向自己发送一枚 BTC 或 PPCoin 来消耗自己的 币龄 (coin age),而无需通过填写验证码来创建一个论坛账户。为了确保每个 PoS 计算都是由用户来完成,而不是简单地从区块链中进行随机地抽取,系统也许会要求用户通过同一个地址发送一条签名的信息,或者也许通过某个特定的方式将资金发回给用户自己 (比如,其中一个输出中必须包含0.000XXXXX BTC,每次可以随机设置一个值)。

需要注意的是,用户的 币龄 是至关重要的;我们希望用户能够按需创建权益证明,因此必须消耗某些东西来阻止重复使用的问题。在某种程度上,PoS 已经通过短信验证(SMS verification)的形式而呈现出来了,即要求用户编辑发送短信来证明自己对某个手机号码拥有所有权,之后才能创建一个Google账户——尽管这基本上不算是一种权益证明,因为电话号码本身也是在很大程度上与用户的真实身份相互绑定的,且购买手机的过程本身也是一种验证身份的过程。因此,短信验证的方式具有所有这三种系统的优劣势。

但是权益证明的真正优势存在于诸如Bitmessage这样的去中心化系统之中。当前,Bitmessage使用的是工作量证明,因为没有其他选择。当前还没有“去中心化的验证码”解决方案,且针对如何研究出这种解决方案的研究也很有限。但是,工作量证明是高消耗的方式,这使得Bitmessage成为一个效率低且高能耗的系统–如果只是在电子邮件中使用,还过得去,但如果要用于发送即时消息,那还是算了吧。但如果Bitmessage能够整合到比特币(或Primecoin和PPCoin)中,并使用权益证明(PoS),那相关的低效率和高能耗的问题就会有所缓解。

权益证明是否有未来?很多迹象表明权益证明确实有未来。PPCoin创始人Sunny King认为比特币的安全性将会随着其区块奖励的继续下降而下降;确实,这是他创建PPCoin和Primecoin的主要动机和原因之一。自PPCoin被创立以来,它已经成为市场中排名第五的加密货币(备注: 此排名是2013年Vitalik发表此文时PPCoin在CoinMarketCap上的排名,当前的排名是194),并且越来越多新的加密货币正在复制PPCoin的权益证明设计。

当前,PPCoin并不是完全基于PoS机制的,因为它是有高度中心化社区的小规模加密货币,遭遇黑客攻击的风险高于比特币,所有PPCoin存在一个中心化的检查系统。该检查系统使开发人员可以创造“检查站(checkpoints)”,而不论攻击者做什么,这些检查站都将保证永远作为交易历史的一部分储存起来。

最终,其目的是将检查站系统变得越来越去中心化,同时减少能耗,使PPCoin能够被更大的群体所持有。一个替代方案也许是把权益证明作为去中心化的检查站系统整合进比特币中。比如,某个协议允许任何至少持有100万比特币–年币龄的联盟通过消费他们的输出来产生社区承认是有效区块的检查站,但代价是将他们自己的钱币发给自己并且消耗币龄。

在2009年,加密货币作为许多不相关的密码学原始成果的结晶而横空出世。hash函数、Merkle树、工作量证明和公钥密码学全都在比特币的构造中起着关键的作用。然而,现在不仅有比特币和其它加密货币了,而且这些加密货币还为将来的加密货币提供了另一个令人兴奋的可能性:我们现在可以设计在加密货币本身上升级的协议,其中权益证明就是绝佳的例子。权益证明能够用来保障加密货币的安全,也可以用在去中心化的反垃圾邮件系统中,还可以用在许多我们还没有想到的协议中。这就像在Wei Dai于1998年创造出b-money之前,没人想到过比特币这类东西。一切皆有可能。

作者:Vitalik Buterin

编译:Jhonny, Echo

原文链接:

https://bitcoinmagazine.com/articles/what-proof-of-stake-is-and-why-it-matters-1377531463/

【文章版权归原作者所有,其内容与观点不代表Unitimes立场。转载文章仅为传播更有价值的信息,合作或授权联系请发邮件至editor@unitimes.io或添加微信unitimes2017】