第四节 比特币未来展望

(一)范式的转换

“我们计算机专家们都失去常识了吗?实际上,不会有一个在线数据库可以取代我们每天的报纸,没有 CD-ROM 可以取代一个启迪心灵的老师,没有一个计算机网络可以改变政府运作的方式。”这是1995年《新闻周刊》上的一篇评论文章,它代表在变革到来的前夕人们对互联网的一个典型观点,当时许多人都认为互联网就是一个噱头,缺少编辑者,缺少审核者,就像是一个被粗制滥造的数据填满的海洋。时至今日这篇文章仍时常被人提起,因为人们需要重温这段历史,来警醒自己不要漠视新生事物,即使在它还是蹒跚学步的婴儿时代。

有时候现实发生很久,人们才承认它是现实。人的大脑是在非常缓慢的原始环境中进化而来的,要适应如此飞速发展的变化的确很难。令人意外的是,一些领域的行业专家、意见领袖,也对比特币并不看好,甚至持有较深的偏见,他们对比特币的理解还不如一些小白深刻,知名职业经理人唐骏就在电视节目中闹出“打比特币”的笑话。但这也是可以理解的,哲学家托马斯·库恩(Thomas S.Kuhn)提出一个范式转变(Paradigm shift)的概念,他指出是科学不是事实、理论和方法的简单堆积,更不是知识的堆积,而是通过范式的不断转换来进行的革命进程。对大部分情形,经验很有帮助。但遇到范式转变时,经验是有害的,一张白纸反而更有利。比如很多C语言程序员,习惯了函数式的问题分析方法,对C++这种面向对象式编程却不适应,初学者学C++反而更容易。对于专家们来说,他们固若金汤的知识体系与丰富的经验就构成了他们认识新事物的障碍。佛曰:知见障,所知太多而阻障修道矣。对传统经济学而言,比特币就像是一只冒然闯入的黑天鹅,它不仅废除了被认为是金融智慧最高成就的中央银行制度,还让建立于信用货币基础之上的高度杠杆化的金融金字塔有了崩塌的危险。正如百万台大规模集成电路击溃由高等祭司所卫护垄断的中央服务器,比特币也将打破金融婆罗门的垄断。对于一种颠覆性的技术,用过去的知识体系来评价它显然有失公允,因为它的诞生,本身就是为了打破过去的框架,创造新的金融结构与商业模式。

另一方面,比特币的支持者似乎并不介意四面八方质疑的声音,有些朋友在了解比特币才几天的情况下,就像从水晶球里窥见了未来,迫不及待的投入全部家当,购入比特币资产或矿机,或辞掉工作投入比特币创业。这种乐观情绪又似乎来得太过突然了,就算是历史上那些大获成功的技术产品,比如电话、电视、移动电话等,在指数爆炸式增长的前期,也有过一段异常艰辛且漫长的历程,长期无人问津甚至永久消失了,一段时间的领跑者未必会成为最终的胜利者,有人还记得Netscape、Napster吗?在比特币支持者情不自禁吹捧它的美好时,或者比特币的批评者下意识地撅起嘲讽的笑意时,双方不妨都提醒下自己,它只是一个诞生才四年的东西。它起始于粗糙,发韧于不羁,还有太多不确定性可供我们探讨与想象。

(二)比特币怎样自我进化?

比特币的自我进化建立在三点共识之上:1)对价值的共识:比特币不仅仅是一个货币,它也是一种技术,需要正确的运行才能保障它的价值。2)对规则的共识:参与者决定哪些交易规则是被允许的,哪些不是。定义交易合法性的规则被写下来后,它们不能自动执行。参与者必须忽略那些不符合规则的交易,而只接受符合规则的交易。3)对历史的共识:参与者须认同比特币经济的历史交易,否则,就无法知道谁拥有哪些比特币。

公众对比特币的一个常见误解是,比特币规则一开始就被中本聪写死了,以后再也不能更改。中本聪确实创建了比特币初始规则集,但它们在任何时候都可以被修改,只要比特币全网形成一个共识,即比特币社区需要修改该规则。

还有一个误解是,比特币规则可以自动执行,但事实并非如此。比如数字签名,一种数学确定性加密,不管是否正确,它并没有自动执行。你随时都可检测到一个不正确的数字签名,但这些不正确数字签名的交易只有在你选择忽略它们时才默认为无效。

比特币维基上开宗明义地写道:比特币协议可能会在未来为创造更多可扩展性或安全需要而更改。那么,比特币协议怎么实现不断更新呢?

协议更新在技术上是很简单的,比如在源代码中添加一个条件:如果区块数<= 200000,以旧的方式执行;否则,用新的方式。

协议更新其实不是一个技术问题,而是一个政治问题,因为更新可能会触犯某些人的利益,比如货币以更快的速度发行,这可能会遭到大多数人的反对。又如,若更新没有被广泛接受,那么将出现一个区块链的分叉,失败的一方(通常是采用新规则的区块链)将被忽略。

幸运的是,比特币协议的历次更新都得到了全社区的计算力投票通过,通过这些更新,修补了OP_LSHIFT崩溃、无限SigOp DOS、联合输出溢出等多处BUG。

