《比特币一个虚幻而真实的金融世界全集.com》第35/37页
 ̄屋〃√
 ̄小〃√
 ̄说〃√
 ̄下〃√
 ̄载〃√
 ̄网〃√
比特币未来展望
比特币的不确定性
“计算机专家们都失去常识了吗?实际上,没有一个在线数据库可以取代每天的报纸,没有哪个CD-ROM(只读光盘)可以取代启迪心灵的老师,没有一个计算机网络可以改变政府的运作方式。”这是1995年《新闻周刊》上刊登的一篇评论文章,它代表的是变革到来前夕人们对互联网的一个典型观点,当时许多人都认为互联网就是一个噱头,缺少编辑,缺少审核者,就像是一个被粗制滥造的数据填满的海洋。时至今日,这篇文章仍时常被人提起,因为人们需要重温这段历史,警醒自己不要漠视新事物,即使它还处在蹒跚学步的婴儿时代。
有时候,只有某种现实存在已久,人们才承认它是现实。人的大脑是在非常缓慢的原始环境中进化而来的,要适应如此飞速发展的变化的确很难。令人意外的是,一些领域的行业专家、意见领袖也并不看好比特币,甚至持有较深的偏见。但这也是可以理解的,哲学家托马斯・库恩提出范式的概念,他指出科学的实际发展不是事实、理论和方法的简单堆积,更不是知识的堆积,而是通过范式的不断转换进行的科学革命的交替过程。对大部分情形而言,经验很有帮助,但遇到范式转变时,经验往往是有害的,一张白纸反而更有利。比如很多C语言程序员习惯了函数式的问题分析方法,特别不适应C++这种面向对象式编程,初学者学习C++反而更容易。对于专家们来说,他们固有的知识体系与丰富的经验就构成了他们认识新事物的障碍。佛曰:知见障,所知太多而阻障修道矣。
对传统经济学而言,比特币就像是一只贸然闯入的黑天鹅,它不仅废除了被认为是金融智慧最高成就的中央银行制度,还让建立于信用货币基础之上的高度杠杆化的金融金字塔有了崩塌的危险。正如百万台大规模集成电路击溃由高等祭司所卫护垄断的中央服务器,比特币也将打破金融婆罗门的垄断。对于一种颠覆性的技术,用过去的知识体系来评价它显然有失公允,因为其诞生本身就是为了打破过去的框架,创造新的金融结构与商业模式。
另外,比特币的支持者似乎并不在意质疑声,有些朋友对比特币略知皮毛,就迫不及待地投入全部家当,购入比特币资产或矿机,或辞掉工作投入比特币创业。这种乐观情绪似乎来得太过突然了,就算是历史上那些大获成功的技术产品,如电视、手机等,在爆炸式增长的前期,也都经历过异常艰辛且漫长的历程,更何况一段时间的领跑者未必会成为最终的胜利者,比如网景浏览器。在比特币支持者情不自禁地吹捧其美好,或者比特币的批评者下意识地嘲讽它时,双方都不妨提醒下自己,它只是一个诞生才4年的事物。它起始于粗糙,发轫于不羁,还有太多不确定性供我们探讨与想象。
比特币怎样自我进化
比特币的自我进化建立在3点共识上。
对价值的共识:比特币不仅仅是一个货币,它也是一种技术,因此需要正确运行才能保障其价值。
对规则的共识:参与者决定哪些交易规则是被允许的,哪些不是。定义交易合法性的规则被写下来后,它们不能自动执行。参与者必须忽略那些不符合规则的交易,而只接受符合规则的交易。
对历史的共识:参与者必须认同比特币经济的历史交易,否则就无法知道谁拥有哪些比特币。
公众对比特币的一个常见误解是,比特币规则一开始就被中本聪敲定了,以后再也不能更改。中本聪确实创建了比特币初始规则集,但它们在任何时候都可以被修改,只要比特币全网达成共识,即比特币社区需要修改该规则。
还有一个误解是,比特币规则可以自动执行,但事实并非如此。比如数字签名,一种数学确定性加密不管是否正确,它并没有自动执行。你随时都可检测到一个不正确的数字签名,但这些不正确数字签名的交易只有在你选择忽略它们时才被默认为无效。
未来,比特币协议可能会为创造更多可扩展性或安全需要而更改。那么,比特币协议怎么实现不断更新呢?
协议更新在技术上是很简单的,比如在源代码中添加一个条件:如果区块数不超过200 000,以旧方式执行,否则用新方式执行。
协议更新其实不是一个技术问题,而是一个政治问题,因为更新可能会触犯某些人的利益,比如货币发行速度加快,这可能会遭到大多数人的反对。又比如,若更新没有被广泛接受,那么将出现一个区块链的分叉,失败的一方(通常是采用新规则的区块链)将被忽略。
幸运的是,比特币协议的历次更新都得到了全社区的算力投票通过,通过这些更新,修补了OP_LSHIFT崩溃、无限SigOp DOS、联合输出溢出等多处漏洞。
如果明白上述机制,我们将不难发现,许多对比特币的质疑其实并不成立。比如2013年5月有新闻报道,谷歌参与研制的D-Wave量子计算机的运算速度较配置英特尔芯片的传统计算机快1.1万倍,这让很多人惊呼:比特币已死!因为SHA-256算法很可能会被量子计算机破解。其实SHA-256算法并不是比特币所独有的算法,互联网上大到网银的数字证书,小到USBKey(数字证书)等硬件密钥,使用SHA-256算法的比比皆是。因此,SHA-256算法被破解不仅是比特币的危机,更是整个互联网的灾难。
而且,相对于动则上千台服务器的银行系统,去中心化的比特币对算法破解的应对效率可能会更高效。比特币社区可以按以下步骤应对潜在危机:
在任何人都可以使用新算法之前,预先推广内置新算法的客户端。一旦发生算法破解危机,早期使用新版客户端者(一般情况下是矿池)开始创建新的密钥格式并让区块链接受它们。如果效果很好,标准的客户端将默认为新密钥。随着时间的推移,最终每个人都同意只能使用新密钥交易,从而淘汰“旧币”。
比特币的护城河在哪里
作为一门技术,比特币会被更高级的技术取代吗?有媒体意味深长地写道:“别再只说比特币了,这儿除了比特币之外,还有你不得不知的其他虚拟货币。”的确,比特币源代码是公开的,谁都可以复制它,修改几个参数,然后宣布创造了自己的货币。目前,市面流行的虚拟货币有莱特币等山寨币,也有硅谷风投所支持的Ripple,还有加拿大皇家制币厂发行的MintChip,它们都或多或少借鉴了比特币去中心化的设计思想。怀疑主义者的疑虑是,比特币的护城河在哪里?
比特币社区有一个共识,即山寨币很难威胁到比特币。以莱特币为例,不同于比特币采用SHA-256算法挖矿,莱特币采用的是Scrypt算法,其计算过程依赖于内存和CPU,使得许多用户用普通电脑就可挖出莱特币,而昂贵的FPGA、ASIC却因内存限制而难有作为,所以莱特币挖矿显得更“环保”(节省算力),也更“公平”。但这只是一种错觉,莱特币挖矿的“环保”是以牺牲安全性为代价的。2013年5月,比特币的全网算力是全球排名前500名超级计算机的总和的8倍,达158THash/s;而莱特币因CPU挖矿的性能限制,全网算力仅为15GHash/s,这意味着后者随时都有被僵尸网络接管的可能。僵尸网络中最多可包含数十万台机器,如暴风木马拥有25万个节点,假设这些机器的平均性能等同酷睿2双核的算力(5MHash/s),那么暴风木马控制的僵尸网络算力将达到1.25 THash/s,远远超过莱特币的全网算力。又如另外一个自称更“环保”的虚拟货币Freicoin,有好事者仅用两块ASIC芯片就成功地发起了一次51%攻击。
莱特币挖矿的“公平”也是个假象,从理论上说,任何一种挖矿算法都可以为其设计专门的集成电路,这只是个难度问题。事实上,国内已经有人在开发莱特币矿机,他用LX150芯片做一个150M的核,理论速率为60KH/s。莱特币的设计者查尔斯・李也承认:“莱特币刚开始时只有CPU挖矿,一年之后,有人发现也能使用GPU挖矿。一些人认为莱特币比比特币更公平,因为系统还不存在任何集成电路矿机,但这恐怕只是一个时间问题。”
莱特币的拥趸还声称,莱特币每2.5分钟就处理一个区块,而比特币是10分钟处理一个,因而前者的交易确认速度更快。这也是一个误解,对区块链发起一次“双重支付”攻击的进度服从泊松分布,其攻击成功的概率随区块数的增长而呈指数级下降。通过计算不难得出,当区块数大于6个时,攻击成功的概率将下降到忽略不计的程度,这也正是比特币建议6个确认数方可保障交易安全的依据。当区块的处理速度提高至比特币的4倍时,攻击者制造出一个假节点的成功概率也急剧上升,通过计算泊松分布的概率密度,避免双重支付攻击所需要的节点确认数也将上升至比特币的4倍,即莱特币需要24个节点确认才能达到比特币6个节点确认的安全性。
比特币堆积庞大算力、消耗巨大能源,其目的却是解一堆毫无意义的数学题,这一设计思想一直饱受批评。马克・吉梅恩在彭博社发文称,比特币采矿创造了现实世界的环境灾难。他指出,比特币每天采矿需要耗费98.2万度电,足以为3.1万美国家庭供电,是大强子对撞机所需电力的一半。在《纽约时报》的专栏文章中,保罗・克鲁格曼引用亚当・斯密的话称:“金银货币最愚蠢的地方是它们的功能是象征性的,但在生产中却需要消耗真实的资源,用纸币取代它们是明智之举。虽然现在是信息技术时代,但比特币却在复制亚当・斯密于18世纪所说的愚蠢。”就连比特币的支持者也不甚了解这一设计思想。米塞斯圈的一位专栏作者撰文称,比特币穷兵黩武地堆积算力,跟孔雀进化出华丽的尾巴、爱尔兰大鹿进化出3.6米的大角一样,是囚徒博弈的最佳选择,这在生物学上叫作累赘原理[8]。这种解读当然很无厘头,与比特币“计算即权力”的设计思想相去甚远。
既然比特币网络拥有堪称人类有史以来最大的算力集合,为何不把这些算力用于蛋白质折叠、寻找外星人、寻找素数等功在千秋的科学计算呢?素数币便是这样一个自称“非能源效率”的山寨币,它企图将算力用做寻找素数的科学计算。它的发明人雄心勃勃地写道,“加密货币目前已经分道扬镳为两条道路,一种是能源密集型,一种是环保节能型。我相信,在未来较长一段时间内(5年以上),环保节能型货币将因其成本优势而开始挑战能源密集型货币。素数币第一次引入非哈希现金的工作量证明机制,使得算力不仅仅用来制造区块链,还提供额外的潜在科学价值。”
很遗憾,既要用算力来保障P2P货币安全性,又要用算力来做有用的科学计算,这是一个二律背反。比特币社区的计算机工程师认为,把“难度可调”的NP难度问题(比如SHA-256算法)嵌入蛋白质折叠算法是可能的,使计算蛋白质折叠问题成为挖矿的一个副产品。挖矿除了生产货币之外,还能产生社会效益。但这种貌似“有用的”的工作量证明算法实际上会对区块链的安全性构成威胁。试想一下,使用比特币挖矿算法来进行蛋白质折叠、寻找外星人、寻找素数等分布式计算,比特币的安全性根基(没有任何节点可以控制全网大部分算力)就崩溃了。因为分布式计算的工作量是可叠加的,随着工作量证明功能的“有用部分”的增长,攻击成功的可能性也在增长。即使你一个区块也没找到,你完成的工作量仍然对别人有用,黑客可利用你完成的这部分工作量降低网络攻击的成本。所以,理想的设计是矿工完成的工作量对其他人来说是无用的,这样才能保证他们扔掉的计算量是一个与硬件成本、电力、运气或带宽有关的商品。
为此,素数币做了一定改进,设计了一个非可重用性的工作量证书,即一个区块上的工作量证书不能用于其他区块。为实现此点,它将素数链连接到的区块头哈希除以父级区块头的哈希所得的商作为工作量证书。工作量证书与区块的哈希值一同嵌入子区块中,这样不仅能够防止工作量证书被篡改,同时可以避免产生一个可在多个区块上重复使用的工作量证书。这种改进的效果是,将一万个人同时挖一个坑的游戏变成了一万个人同时挖一万个坑的游戏,任何人完成的寻找素数工作量都只能为己所用,素数币的计算资源并未用于分布式计算,计算成果未能实现全网共享,计算负载也未能在节点中平衡。可见,它本质上仍然是一种能源密集型货币,与它“非能源效率”的设计初衷相悖。