如果你已经了解比特币有一段比较长的时间了,那么你至少应该听说过“工作量证明 (PoW) ”这个概念。PoW 背后的基本概念很简单:一方 (通常称为Prover,即证明者) 提供计算结果,众所周知,这个结果难以计算,但易于验证。并且,在对解法的验证过程使得其他所有人可以确认证明者是经过一定的计算工作量才得出该结果的。初第一个现代应用程序,是 Adam Back 与1996年发布的“Hashcash”,该应用把基于的PoW机制作为反垃圾邮件的措施,要求所有电子邮件要附带强有力的PoW。该系统使得垃圾邮件发送者发送大量邮件的行为非常不经济 (即成本非常高),同时使得个人之间可以在有需要的时候能够相互发送信息。当前,Bitmessage 也运用相似的PoW系统来达到这个目的。同时,该算法也被重新以“挖矿”的形式来保障比特币网络的安全。
SHA256
然而,这里有一个问题: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 所取得的成就也是值得赞扬的。因为就算是挖矿的话费只有部分被转化成了社会公益,这也比完全浪费好。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 观点 | 区块链应用的网络效应
- 安全企业观点:密码的应用与创新
- 观点 | 加密社区的建设为何如此重要?
- 观点 | 以太坊 Layer-2 方案的现状
- 关于未来数据开发技术方向的观点
- 金色沙龙第二期落幕 纵览嘉宾精彩观点
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
A Philosophy of Software Design
John Ousterhout / Yaknyam Press / 2018-4-6 / GBP 14.21
This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first ......一起来看看 《A Philosophy of Software Design》 这本书的介绍吧!