明白上述机制,我们不难发现许多对比特币的质疑其实并不成立。比如2013年5月的新闻:谷歌参与研制的D-Wave量子计算机的运算速度较配置英特尔芯片的传统计算机快1.1万倍,让很多人惊呼:比特币已死!因为SHA-256算法很可能会被量子计算机破解。其实SHA-256算法并不是比特币所独有的算法,互联网上大到网银的数字证书小到USBKey等硬件密钥,使用SHA-256算法的比比皆是。故SHA-256算法被破解,不仅是比特币的危机,更是整个互联网的灾难。

而且,相对于动则上千台服务器的银行系统,去中心化的比特币对算法破解的应对效率可能会高效得多。比特币社区可以按以下步骤应对潜在危机。

首先,在任何人都可以使用新算法之前,预先推广内置新算法的客户端。一旦发生算法破解危机,早期使用新版客户端者(一般情况下是矿池)开始创建新的密钥格式并让区块链接受它们。如果效果很好,标准的客户端将默认为新密钥。随着时间推移,最终每个人都同意交易只能使用新的密钥,从而淘汰“旧币”。

(三)比特币的护城河在哪?

一个显而易见的担忧是,比特币作为一门技术,会被更高级的技术所取代吗?有媒体意味深长的写道:“别再只说比特币了,这儿除了比特币之外,还有你不得不知的其它虚拟货币。”的确,比特币源代码是公开的,谁都可以复制它,修改几个参数,然后宣布创造了自己的货币。目前,市面流行的虚拟货币有Litecoin、PPcoin等山寨币,也有硅谷风投所支持的Ripple,还有加拿大皇家铸币厂发行的MintChip,它们都或多或少借鉴了比特币去中心化的设计思想。怀疑主义者的疑虑是,比特币的护城河在哪?

在比特币社区里,一个广泛的共识是,山寨币很难威胁到比特币。以Litecoin为例,不同于比特币采用SHA256算法挖矿,Litcoin采用的是Scrypt算法,其计算过程依赖于内存和CPU,使得许多用户用普通电脑就可挖出LTC,而昂贵的FPGA、ASIC却因内存限制难有作为,故Litecoin的挖矿显得更“环保”(节省算力),也更“公平”。但这只是一种错觉,Litecoin挖矿的“环保”是建立在牺牲安全性的前提下。2013年5月,比特币的全网计算力是全球排名前500名超级计算机的总和的8倍,达158THash/s;而Litecoin因CPU挖矿的性能限制,全网计算力仅为15GHash/s,这意味着后者随时都有被僵尸网络接管的可能,僵尸网络中最多可包含数十万台机器,如暴风木马拥有25万个节点,假设这些机器的平均性能等同酷睿2双核的计算力(5MHash/s),那么暴风木马控制的僵尸网络计算力将达到1.25 THash/s,远远超过Litecoin的全网计算力。又如另外一个自称更“环保”的Freicoin,有好事者仅用两块ASIC芯片就成功完成一次51%攻击。Litecoin挖矿的“公平”也是个假象,理论上说,任何一种挖矿算法都可以为其设计专门的集成电路,这只是个难度问题。事实上国内已经有人在开发Litecoin矿机,他用LX150芯片做一个150M的核,理论速率为60KH/s。Litecoin设计者查尔斯·李(Charles Lee)也承认,“Litecoin刚开始时只有CPU挖矿,一年之后,有人发现他们也能使用GPU挖矿。一些人认为Litecoin比比特币更公平,因为系统还不存在任何集成电路矿机,但这恐怕只是一个时间问题。”

Litecoin的拥趸们还声称,Litecoin每2.5分钟就处理一个区块,而比特币是10分钟处理一个,因而前者的交易确认速度更快。这也是个误解,对区块链发起一次“双重支付”攻击的进度服从泊松分布[21],其攻击成功的概率随区块数的增长而指数下降,通过计算不难得出,当区块数大于6个时,攻击成功的概率将下降到忽略不计的程度,这也正是比特币建议6个确认数方可保障交易安全的原因所在。当区块的处理速度提高至比特币的4倍,攻击者制造出一个假节点的成功概率也急剧上升,通过计算泊松分布的概率密度,避免“双重支付”攻击所需要节点确认数也将上升至比特币的4倍,也就是说Litecoin需要24个节点确认才能达到比特币6个节点确认的安全性。

比特币堆积庞大计算力、消耗巨大能源却用来解一堆毫无意义的数学题,这一设计思想一直饱受批评。马克·吉梅恩(Mark Gimein)在彭博社上发文认为比特币采矿创造了现实世界环境灾难,他指出比特币每天采矿需要耗费982兆瓦时电力,足以为3.1万美国家庭供电,是大强子对撞机所需电力的一半。保罗·克鲁格曼(Paul R. Krugman)在《纽约时报》专栏文章中引用亚当斯密的话称,“金银货币最愚蠢的地方是它们的功能是象征性的,但在生产中却需要消耗真实的资源,用纸币取代它们是明智之举。虽然现在是信息技术时代,但比特币却在复制亚当斯密于18世纪所说的愚蠢。”就连比特币的支持者也对这一设计思想不甚了了,米塞斯圈(Mises Circle)的一位专栏作者撰文说,比特币穷兵黩武的堆积计算力,跟孔雀进化出尾大不掉的华丽尾巴、爱尔兰大鹿进化出3.6米的大角一样,是囚徒博弈的最佳选择,这在生物学上叫作累赘原理[22]。这种解读当然很无厘头,与比特币“计算即权力”的设计思想相去甚远。

