分享

什么是权益证明以及为什么它重要 | 巴比特

 昵称51240473 2018-01-14

ppcoin

如果你参与到比特币活动中已经有相当长的一段时间了,那么你大概最起码听说过“工作量证明”的概念。工作量证明背后的基本概念很简单:一方(通常称为证明者)提交已知难于计算但易于验证的计算结果,而其他任何人都能够通过验证这个答案就确信证明者为了求得结果已经完成了量相当大的计算工作。现代第一个应用是Adam Back 于1996年提出的以基于SHA256的工作量证明为反垃圾邮件手段的“Hashcash”。系统通过要求所有邮件发送时都必须完成大强度的工作量证明,这将使垃圾邮件发送者发大量电子邮件变得很不划算却仍允许用户们在需要时向其他用户正常发送邮件。现在比特信为了同样的目的使用了一个类似它的系统,而Hashcash的算法也已经被改造为以“挖矿”为形式的比特币安全的核心。

可是,存在一个问题:工作量证明太浪费了。比特币网络每秒完成600万亿次SHA256运算,而最终这些计算没有任何实际或科学价值。这些运算存在的唯一目的是用来解决工作量证明问题,而为了使恶意攻击者不能轻易地伪装成几百万个节点和打垮网络,这些问题被故意设置得很难。当然了,这种浪费本质上不坏。假如工作量证明没有任何替代者,相对于允许世界上任何一个人在瞬间就能给其他人几乎没有手续费地转账的去中心化和半匿名的全球货币网络带来的巨大好处,它的浪费也许只算是很小的代价。工作量证明在2009年确实是唯一的选择。但是,四年之后,我们已经研究出来了一些替代者。

Sunny King的素数币采纳的证明方式也许是最恰当同时也是潜力最大的替代方法。素数币并非将工作量证明完全去掉,而是试图让工作量证明变得更有意义。它没有使用SHA256计算,但是要求矿工们寻找长的由素数构成的“Cunningham 链”。这种链含有的所有值都是素数并且形式分别是n-1, 2n-1, 4n-1 …。为了准确起见,我们也要知道,n+1, 2n+1, 4n+1也可以是一条Cunningham 链,而素数币也接受“bi-twin chains”,这种链的形式为n-1, n+1, 2n-1, 2n+1…并且只包含素数。乍一看,这些链的用途是什么并不明显。素数币的提倡者已经指出了一些理论上的应用,但是这些应用全部都要求只使用很难生成的长度为3的链。然而,更有说服力的论证是,在现代比特币的挖矿中,挖矿硬件的大半生产成本其实都花在了寻找更有效的挖矿方法上(比如说ASICs,优化电路等),而不是花在建造或运行挖矿设备本身。但是在素数币的世界里,研究的重点则是寻找完成算术和数论运算更加有效的方法,而这些方法的应用范围远不止挖掘加密货币。

素数币这样的“有用的工作量证明”最有前途的原因是:如果计算足够有用,则货币的“浪费因素”能够降低为零,这将使货币成为社会公益。例如,假定存在一个计算,它由于某种原因有1020分之一的机会能够使研究人员在治疗癌症的道路上明显地进步。但是,没有个人或组织有足够的动力去尝试。原因如下:如果他们侥幸成功的话,他们要么把研究结果公之于众来挣一点可怜的好处和媒体短时期的称赞,要么试着把它卖给某些研究人员并签订一个保密协议,但是无论怎样,他们都很有可能不能赚大钱。可是,如果这个神奇的计算被整合到货币中,区块奖励将激励许多人完成运算,而计算结果将可以在区块链上被所有人看到。社会奖励将超过电费。可惜,至今我们不知道任何治愈癌症的神奇计算。最接近这种运算的是Folding@home,但是它缺乏数学验证性。一些伪造的运算结果不仅使工作量证明检测器难以鉴别,而且对社会毫无价值,一些不诚实的矿工会利用这个漏洞轻易地骗过系统。在数学上可以验证的有用工作量证明系统中,素数币是最好的。至于它的社会效益是否会完全超过他的生产和电力开销则很难判断。许多人怀疑不会。但是即便如此,素数币所取得的成就也是值得赞扬的。因为就算是挖矿的话费只有部分被转化成了社会公益,这也比完全浪费好。

权益证明(Proof of Stake)

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

关于权益证明可以如何实施已经有好几个提议了。正在实践中工作的却只有PPCoin。这个货币也是Sunny King创造的。PPCoin按如下方式工作:当权益证明区块生成时,矿工需要构造一个“钱币权益”交易,即把自己的一些钱币和预先设定的奖励(像是一种利率,类似于比特币的区块奖励)发给自己。SHA256 哈希值的计算只同交易输入、一些附加的固定数据以及当前时间(是一个表示自1970年1月1日距离当前时刻的秒数的正数)有关。然后根据工作量证明的要求检查这个哈希值是否正确,除了难度与交易输入的“币龄”成反比外,这个过程与比特币的相关过程很类似。在PPCoin中,币龄被定义为交易输入大小和它存在时间的乘积。因为哈希值只和时间和固定的数据有关,因此没有办法通过多完成工作来快速获取它。每个PPCoin交易的输出都有一定的几率来产生有效的正比于币龄和交易货币数量的工作。这就是PPCoin的工作原理了。从本质上讲,每个PPCoin都可以表现的像是一个“仿造的挖矿设备”,但是它有一个有趣的性质:随着时间的推移它的挖矿能力线性上升但是每当它找到有效的区块时挖矿能力就归为零。