既然比特币网络拥有如此高的计算力,堪称人类有史以来最大的计算力集合,为何不把这些计算力用于蛋白质折叠(Folding@Home)、寻找外星人(SETI@home)、寻找素数等功在千秋的科学计算呢?素数币(PrimeCoin)便是这样一个自称“非能源效率”的山寨币,它企图将计算力用来作寻找素数的科学计算。它的发明人Sunny King雄心勃勃的写道,“加密货币目前已经分道扬镳为两条道路,一种是能源密集型,一种是环保节能型。我相信,在未来较长一段时间内(5年以上),环保节能型货币将因其成本优势开始挑战能源密集型货币。素数币第一次引入非哈希现金的工作量证明机制,使得计算力不仅仅用来制造区块链,还提供额外的潜在科学价值。”

[21] 一种统计与概率学里常见到的离散概率分布,由法国数学家西莫恩•德尼•泊松(Siméon-Denis Poisson)在1838年时发表。

[22] 累赘原理(handicap principle),由以色列生物学家扎哈维(A.Zahavi)提出,一桩事可能因为它有危险却能带来更大的机遇。

很遗憾,既要用计算力来保障P2P货币安全性,又要用计算力来作有用的科学计算,这是一个二律背反。比特币社区的计算机工程师认为,把“难度可调”的NP难度问题[23](比如SHA-256)嵌入蛋白质折叠算法是可能的,使得计算蛋白质折叠问题成为挖矿的一个副产品,挖矿除了生产货币之外,还能产生社会效益。但这种貌似“有用的”的工作量证明算法实际上对区块链的安全性构成威胁。试想一下,使用比特币挖矿算法来进行Folding、SETI、寻找素数等分布式计算,比特币的安全性根基“没有任何节点可以控制全网大部分计算力”就崩溃了。因为分布式计算的工作量是可叠加的,随着工作量证明功能的“有用部分”增长,攻击成功的可能性也在增长。因为即使你没有成功找到一个区块,你完成的工作量仍然对别人有用,黑客可利用你完成的这部分工作量,来降低网络攻击的成本。所以,理想的设计是矿工完成的工作量对其他人来说是没有用的,这样,才能保证他们扔掉的计算量,是一个与硬件成本、电力、运气或带宽有关的商品。

[23] NP难度问题(non-deterministic polynomial-time hard),可以在多项式时间图灵归约到NP完全问题的问题。

为此,素数币作了一定改进,设计了一个非可重用性的工作量证书,即一个区块上的工作量证书不能用于其它区块。为实现此点,它用素数链连接到的区块头哈希除以父级区块头的哈希,所得的商作为工作量证书。工作量证书与区块的哈希值一同嵌入到子区块中,这样不仅防止工作量证书被篡改,也同时避免产生一个可在多个区块上重复使用的工作量证书。这种改进的效果是,将一万个人同时挖一个坑的游戏变成了一万个人同时挖一万个坑的游戏,任何人所完成的寻找素数工作量都只能为己所用,素数币的计算资源并未用于分布式计算,计算成果未能实现全网共享,计算负载也未能在节点中平衡,它本质上仍然是一种能源密集型货币,与它“非能源效率”的设计初衷难合卯榫。

还有一个严重的问题是,素数在数轴上的分布不是均匀的,位数越大则越稀少,寻找难度呈指数增长,工作量证明却需要难度是平滑增长的。这意味着越到后面,素数币的交易越难确认,甚至不能确认。素数币的解决方案是用一种费马测试的改进版来进行素性测试,这样可以提高效率节省计算时间,但这是一种不完备的筛选。因为费马测试是基于费马小定理的逆定理,而该定理已经被证明不成立,费马素性测试得到是伪素数,素数币寻找到的坎宁安链越到后面越不可信,其寻找素数的所谓“潜在科学价值”恐怕也只能停留在“潜在”之上了。

一些朋友将山寨币之于比特币的关系,视作其他贵金属之于黄金的关系,比如Litecoin就用心良苦的把货币总量设计为比特币的四倍,企图像白银锚住黄金价格一样,锚住比特币的汇率。Litecoin的推广词就是:如果说比特币是数字金币,那么Litecoin就是数字银币。还有Feathercoin把货币总量设计为Litecoin的四倍,试图成为数字铜币。这种想法似乎过于一厢情愿了,因为元素周期表上的元素终究是有限的,而山寨币却可无穷复制,层出不穷的模仿者最终只能稀释所有模仿者的价值,自2013年5月以来,社区以每天两三个的速度发布新的山寨币,几乎所有山寨币都呈现下跌走势,PPcoin从最高的0.003BTC跌到0.0014BTC,Yacoin从最高0.0006BTC跌到0.00015BTC,还有更多的不知名山寨币走在价值归零或退市的穷途末路。

就目前市面上出现的山寨币或其它虚拟货币来看,尚未发现有价值的技术创新。其实,就算后来者涌现出突破性的技术创新,比特币社区也很容易借鉴过来,将之添加进比特币核心协议,并升级客户端。“没有护城河,才是终极护城河。”一个比特币迷在微博上如是说。比特币就像车轮一样的发明,重复发明轮子是徒劳无益的,因为世界本质上只需要一种数字货币。但山寨币并不是毫无意义的,它的存在有助于比特币的自身进化。由于比特币生态已经蔚为大观,社区对每次可能导致“硬分岔”的协议升级都非常慎重,山寨币的存在则可以充当实验用小白鼠的作用。比如彩色币、零币等应用,可以率先添加进Litecoin等山寨币的协议,如果获得成功,转而应用于比特币之上,这将大大降低协议升级、软件更新所带来的“硬分岔”风险。

(四)比特币会内部崩溃吗?

与传统的层次分明的金字塔组织方式不同,比特币因其去中心化的P2P网络结构,开启了一种开放式的信息组织与进化模式:没有命令,只有很弱的组织,相当于蚂蚁筑巢。比特币社区继承了开源社区的传统,用倾听取代强权,用沟通取代命令,用协商取代控制。比特币社区唯一官方意义的组织是比特币基金会,仿照Linux基金会的模式建立,依靠用户捐助的比特币维持运营,负责组织比特币核心协议的完善、客户端的升级、安全性的监督、法律事务以及与政府机构的接触等。

比特币社区也不存在真正意义上的领袖,加文·安德烈森被视作中本聪的继承者,他是比特币社区的仲裁者和架构师,同时负责协调比特币核心程序的优化。加文成为比特币社区领导者的过程非常简单,起初他向中本聪提交优化比特币核心系统的代码,中本聪逐渐对他的代码有了信任。有一天,中本聪问他是否可以将其邮箱地址放在比特币的主页上,加文同意了。从此,比特币主页上中本聪的邮箱地址被加文的所取代,项目的领导者象征性的过渡给了加文,中本聪则退到了幕后,甚至消失了。中本聪与加文·安德烈森都不能对比特币社区发号施令,与普通开发者的唯一区别是,他们拥有一个可以在客户端添加警报的密钥。

比特币社区信奉海盗式的民主,每个节点都可用自己计算力来进行投票,任何针对客户端的改进、协议的修改与添加都将置于计算力投票的监督范畴内,只有被全网51%以上计算力所接受的改进才能真正视作有效。与海盗社会一样,差劲的领导者会很快被社区所抛弃。历史上曾有一伙海盗在某趟航程中更换了13个船长,还有个叫本杰明·霍尼戈(Benjamin Hornigold)船长,手下们罢免他的原因居然是他“拒绝攻打和劫掠英国船只”。试想一下,若比特币社区真的存在一个为所欲为的“船长”,比如加文在客户端里加入了某种后门程序,可以让他轻易的挖到比特币,或者他独断专行,执意推行被社区多数人所反对的协议升级,那么用户完全可以无视其发布的程序,采用社区其它程序开发者的程序交易比特币或挖矿即可。

中本聪认为,自1990年代以来Beenz、Flooz等虚拟货币先驱尝试的失败,主要是由其中心化的组织结构所造成的。这是因为一旦为虚拟货币信用背书的公司倒闭,或保管总账的中央服务器被黑客攻破,该虚拟货币即面临信用破产与内部崩溃的风险。所以,他将比特币设计为全分布式拓扑结构,这也是人类历史上第一次尝试去中心化、不再依赖对中央发行机构信任的货币系统。一般认为,全分布式的拓扑结构具有良好的可扩展性、鲁棒性和自组织性,像蚂蚁社会一样,拥有不可思议的自我修复能力。科幻小说《马姨》构思了这样一个故事情节,有人用蚁群设计了一个自组织的机器智能“马姨”,以蚂蚁个体的本能行为执行计算机指令,并通过代码手册与人进行交流,在整体上表现出一定的机器智能。主人公从蚁群中拈走一些个体,惊奇的发现“马姨”的运行一切正常。比特币就是这样一个强鲁棒性的系统,每时每刻都有大量节点频繁的加入或退出,但丝毫不能影响全局结构的稳定性。比特币社区里有人打趣道:“这就好比在诺克斯堡[24]周围每隔十英尺安排一个武装狙击手,仅仅是用来保护一袋分币钢崩儿。让这些狙击手一半回家休息,这袋钢崩儿的安全性丝毫不会降低。”同样,技术上关闭比特币是很困难的。2009年2月,中本聪在IRC频道写道:“政府擅长击溃Napster那样拥有中央控制的网络,但是Gnutella 和Tor 这样完全P2P的网络看起来依旧安枕无忧。”

[24] 诺克斯堡(Fort Knox),一个位于美国肯塔基州的装甲师训练基地。