目前尚不清楚像PPCoin那样使用币龄而不是仅仅输出交易货币数量是否绝对必要。这么做的本意是阻止矿工重复使用他们的货币乘以时间,但是PPCoin目前的设计确实不允许矿工有意识地用具体的交易输出生成区块。然而,系统每秒随机地选择一个PPCoin,这也许会给它的主人创造区块的权力。如果不把币龄作为随机性的一个权重因数,这过程大致等价于比特币挖矿,但是没有浪费。可是,存在一个支持币龄存在的更复杂的论证:因为你创造区块失败的时间愈长,则你成功的几率就愈大,所以矿工对创造区块的时间判断越准确,进而削弱了为了降低风险而创立类似于中心化的矿池的动力。

超越加密货币

但是让权益证明真正有趣的是它的应用范围远不仅是货币领域。目前,反垃圾邮件系统分为三大类:工作量证明系统、验证码系统和身份识别系统。工作量证明用于Hashcash和比特信这类系统中,我们已经在上面详细地讨论过了。验证码在互联网的用途非常广泛。它的原理是:提出一个人类可以但是电脑不可以轻易解决的问题,因而将人与电脑区分开来。在实践中,通常的情况是,出现一个包含着字母和数字的模糊图像,然后要求解决者输入正确的字母和数字。最近,验证码的提供者在这个系统中添加了“公益”成分。他们让印刷书籍中的一个单词成为验证码的一部分,然后借助大众的力量来数字化陈旧的印刷文献。但是,不幸的是,验证码不是那么有效。因为最近机器学习的成功率达到了30-96%,这已经近似于人类自己的成功率了。身份识别系统分为两种。第一种是要求用户使用他们的现实身份注册的系统。这就是民主国家迄今为止避免被匿名捣蛋鬼推翻的原因。第二种系统要求用户缴费,并且当用户被发现试图滥用系统时,版主可以不退钱就销号。这些系统都有用,但都是以侵犯隐私为代价的。

权益证明可以成为第四类反垃圾邮件系统。想象一下,用户在注册论坛账号时不填验证码,而是通过自己发给自己比特币或者PPCoin来消费币龄。为了确保每个权益证明计算都是由用户完成的而不是简单的从区块链中随便找的,系统可能要求用户向同一地址也发一个签名信息,或者有可能以一种特殊的方式把自己的钱发给自己(比如,其中一个输出必须正好包含0.000XXXXX 个BTC,每次都是随机设置数值)。这里要注意,币龄很关键。我们要用户能够按照要求完成权益证明,因此为了避免重复使用,有些东西必须被消耗掉。从某方面来说,有种权益证明已经存在于短信验证中了。在这种验证过程中,用户在注册谷歌账号时为了证明自己拥有某个手机号必须发送短信。但这很难算作真正的权益证明,因为手机号码也和个人真实身份有紧密的联系并且买手机的过程本身是一种验证码。因此,短信验证有上述三种系统的某些优点但是也有它们的某些缺点。

但是权益证明的真正优势在于像比特信这样的去中心化系统中。目前,比特信使用工作量证明,这是因为它没有其它的选择。现在还没有“去中心化的验证码”。办法会有的,只是还几乎没有怎么研究如何创造出来。然而,工作量证明不仅浪费严重而且还使比特信用起来有些麻烦和耗电。对于邮件,比特信还行。但是对于即使消息,还是算了吧。可如果比特信能够整合进比特币(或者Primecoin 或者PPCoin)中并且使用权益证明,则很多困难和浪费就可以得到缓解。

权益证明有未来吗?许多预兆表明它当然有。PPCoin的创始人Sunny King论证说随着时间的流逝比特币的安全将变得很弱,因为它的区块奖励持续下降。确实,这是他创造PPCoin and Primecoin的主要动机之一。从那时起,PPCoin已经成为市场上的第五大加密货币并且越来越多的新加密货币采用它的权益证明思路。当前,PPCoin并不是完全的权益证明系统。因为它是有高度中心化社区的小规模加密货币,遭遇黑客攻击的风险高于比特币,所有存在着一个中心化的检查系统。这个检查系统使得开发人员可以创造“检查站”,而不论攻击者做什么,这些检查站都将保证永远作为交易历史的一部分储存起来。最终的希望是检查系统更去中心化降低能耗而PPCoins 被更多的人群拥有。一个替代方案也许是把权益证明作为去中心化的检查系统整合进比特币中。比如,某个协议允许任何至少有100万比特币–年币龄的联盟通过消费他们的输出来产生社区承认是有效区块的检查站,但代价是将他们自己的钱币发给自己并且消耗币龄。

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

(译文完)

原文标题:What Proof of Stake Is And Why It Matters
原文作者:Vitalik Buterin
原文发表时间:2013年8月26日

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多