值得一提的是,另一个自称分布式的虚拟货币Ripple在网络结构上与比特币却有着本质的区别。比特币网络结构符合随机网络特征,节点连接是随机的,大部分节点的连接数目会大致相同,即节点的分布方式遵循钟形的泊松分布,存在一个特征性的“平均数”。连接数比平均数高许多或低许多的节点都极少,随着连接数的增大,其概率呈指数式迅速递减。而Ripple网络更类似于无尺度网络[25],它引入的“共识(Consensus)”机制,是通过特殊节点的投票来对交易进行验证和确认。而这些特殊节点往往拥有大量的连接,大部分普通节点的连接数却很少,节点连接数符合齐普夫定律[26]。这种特殊节点的存在使得Ripple网络对意外故障有强大的承受能力,但面对协同性攻击时则十分脆弱。研究表明,面对蓄意的协同攻击时,只要5-10%的集散节点(拥有大量的连接的节点)被移除,无尺度网络就将彻底瘫痪。更糟糕的是,Ripple客户端为加快确认速度,不需要下载区块链,而是在普通节点上舍弃掉已经验证过的总帐本链,只保留最近的已验证总帐本和一个指向历史总帐本的链接,显然,那些保管历史总账本的服务器就成了它的阿喀琉斯之踵。尽管OpenCoin公司小心的隐藏了服务器端源代码,但对于黑客来说,找到通往服务器之门并不是一个技术问题,而是一个经济学问题,随着Ripple网络的交易额逐渐上升,黑客对它的欲望也在愈演愈烈。2013年6月,Ripple连续发生好几起在线钱包失窃事件,虽然这些失窃可能都是用户密码设置的疏忽所致,而不是来自系统攻击,但也在表明,一大波黑客正在向Ripple袭来。7月,Ripple平台遭遇分布式拒绝服务攻击(DDOS攻击),黑客从一个帐号向另外一个帐号发起大量小额转账操作,让Ripple平台的服务器无法响应和支撑其它用户正常的交易请求,造成Ripple服务中断长达十几个小时。可见,在抗攻击问题上,Ripple与过去的Beenz、Flooz等虚拟货币以及“自由美元”等私铸货币并无本质不同,这也难怪一个资深用户讽刺Ripple说,疯子就是一遍一遍做同样的事,却期待不同的结果。

但是,既然比特币出于安全性、健壮性考虑,致力于建设去中心化的全分布式结构,中本聪为什么亲自设计了中心化的矿池呢?目前,BTCGuild、50BTC、ASICMiner三大矿池已经占据全网64%的计算力,这意味着三大矿池若联手,将足以对比特币网络发起51%攻击。黑客丹·卡明斯基(Dan Kaminsky)在2013比特币大会上表示,比特币网络存在系统性风险。反对者却认为,矿池的存在是对比特币安全性的增强。

[25] 无尺度(scale free)网络,由少数—些具有众多连接的节点(或称集散节点)所支配的网络。

[26] 1932年,哈佛大学的语言学专家齐普夫(Zipf)发现,语言中每个单词出现的频率与它的排名的常数次幂存在简单的反比关系,只有极少数的词被经常使用,而绝大多数词很少被使用,这种分布就称为齐普夫定律。

矿池对比特币网络的组织起到什么作用?凯文·凯利在《技术元素》里提出一个思想,“只从底部出发还不够。”即使是互联网最大的开放性自组织工程维基百科,也不是完全自下而上的组织形式,维基百科的维护者设计了严密的条框来防止网络小白(Troll)任意修改词条,超级管理员可以采用精英编辑的建议单方面屏蔽他们。凯文·凯利认为,在网络经济中,真正的商业和组织艺术不在于控制包括“每个节点”的群体,而是在最佳时间为每一个利基市场[27]找到底层和顶层的最佳组织。矿池的存在可以让比特币网络对安全预警、漏洞修复的反应更高效。2013年3月,比特币0.7版和0.8版客户端因区块大小限制的不同而导致不兼容,互不承认对方的有效性,比特币网络面临分裂的危险局面。比特币社区发出警报之后,几大矿池迅速响应社区的呼吁,将客户端切换到了旧的版本,仅用了几个小时便化解了这次危机。试想一下,若没有矿池的存在,全网几百万个节点需要在短时间内同时切换客户端才能避免这一危机,这恐怕是不现实的。

在比特币的工作量证明机制中,计算力即投票权,计算力越大,权力则越大,责任也就越大。所以,在比特币基金会的成员名单上,你看到各大矿池的管理者名字也就不足为怪了。中本聪认为,如果是用节点数即IP地址的多少来决定谁是大多数,即一IP地址一票,那么拥有分配大量IP地址的权力的人,比如僵尸网络,就有可能主宰比特币网络。而工作量证明机制的本质是一CPU一票——计算即权力。拥有更高计算力的人他更有责任保障全网的安全,因为比特币的挖矿激励机制使得在非合作博弈中存在一个纳什均衡[28],即把计算力用于诚实挖矿较用于发起双重支付攻击获得的回报更高。2013年4月,矿池BTCGuild的计算力份额一度接近全网一半,引发了社区对51%攻击的担忧。为此,BTCGuild的管理员Eleuthria主动限制了计算力的增长,规定如果矿池计算力超过了45%,将移除所有基于getwork的服务器,并关闭新注册用户,直到计算力回到40%以下。矿池拥有者有比普通用户更强的意愿去杜绝51%攻击的发生,艾留斯利亚(Eleuthria)在社区发贴说,“显然,我不能等到矿池计算力份额到了49.9%时才采取措施,即使51%攻击只有在控制它的人决定这样做时才会发生。”一个理性的决策者绝不会把可兑现成真金白银的计算力用来发起回报有限的攻击。退一步说,即使矿池的拥有者有一些是疯子,他们无视利益的大小,执意对比特币网络发起攻击。比特币社区发起警报之后,矿池的用户只需停止运行自己的矿机,或切换为普通方式挖矿,便可让疯狂矿池的阴谋落空。毕竟矿池只是承担计算任务分发与挖矿奖励分配的平台,而不是矿机的真正拥有者。

[27] 利基市场(niche market)指针对高度专门化需求的细分市场。

[28] 纳什均衡(Nash equilibrium)是非合作博弈中的一种策略组合,使得每个参与人的策略是对其他参与人策略的最优反应。

(五)比特币会成为标准吗?

如果说开源操作系统Linux就像芬兰史诗《卡勒瓦拉》那样不断完善,由最初的约1000行代码,经黑客社区的义务贡献,成长为目前规模达100万行的庞大系统,那么,今天的比特币正沿袭这条英雄史诗之路,像远古的巨茎植物一样不断向天空生长。在过去三年中,共有120多位程序员为Bitcoin-QT提交了5000多次代码改进,为比特币开发应用程序与网站的程序员更是逾以千计。比特币核心协议在不断自我完善,而零币、彩色币、域名币、分布式合同、智能资产等新的拓展协议也在跃跃欲试,试图添加进比特币核心代码,或构建在比特币协议基础之上,延伸出其它领域的应用。这是一座真正的通天塔!传说巴比伦塔直插云霄,欲与天公试比高。上帝为之震怒,为惩罚这些狂妄的人们,他让建筑巴比伦塔的人们使用不同的语言,因语言的不通,还没完工的巴比伦塔很快就废弃了。也许未来货币也将面临同样的问题,比特币越来越像是一个开放式基础平台,但它会成为虚拟货币世界的通用语言吗?

如前所述,比特币提供了三个层次的开放性,让货币与金融成为程序员施展创造才华的天堂,以比特币为基础平台,可提供数不胜数的更高层次服务,例如资金混合、货币兑换、财务管理与预警、市场数据分析、计量服务等等。如果将比特币视同于互联网的IP协议,那么就不单会有类似TCP(传输控制协议)的API和协议扩展,还会有在此之上的协议层提供的各种服务,类似互联网的SMTP、HTTP等应用层协议。比如利用底层的分布式总帐,开发者推出了存在性证明、期货合约、数字版权等应用。正如Group合伙人安德烈亚斯(Andreas Antonopoulos)所言,“货币作为一项服务,通过开放的、灵活的、强大的API构成一个完整的经济体系,一切都只是一个JSON请求。如果你认为比特币只是电子货币,那么你只看到了冰山一角。”

互联网协议的发展有很强的“路径依赖”特性,好比物理学中的“惯性”,一旦选择进入某一路径,哪怕该路径具有某种缺陷,也会对这种路径产生依赖。

美国铁轨的故事[29]有助于我们理解这一概念,美国铁路两条铁轨之间的标准距离是四点八五英尺,为什么是这个尺度而不是别的什么尺度呢?原来这是英国的铁路标准,因为美国的铁路最早是由英国人设计建造的。那么,为什么英国人用这个标准呢?原来英国的铁路是参考电车轨道而设计的,而这个四点八五英尺正是电车所用的标准。追溯电车轨道的标准,我们会发现,原来最先造电车的人是用马车的轮宽做标准的。好了,那马车的轮距为何是这么宽呢?这是因为英国的旧马路上布满了这个宽度的辙痕,如果用任何其他轮距的话,马车的轮子很快会磨坏的。为什么旧马路上会有四点八五英尺宽度的辙痕呢。答案是古罗马人留下的,四点八五英尺正是罗马战车的宽度。罗马人为什么用四点八五英尺为战车的轮距宽度呢?原因很简单,这是两匹拉战车的马的屁股的宽度。“路径依赖”的故事时至今日仍没完,下次你在电视上看到美国梭立在发射台上的航天飞机雄姿时,注意看在燃料箱的两旁有两个火箭推进器,这些推进器是由犹他州的工厂提供的。如果可能的话,这家工厂的工程师希望把这些推进器造得再胖一些,这样容量就会更大,运输更经济,但是他们不这样做,为什么?因为这些推进器造好后,要用火车从工厂运到发射点,路上要通过一些隧道,而这些隧道的宽度只比火车轨道的宽度宽了一点点。因此,我们说:今天世界上最先进的运输系统的设计,其实是两千年前便由两匹马的屁股宽度决定的,这说法看似荒谬好笑,但确也站得住脚。

[29] 有朋友指出,铁轨路径依赖的故事尚存争议,因为世界仍存各种铁轨标准,古罗马的道路主要走的不是马车,而是人力推车。但路径依赖现象在社会生活中很常见,一项制度一旦走上某条发展路径,就会在以后的发展中自我强化,并一直沿用下去。本例是否有说服力,留给读者朋友自行思索。

随着互联网的爆炸性增长,新的协议特别是高层应用协议在不断涌现,而互联网核心通讯协议TCP/IP竟然已存在了三十多年,这在瞬息万变的IT世界堪称奇迹。但按照“路径依赖”原理,这完全是合乎逻辑的。在单机上,人们可以很容易替代很多计算机技术,比如Pascal语言、Fortran语言今日已荣光不再。然而,网络协议的更换并不是那么简单,它要求整个网络的所有设备都进行更新,这也是为什么IPv4面对地址耗尽的压力仍能长期存活的原因之一。有一些网络协议的设置在今天看来很笨拙,但放在当时,就是聪明的解决方案,而后来的协议必须兼顾之前已有的协议。合并挖矿的实现,让域名币、彩色币等其它应用的区块链并入到比特币网络中来,恰如新建的铁轨采用同样制式并入到已有的铁轨网络一样,是一个路径依赖的过程。不难想象,当域名币、彩色币、分布式合同等应用得到推广,建立于其上的相关应用亦必将沿用比特币的区块链。Litecoin等山寨币如雨后春笋般的冒出来,但它们很难吸引到追随者为其完善代码和开发应用。更何况比特币矿池的设计,让比特币协议的自我更新效率远远高于传统互联网协议,这让Litecoin等后来者追上比特币的步伐并取而代之难上加难。如果哪天,未婚妻要求你完成六次求婚方确认有效,你也许会想起那个关于两匹马的屁股宽度的笑话了。

(六)为什么数学比人可靠?

(1)数学让世界更守信

2013年5月,在伯克希尔·哈撒韦公司的年度股东大会上,有投资者向巴菲特、比尔盖茨、芒格三位牛人问起对近期风头正劲的比特币的看法,比尔盖茨言简意赅的评价比特币为技术杰作;芒格却对比特币嗤之以鼻,说它是老鼠药;巴菲特则像一只狡猾的老狐狸,绕着弯说:“我不了解比特币,但我知道他们两人只有一个是对的。”这一幕就像示巴女王见所罗门王的故事一般,充满寓言般的隐喻。传说示巴女王闻所罗门王素有智慧盛名,故不辞千里来见所罗门王,看他的治国艺术。有两人纠纷请求所罗门王的裁决,所罗门王听完一人的申诉后说,你说得对;听完另一人的申诉后又说,你说的也对。示巴女王大为不解,他们二人怎么可能都对?所罗门王微笑着说,你也是对的。这两个故事鲜明的道出一个真相,在处理是非难辨的人类事务时,圆滑、模糊的手段是合乎情理的,但对于比特币这样一个冰冷的数学产物而言,逻辑是唯一的评价标准,硬币只会以一面朝上--比尔盖茨与芒格、比特币追随者与怀疑者们之间,必然有一方是错的。

比特币被人广为诟病的一点就是,没有人能为它的信用背书,缺乏一个让人信赖的权力机构来保障比特币的安全与价值,如果比特币崩盘,用户只能自己承受损失。比特币支持者的观点则恰好相反,他们认为,正因为在比特币的系统中不存在货币发行机构和交易担保,而只有严密的数学算法,它才是最安全的,因为数学是诚实可靠的。以一个简单的思维实验为例,其它使用工作量证明机制的P2P货币能击败比特币吗?答案是,不可能,因为在它的计算力快要追上比特币之前,它已经被比特币网络的计算力所攻陷了。这就好比一个说法,没有人能击败逻辑,因为要击败逻辑,你还得使用逻辑。

温克莱沃斯双胞胎兄弟对此感触良深,他们说:“我们已经决定将我们的钱和信仰投入到一个数学框架中,它不会被政治和人类愚蠢的错误所干扰。”当时,人们已经知道他们大约拥有已生产的比特币总数的1%(90000多个比特币),其比特币大亨的身份难免让人怀疑他们吹捧比特币的动机,但他们只是在阐明一个事实而已。温克莱沃斯兄弟确实应该相信数学,如果比特币早点问世,他们也就用不着劳命伤财与扎克伯格打一场长达三年的官司,因为他们可以利用比特币“存在性证明”功能,轻易地证明自己才是Facebook创意的最初拥有者;如果他们当初请扎克伯格为开发ConnectU时,签订了书面协议,并将协议编码进比特币区块链,扎克伯格还敢对法庭辩解,他们间的协议与邮件都是伪造的吗?

比特币确实能让世界变得守信,更秩序,更美好,它的存在性证明、零知识有条件付款、分布式合同、智能资产等应用都无须担保中介的介入,仅用密码学原理和呼叫应答广播机制便让欺诈无处遁形,让怀疑论者无从置喙。

(2)比特币密码学的可靠性

支付宝、财付通、网银等传统电子支付工具,以邮箱地址、QQ号、银行卡号作为用户ID,用户稍有疏忽,就可能将钱打入别人的账户,在比特币世界,却不可能发生这样的事。比特币的地址看似一串无意义的数字,但有特定的结构,如果用户在拷贝或输入这串数字时出现错误,会被程序检查出来。更不会因乌龙指而将钱误转进别人的账户,比特币地址由33位Base58编码的数字或字母组成,可用的比特币地址理论上超过2160个,全世界约有263粒沙,比特币地址总数远远超过地球上所有沙的数量。错误输入的比特币地址恰好是别人的比特币地址的概率,比飞入你眼中的一粒沙,恰好是去年你在海滩踩到的一粒沙的概率还小得多。

2005年爆出一条新闻,国际上广泛应用的两大密码算法MD5、SHA-1,被山东大学的王小云教授破解了。但事实上王小云只是发现了强无碰撞,缩短了找到碰撞的时间,必须要找到弱无碰撞,才算真正破解。强无碰撞是无法产生有实际意义的原文的,也就无法篡改和伪造出有意义的明文。虽然MD5、SHA-1的安全性根基已被动摇,但就目前而言,比特币所使用的SHA-256算法仍是可靠的,美国国家标准技术研究院就建议原来使用MD5、SHA-1的安全系统都切换到SHA-256。而且,作为电子支付手段,比特币是未雨绸缪的,它并不直接使用公钥作为比特币地址,而是在公钥之上再散列两次,人们一度质疑这只带来了不必要的复杂度和浪费。但事实证明,中本聪是对的。因为量子计算机可以破解椭圆曲线数字签名算法,但它们仍不足以逆转哈希算法,这需要花掉280个步骤来完成一个比特币地址的破解,如果你的比特币资金存放在一个没有公开过的地址,它们在量子计算机面前仍是安全的。

但到了9月份的时候,又一条爆炸性新闻让比特币安全性再次面临威胁,据英国《卫报》报道,一家美国主流计算机安全公司已告知数千名用户,立即停止使用一个由美国国家安全局(NSA)开发的加密标准。这一警告发出前不久,美国前中情局雇员爱德华?斯诺登披露了NSA监控项目,称NSA采用秘密方法控制信息安全国际标准的制定,这一标准由美国国家标准技术研究所(NIST)运行,因此其可以被NSA破解,而比特币采用的椭圆曲线算法(ECC)正在其列。漏洞在于ECC的两个参数是由某个种子经哈希算法生成,而这个种子正是国安局精心选择的,他们知道不为人知的方法来弱化这条曲线。FBI得知这一消息可能会欣喜若狂,因为他们正为破解乌布利希(丝绸之路的老板)的私钥绞尽脑汁。但是很遗憾,比特币让他们失望了,中本聪使用的不是伪随机曲线,而是Koblitz曲线,如果是前者,NSA则有可能找到一条特定曲线的椭圆函数的漏洞。高效密码学组标准的现任主席Dan Brown得知比特币使用secp256k1时也深感震惊,因为只有极少数程序躲过了这一潜在灾难,比特币便是其中之一,中本聪的前瞻性可见一斑。

凯文·凯利(Kevin Kelly)在《技术元素》一书中虽然承认“比特币技术令人惊讶,复杂到几乎超越大部分外行用户的理解范围”。但他也认为,“通常来说,加密方式没有被直接破解的,都是通过使用方式被间接破解的。只要出钱足够多,任何东西都可以被黑客黑掉。”凯文·凯利怀疑的后半句有待商榷,如果你拥有比特币全网一半以上的计算力,或者你能破解SHA-256,你的确能黑掉比特币,很可惜,这两件事都不是给钱多就能办成的。但他的前半句深中肯綮,加密很少从数学上直接破解,多数是从用户这打开缺口。

以拖库攻击为例,在口令保存上使用最为广泛的算法是标准MD5。MD5算法具有不可逆的特点,即不可能从明文得到用户口令。但其不可逆的前提是,假设明文集合是无限大的,而用户设置的口令却是一个具高度统计规律的有限集。因此攻击者很容易使用“密文比对+高频统计”的方法来生成密文字典,通过对照密文字典或彩虹表,从而一举攻陷MD5加密的口令。在这个过程中,MD5算法本身是可靠的,漏洞出在用户设置口令的规律性上。

一个安全系统中最薄弱的环节,往往不是算法,而是愚蠢的人类。而比特币的设计,从一开始就排除了人的参与,地址的生成、挖矿算法的加盐(Salt)都是自动的、随机的、匿名的,天生对社会工程学攻击和彩虹表攻击免疫,无论在哪个环节,都不存在统计上的规律。著名黑客丹·卡明斯基曾花了两年时间尝试攻击比特币,他失败了。在博客上他写道:“比特币让我吃惊,它是这样一个系统:创造了一个巨大的全球云,始终保持在线接听状态,通过繁琐细致的自定义网络协议来通讯。”

(3)革命性前景

比特币优雅的数学内核甫一问世就得到了计算机界的高度赞赏,B-Money发明人戴伟(Wei Dai)认为比特币的发明“意义重大”; Bitgold发明人尼克·萨博(Nick Szabo)称赞比特币是“对世界的伟大贡献”;著名密码破译专家哈尔·芬尼(Hal Finney)称它“具有改变世界的潜力”;创业公司OnlyOneTV的布鲁斯·瓦格纳(Bruce Wagner)称其为“自互联网问世以来最令人激动的一项技术”。

硬币的另一面却是另外一种景象,诺贝尔经济学奖得主保罗·克鲁格曼将比特币定义为“金色的网络桎梏”;职业经理人唐骏在财经节目中表示,“比特币啥也不是”;人民大学财政金融学院副教授季冬生甚至认为它是“国际级博傻”。缘何汝之蜜糖,却是彼之毒药呢?

福布斯专栏作家蒂莫西·李(Timothy Lee)以公众对非对称加密技术的态度为例来解释这一现象,程序员与非程序员第一次听到比特币时的反应迥然不同,程序员对比特币普遍比较兴奋,而其他人却是不以为然。他们中许多人一开始对比特币都持怀疑态度,但他们怀疑的性质是不同的。非程序员根本看不出这里面有什么值得大惊小怪的成就,他们以为比特币与传统的支付系统比如PayPal只有细微的区别,而程序员则相反,他们立即看到比特币具有革命性的前景,它只是需要时间去说服公众,相信它的确不负盛名。

比特币从理论构建到技术实现,历经大卫·乔姆等杰出程序员数十年的技术接力,才由中本聪完成达阵。它允许财富以纯信息、零成本的形式发送给全世界任何人--这种事是2009年前人们闻所未闻的。它的作用将不会立刻显示出效果,尤其是对普通用户来说。但是,就像非对称加密技术一样,它若干年后将被证明是交流电一样伟大的发明。

results matching ""

    No results matching ""