未来,比特币协议可能会为创造更多可扩展性或安全需要而更改。那么,比特币协议怎么实现不断更新呢?协议更新在技术上是很简单的,比如在源代码中添加一个条件:如果区块数不超过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算法)嵌入蛋白质折叠算法是可能的,使计算蛋白质折叠问题成为挖矿的一个副产品。挖矿除了生产货币之外,还能产生社会效益。但这种貌似“有用的”的工作量证明算法实际上会对区块链的安全性构成威胁。试想一下,使用比特币挖矿算法来进行蛋白质折叠、寻找外星人、寻找素数等分布式计算,比特币的安全性根基(没有任何节点可以控制全网大部分算力)就崩溃了。因为分布式计算的工作量是可叠加的,随着工作量证明功能的“有用部分”的增长,攻击成功的可能性也在增长。即使你一个区块也没找到,你完成的工作量仍然对别人有用,黑客可利用你完成的这部分工作量降低网络攻击的成本。所以,理想的设计是矿工完成的工作量对其他人来说是无用的,这样才能保证他们扔掉的计算量是一个与硬件成本、电力、运气或带宽有关的商品。为此,素数币做了一定改进,设计了一个非可重用性的工作量证书,即一个区块上的工作量证书不能用于其他区块。为实现此点,它将素数链连接到的区块头哈希除以父级区块头的哈希所得的商作为工作量证书。工作量证书与区块的哈希值一同嵌入子区块中,这样不仅能够防止工作量证书被篡改,同时可以避免产生一个可在多个区块上重复使用的工作量证书。这种改进的效果是,将一万个人同时挖一个坑的游戏变成了一万个人同时挖一万个坑的游戏,任何人完成的寻找素数工作量都只能为己所用,素数币的计算资源并未用于分布式计算,计算成果未能实现全网共享,计算负载也未能在节点中平衡。可见,它本质上仍然是一种能源密集型货币,与它“非能源效率”的设计初衷相悖。还有一个严重的问题是,素数在数轴上的分布是不均匀的,位数越大则越稀少,寻找难度呈指数增长,工作量证明却需要难度平滑增长。这意味着越到后面,素数币的交易越难确认,甚至不能确认。素数币的解决方案是用一种费马测试的改进版进行素性测试,这样可以提高效率,节省计算时间,但这是一种不完备的筛选,因为费马测试是基于费马小定理的逆定理,而该定理已经被证明不成立,费马素性测试得到的是伪素数,素数币寻找到的坎宁安链越到后面越不可信,其寻找素数的所谓“潜在科学价值”恐怕也只能停留在“潜在”这一步了。一些人将山寨币之于比特币的关系,视作其他贵金属之于黄金的关系,比如莱特币就用心良苦地把货币总量设计为比特币的4倍,企图像白银锚住黄金价格一样,锚住比特币的汇率。莱特币的推广词就是:如果说比特币是数字金币,那么莱特币就是数字银币。还有羽毛币把货币总量设计为莱特币的4倍,试图成为数字铜币。这种想法似乎过于一厢情愿了,因为元素周期表上的元素终究是有限的,而山寨币却可无穷复制,层出不穷的模仿者最终只能稀释所有模仿者的价值。自2013年5月以来,社区以每天两三种的速度发布新的山寨币,几乎所有山寨币都呈下跌走势,虚拟货币PPcoin从最高的0.003比特币跌到0.001 4比特币,虚拟货币Yacoin从最高0.000 6比特币跌到0.000 15比特币,还有更多的不知名山寨币走向价值归零或退市的穷途末路。就目前市面上出现的山寨币或其他虚拟货币来看,尚未发现有价值的技术创新。其实,就算后来者涌现出突破性的技术创新,比特币社区也很容易就能加以借鉴,将之添加至比特币核心协议,并升级客户端。“没有护城河,才是终极护城河。”一个比特币迷在微博上如是说。比特币是像车轮一样的发明,重复发明轮子是徒劳无益的,因为世界本质上只需要一种数字货币。但山寨币的存在并不是毫无意义,它的存在有助于比特币的自身进化。由于比特币生态已经蔚为大观,社区对每次可能导致“硬分岔”的协议升级都非常慎重,山寨币则可以充当小白鼠。比如,彩色币、零币等应用可以率先添加进莱特币等山寨币的协议,如果获得成功,转而应用于比特币中,这将大大降低协议升级、软件更新所带来的“硬分岔”风险。比特币会内部崩溃吗与传统的层次分明的金字塔组织方式不同,比特币因其去中心化的P2P网络结构而开启了一种开放式的信息组织与进化模式:没有命令,只有很弱的组织,相当于蚂蚁筑巢。比特币社区继承了开源社区的传统,用倾听取代强权,用沟通取代命令,用协商取代控制。比特币社区唯一官方意义的组织是比特币基金会,仿照Linux(一种开源的操作系统)基金会的模式建立,依靠用户捐助的比特币维持运营,负责组织比特币核心协议的完善、客户端的升级、安全性的监督、法律事务以及与政府机构的接触等。比特币社区也不存在真正意义上的领袖,加文·安德烈森被视作中本聪的继承者,他是比特币社区的仲裁者和架构师,同时负责协调比特币核心程序的优化。安德烈森成为比特币社区领导者的过程非常简单。起初他向中本聪提交优化比特币核心系统的代码,中本聪逐渐对他的代码有了信任。有一天,中本聪问他是否可以将其邮箱地址放在比特币的主页上,安德烈森同意了。从此,比特币主页上中本聪的邮箱地址被安德烈森的邮箱地址取代,项目的领导者象征性地过渡给了安德烈森,中本聪则退到了幕后,甚至消失了。中本聪与安德烈森都不能对比特币社区发号施令,与普通开发者的唯一区别是,他们拥有一个可以在客户端添加警报的密钥。比特币社区信奉海盗式的民主,每个节点都可用自己的算力进行投票,任何针对客户端的改进、协议的修改与添加都将置于算力投票的监督范畴内,只有被全网51%以上的算力接受的改进才能真正视作有效。与海盗社会一样,差劲的领导者很快就会被社区抛弃。历史上曾有一伙海盗在某趟航程中更换了13个船长,其中有个叫本杰明·霍尼戈的船长,手下们罢免他的原因居然是他“拒绝攻打和劫掠英国船只”。试想一下,若比特币社区真的存在一个为所欲为的“船长”,比如安德烈森在客户端里加入某种后门程序,可以让他轻易地挖到比特币,或者他独断专行,执意推行被社区多数人反对的协议升级,那么用户完全可以无视其发布的程序,采用社区其他程序开发者的程序交易比特币或挖矿即可。中本聪认为,20世纪90年代以来,Beenz、Flooz等虚拟货币先驱的失败主要是由其中心化的组织结构造成的。其主要原因是,一旦为虚拟货币信用背书的公司倒闭,或保管总账的中央服务器被黑客攻破,该虚拟货币就将面临信用破产与内部崩溃的风险。所以,他将比特币设计为全分布式拓扑结构,这也是人类历史上第一次尝试去中心化、不再依赖对中央发行机构的信任的货币系统。一般认为,全分布式拓扑结构具有良好的可扩展性、鲁棒性和自组织性,像蚂蚁社会一样,拥有不可思议的自我修复能力。科幻小说《马姨》构思了这样一个故事情节:有人用蚁群设计了一个自组织的机器智能“马姨”,以蚂蚁个体的本能行为执行计算机指令,并通过代码手册与人进行交流,在整体上表现出一定的机器智能。主人公从蚁群中赶走一些个体,但惊奇地发现“马姨”的运行一切正常。比特币就是这样一个具有强鲁棒性的系统,每时每刻都有大量节点频繁地加入或退出,但丝毫不影响全局结构的稳定性。比特币社区里有人打趣道:“这就好比在诺克斯堡[9]周围每隔10英尺安排一个武装狙击手,仅仅是用来保护一袋分币钢镚儿。让这些狙击手一半回家休息,这袋钢镚儿的安全性丝毫不会降低。”同样,从技术上关闭比特币相当困难。2009年2月,中本聪在IRC(互联网中继聊天)频道写道:“政府擅长击溃Napster(一种在线音乐服务)那样拥有中央控制的网络,但是Gnutella和Tor这样完全P2P的网络看起来依旧安枕无忧。”值得一提的是,另一个自称分布式的虚拟货币Ripple在网络结构上与比特币有着本质的区别。比特币网络结构符合随机网络特征,节点连接是随机的,大部分节点的连接数目大致相同,即节点的分布方式遵循钟形的泊松分布,存在一个特征性的“平均数”。连接数比平均数高许多或低许多的节点都极少,随着连接数的增大,其概率呈指数级迅速递减。而Ripple网络更类似于无尺度网络[10],它引入“共识”机制,通过特殊节点的投票对交易进行验证和确认。而这些特殊节点往往拥有大量的连接,大部分普通节点的连接数却很少,节点连接数符合齐普夫定律[11]。这种特殊节点的存在使得Ripple网络对意外故障有强大的承受能力,但面对协同性攻击时则十分脆弱。研究表明,面对蓄意的协同攻击时,只要5%~10%的集散节点(拥有大量连接的节点)被移除,无尺度网络就将彻底瘫痪。更糟糕的是,Ripple客户端为加快确认速度,不需要下载区块链,而是在普通节点上舍弃已经验证过的总账本链,只保留最近的已验证总账本和一个指向历史总账本的链接,显然,那些保管历史总账本的服务器就成了它的软肋。尽管Opencoin公司小心地隐藏了服务器端源代码,但对于黑客来说,找到通往服务器之门并不是一个技术问题,而是一个经济学问题。随着Ripple网络的交易额逐渐上升,黑客对它的欲望也越来越强烈。2013年6月,Ripple连续发生多起在线钱包失窃事件,虽然这些失窃可能都是用户密码设置的疏忽所致,而不是来自系统攻击,但这也表明,一大波黑客正在向Ripple袭来。7月,Ripple平台遭遇分布式拒绝服务攻击,黑客从一个账号向另外一个账号发起大量小额转账操作,让Ripple平台的服务器无法响应和支撑其他用户正常的交易请求,造成Ripple服务中断长达十几个小时。可见,在抗攻击问题上,Ripple与过去的Beenz、Flooz等虚拟货币以及“自由美元”等私铸货币并无本质上的不同,这也难怪一个资深用户讽刺Ripple说,疯子就是一遍一遍做同样的事,却期待不同的结果。但是,既然比特币出于安全性、健壮性考虑,致力于建设去中心化的全分布式结构,中本聪为什么亲自设计了中心化的矿池呢?目前,BTCGuild、50BTC、ASICMiner三大矿池已经占据全网64%的算力,这意味着三大矿池若联手,将足以对比特币网络发起51%攻击。黑客丹·卡明斯基在2013年比特币大会上表示,比特币网络存在系统性风险。反对者却认为,矿池的存在是对比特币安全性的增强。矿池对比特币网络的组织有什么作用呢?凯文·凯利在《技术元素》一书里提出了一个思想:“只从底部出发还不够。”即使是互联网最大的开放性自组织工程维基百科,也不是完全自下而上的组织形式。维基百科的维护者设计了严密的条框来防止网络小白任意修改词条,超级管理员可以采用精英编辑的建议单方面屏蔽他们。凯文·凯利认为,在网络经济中,真正的商业和组织艺术不在于控制包括“每个节点”的群体,而是在最佳时间为每一个利基市场找到底层和顶层的最佳组织。矿池的存在可以让比特币网络对安全预警、漏洞修复的反应更敏感和高效。2013年3月,比特币0.7版和0.8版客户端因区块大小限制的不同而导致不兼容,互不承认对方的有效性,比特币网络面临分裂的危险局面。比特币社区发出警报之后,几大矿池迅速响应社区的呼吁,将客户端切换到了旧版本,仅用了几个小时便化解了这次危机。试想一下,若没有矿池的存在,全网几百万个节点需要在短时间内同时切换客户端才能避免这一危机,这恐怕是不现实的。在比特币的工作量证明机制中,算力即投票权,算力越大,权力越大,责任也就越大。所以,在比特币基金会的成员名单上,你看到各大矿池的管理者的名字也就不足为奇了。中本聪认为,如果是用节点数即IP地址的多少来决定谁是大多数,那么拥有分配大量IP地址权力的人,比如僵尸网络,就有可能主宰比特币网络。而工作量证明机制的本质是一CPU一票——计算即权力。拥有更高算力的人更有责任保障全网的安全,因为比特币的挖矿激励机制使得在非合作博弈中存在一个纳什均衡,即把算力用于诚实挖矿较用于发起双重支付攻击获得的回报更高。2013年4月,BTCGuild矿池的算力份额一度接近全网的一半,引发了社区对51%攻击的担忧。为此,BTCGuild的管理员Eleuthria(网名)主动限制了算力的增长,规定如果矿池算力超过了45%,将移除所有基于getwork协议(一种直接连接到矿池挖矿的协议)的服务器,并关闭新用户注册,直到算力回到40%以下。矿池拥有者杜绝51%攻击的意愿比普通用户更强,Eleuthria在社区发帖说:“显然,我不能等到矿池算力份额到了49.9%时才采取措施,即使51%攻击只有在控制它的人决定这样做时才会发生。”一个理性的决策者绝对不会把可兑现成真金白银的算力用来发起回报有限的51%攻击。退一步说,即使部分矿池拥有者是疯子,他们无视利益的大小,执意对比特币网络发起攻击,比特币社区发出警报之后,矿池用户只需停止运行矿机或切换至普通方式挖矿,便可让疯狂矿池的阴谋落空。毕竟矿池只是承担计算任务分发与挖矿奖励分配的平台,而不是矿机的真正拥有者。比特币会成为标准吗如果说开源操作系统Linux就像芬兰史诗《卡勒瓦拉》那样不断完善,由最初的约1 000行代码,经黑客社区的义务贡献,成长为目前规模达100万行的庞大系统,那么,今天的比特币正沿袭这条英雄史诗之路,像远古的巨茎植物一样不断向天空生长。在过去的3年中,共有120多位程序员为Bitcoin-QT提交了5 000多次代码改进,为比特币开发应用程序与网站的程序员更是逾千。比特币核心协议在不断地自我完善,而零币、彩色币、域名币、分布式合同、智能资产等新的拓展协议也试图添加进比特币核心代码,或在比特币协议基础之上构建延伸至其他领域的应用。这是一座真正的通天塔!传说巴比伦塔直插云霄,希望通往天堂。上帝为之震怒,为惩罚这些狂妄的人,便让建筑巴比伦塔的人们使用不同的语言,因语言的不通,还没完工的巴比伦塔很快就被废弃了。也许未来货币也将面临同样的问题,比特币越来越像是一个开放式的基础平台,但它会成为虚拟货币世界的通用语言吗?如前所述,比特币提供了3个层次的开放性,使货币与金融成为程序员施展创造才华的天堂,以比特币为基础平台,可提供数不胜数的更高层次的服务,例如资金混合、货币兑换、财务管理与预警、市场数据分析、计量服务等。如果将比特币视作互联网的IP协议,那么就不单会有类似TCP的API和协议扩展,还会有在此之上的协议层提供的各种服务,类似互联网的SMTP、HTTP等应用层协议。比如利用底层的分布式总账,开发者推出了存在性证明、期货合约、数字版权等应用。正如Group合伙人安德烈亚斯所言:“货币作为一项服务,通过开放的、灵活的、强大的API构成一个完整的经济体系,一切都只是一个JSON(一种轻量级的数据交换格式)请求。如果你认为比特币只是电子货币,那么你只看到了冰山一角。”互联网协议的发展有很强的路径依赖特性,一旦选择进入某一路径,哪怕该路径具有某种缺陷,也会对这种路径产生依赖。美国铁轨的故事[12]有助于我们理解这一概念。美国铁路两条铁轨之间的标准距离是4.85英尺(约合1.5米),为什么是这个尺度而不是别的什么尺度呢?原来这是英国的铁路标准,而美国的铁路最早是由英国人设计建造的。那么,为什么英国人采用这个标准呢?原来英国的铁路是参考电车轨道设计的,而4.85英尺正是电车轨道的标准。追溯电车轨道的标准,我们会发现,原来最早制造电车的人是以马车的轮宽为标准的。那么,马车的轮距为何这么宽呢?这是因为英国的旧马路上布满了这个宽度的辙痕,如果用其他轮距的话,马车的轮子很快就会磨坏。为什么旧马路上会有4.85英尺宽的辙痕呢?答案是,这是古罗马人留下的,4.85英尺正是罗马战车的宽度。罗马人为什么用4.85英尺作为战车的轮距宽度呢?原因很简单,这是两匹拉战车的马的屁股的宽度。路径依赖的故事时至今日仍没完,下次你在电视上看到美国梭立在发射台上的航天飞机雄姿时,注意观察一下燃料箱两旁的两个火箭推进器,这些推进器是由犹他州的工厂提供的。如果可能的话,这家工厂的工程师希望把这些推进器造得再大一些,这样容量就会更大,运输更经济,但是他们并没有这样做,为什么?因为这些推进器造好后,要用火车从工厂运到发射点,路上要通过一些隧道,而这些隧道的宽度只比火车轨道的宽度宽了一点点。因此我们说:今天世界上最先进的运输系统的设计,其实是2 000年前便由两匹马的屁股宽度决定的。这说法看似荒谬好笑,但却也站得住脚。随着互联网的爆炸式增长,新的协议特别是高层应用协议在不断涌现,而互联网核心通信协议TCP/IP竟然已存在了30多年,这在瞬息万变的信息技术世界堪称奇迹。但按照路径依赖原理,这完全是合乎逻辑的。在单机上,人们可以很容易替代很多计算机技术,然而网络协议的更换并不是那么简单,它要求整个网络的所有设备都进行更新,这也是IPv4(网协版4)面对地址耗尽的压力仍能长期存活的原因之一。有一些网络协议的设置在今天看来很笨拙,但在当时是聪明的解决方案,而后来的协议必须兼顾之前已有的协议。合并挖矿的实现,使域名币、彩色币等其他应用的区块链并入到比特币网络中,恰如新建的铁轨采用同样制式并入到已有的铁轨网络一样,是一个路径依赖的过程。不难想象,当域名币、彩色币、分布式合同等应用得到推广,建立于其上的相关应用亦必将沿用比特币的区块链。莱特币等山寨币如雨后春笋般冒出来,但它们很难吸引到追随者为其完善代码和开发应用。更何况比特币矿池的设计使比特币协议的自我更新效率远远高于传统互联网协议,这让莱特币等后来者难以追上比特币的步伐,取而代之则更是难上加难。为什么数学比人可靠/数字让世界更守信/比特币常被人诟病的一点就是,没有人能为它的信用背书,缺乏一个让人信赖的权力机构来保障比特币的安全与价值,如果比特币崩盘,用户只能自己承担损失。比特币支持者的观点则恰好相反,他们认为,正因为在比特币的系统中不存在货币发行机构和交易担保,而只有严密的数学算法,它才是最安全的,因为数学是诚实可靠的。其他使用工作量证明机制的P2P货币能击败比特币吗?答案是,不可能,因为在其算力追上比特币之前,它已经被比特币网络的算力攻陷了。这就好比一个说法:没有人能击败逻辑,因为要击败逻辑,你还得使用逻辑。文克莱沃斯兄弟对此颇有感触:“我们已经决定将我们的钱和信仰投入到一个数学框架中,它不会被政治和人类愚蠢的错误干扰。”当时,人们已经知道他们大约拥有已生产的比特币总数的1%(90 000多个比特币),其比特币大亨的身份难免让人怀疑其吹捧比特币的动机,但他们只是在阐明一个事实而已。文克莱沃斯兄弟确实应该相信数学,如果比特币早些问世,他们也就用不着与扎克伯格打一场长达3年的官司,因为他们可以利用比特币“存在性证明”功能,轻易地证明自己才是Facebook创意的最初拥有者。比特币确实能让世界变得更诚信、更有序、更美好,它的存在性证明、零知识有条件付款、分布式合同、智能资产等应用都无须担保中介的介入,仅用密码学原理和呼叫应答广播机制便能让欺诈无处遁形,让怀疑论者无从置喙。/比特币密码学的可靠性/支付宝、财付通、网银等传统电子支付工具以邮箱地址、QQ号码、银行卡号作为用户ID,用户稍有疏忽,就可能将钱打入别人的账户。在比特币世界,这样的事绝对不可能发生。比特币的地址是一串无意义的数字,用户在拷贝或输入这串数字时,无论出现何种错漏,都不会将钱误转入别人的账户。比特币地址由33位Base58编码的数字或字母组成,可用的比特币地址理论上超过2 160个,全世界约有263粒沙,比特币地址总数远远超过地球上所有沙的数量。错误输入的比特币地址恰好是别人的比特币地址的概率,比飞入你眼中的一粒沙恰好是去年你在沙滩上踩到的一粒沙的概率小得多。虽然MD5、SHA-1算法的安全性根基已被动摇,但就目前而言,比特币所使用的SHA-256算法仍是可靠的,美国国家标准技术研究院就建议原来使用MD5、SHA-1算法的安全系统都切换到SHA-256算法。而且,作为电子支付手段,比特币未雨绸缪,它并不直接使用公钥作为比特币地址,而是在公钥的基础上再散列两次,人们一度质疑这只带来了不必要的麻烦和浪费。但事实证明,中本聪是对的。因为量子计算机可以破解椭圆曲线数字签名算法,但它们仍不足以逆转哈希算法,这需要花掉280个步骤来完成一个比特币地址的破解,如果你的比特币资金存放在一个没有公开过的地址,它们在量子计算机面前仍是安全的。但到了今年9月的时候,又一则爆炸性新闻的曝光让比特币安全性再次面临威胁,据英国《卫报》报道,一家美国主流计算机安全公司已告知数千名用户,立即停止使用一个由美国国家安全局(NSA)开发的加密标准。这一警告发出前不久,美国前中情局雇员爱德华·斯诺登披露了NSA监控项目,称NSA采用秘密方法控制信息安全国际标准的制定,这一标准由美国国家标准技术研究所(NIST)运行,因此其可以被NSA破解,而比特币采用的椭圆曲线算法正在其列。漏洞在于椭圆曲线算法的两个参数是由某个种子经哈希算法生成,而这个种子正是国安局精心选择的,他们可以采取不为人知的方法来弱化这条曲线。FBI得知这一消息可能会欣喜若狂,因为他们正为破解乌布利希的私钥绞尽脑汁。但是很遗憾,比特币让他们失望了,中本聪使用的不是伪随机曲线,而是Koblitz曲线,如果是前者,NSA则有可能找到一条特定曲线的椭圆函数的漏洞。高效密码学组标准的现任主席丹·布朗得知比特币使用的是secp256k1时也深感震惊,因为只有极少数程序躲过了这一潜在灾难,比特币便是其中之一,中本聪的前瞻能力可见一斑。在《技术元素》一书中,凯文·凯利虽然承认“比特币技术令人惊讶,复杂到几乎超越大部分外行用户的理解范围”,但他也认为,“通常来说,加密方式没有被直接破解的,都是通过使用方式被间接破解的。只要出钱足够多,任何东西都可以被黑客黑掉。”凯文·凯利怀疑的后半句有待商榷,如果你拥有比特币全网一半以上的算力,或者你能破解SHA-256,你的确能够黑掉比特币,很可惜,这两件事都不是给钱多就能办成的。但他的前半句点出了要害,加密很少从数学上直接破解,多数是从用户那里打开缺口。以拖库攻击为例,在口令保存上使用最广泛的算法是标准MD5。MD5算法具有不可逆的特点,即不可能从明文得到用户口令。但其不可逆的前提是,假设明文集合是无限大的,而用户设置的口令却是一个具有高度统计规律的有限集。因此,攻击者很容易通过“密文比对+高频统计”的方法生成密文字典,再通过对照密文字典或彩虹表一举攻陷MD5加密的口令。在这个过程中,MD5算法本身是可靠的,漏洞出在用户设置口令的规律性上。一个安全系统中最薄弱的环节往往不是算法,而是人类。而比特币的设计从一开始就排除了人的参与,地址的生成、挖矿算法的“掺盐”都是自动的、随机的、匿名的,天生对社会工程学攻击和彩虹表攻击免疫,无论在哪个环节,都不存在统计上的规律性。著名黑客丹·卡明斯基曾花了两年时间尝试攻击比特币,但他失败了。他在博客上写道:“比特币让我吃惊,它是这样一个系统:创造了一个巨大的全球云,始终保持在线接听状态,通过烦琐细致的自定义网络协议保持通信。”/革命性的前景/比特币优雅的数学内核刚一问世就得到了计算机界的高度赞赏:电子现金系统B-Money(B钱)发明人戴伟认为比特币的发明“意义重大”;尼克·萨博称赞比特币是“对世界的伟大贡献”;著名密码破译专家哈尔·芬尼称它“具有改变世界的潜力”;创业公司OnlyOneTV的布鲁斯·瓦格纳称其为“自互联网问世以来最令人激动的一项技术”。硬币的另一面却是另外一种景象:诺贝尔经济学奖得主保罗·克鲁格曼将比特币定义为“金色的网络桎梏”;职业经理人唐骏在财经节目中称“比特币啥也不是”。缘何汝之蜜糖,却是彼之毒药呢?福布斯专栏作家蒂莫西·李以公众对非对称加密技术的态度为例来解释这一现象。程序员与非程序员第一次听到比特币时的反应截然不同,程序员对比特币普遍比较兴奋,而其他人却是不以为然。许多人从一开始对比特币持怀疑态度,但其怀疑的性质是不同的。非程序员根本看不出这里面有什么值得大惊小怪的成就,他们以为比特币与传统的支付系统只有细微的区别,而程序员则相反,他们立即看到了比特币具有的革命性前景,它只是需要时间去说服公众。比特币从理论构建到技术实现,历经戴维·乔姆等杰出程序员数十年的技术接力,才由中本聪最终完成达阵。它允许财富以纯信息、零成本的形式发送给全世界任何人——这在2009年之前人们是闻所未闻的。它将不会立刻显示出效果,尤其是对普通用户来说。但是,就像非对称加密技术一样,它若干年后将被证明是与交流电一样伟大的发明。[5]比特信是一种P2P加密通信软件,其通信原理类似于比特币协议,可防止窃听者通过运行未经授权的程序来监听消息。[6]聚集点(Schelling point)是指在博弈论中,人们在没有沟通的情况下的选择倾向,做出这一选择可能因为它看起来自然、特别或者与选择者有关。[7]R·C·默克勒于1980年提出的一种区块压缩方法,只有根被纳入了区块的随机哈希,树的分支则被拔除,而内部的随机哈希是不必保存的,这样区块大小会被压缩。[8]累赘原理,由以色列生物学家扎哈维提出,指一桩事可能因为它有危险而能够带来更大的机遇。[9]诺克斯堡,一个位于美国肯塔基州的装甲师训练基地。[10]无尺度网络是指由少数——些具有众多连接的节点支配的网络。[11]1932年,哈佛大学的语言学家齐普夫发现,语言中每个单词出现的频率与它的排名的常数次幂存在简单的反比关系,只有极少数的词被经常使用,而绝大多数词很少被使用,这种分布就叫作齐普夫定律。[12]有人指出,铁轨路径依赖的故事尚存争议,因为世界上存在各种铁轨标准,古罗马的道路主要走的不是马车,而是人力推车。但路径依赖现象在社会生活中很常见,一项制度一旦走上某条发展路径,就会在以后的发展中自我强化,并一直沿用下去。结语年轻、疯狂和自由2013年5月,我和长铗商量写一本关于比特币的书,之后我们各自的朋友陆续加入。在写这本书之前,我们在现实中素未谋面,甚至观点迥异,但这并不妨碍我们彼此信任,以开源社区的方式共同创作。我们可能是国内最早关注和参与比特币实践的群体,也在努力传播比特币的思想。我们翻译了大量技术论文、与虚拟货币相关的报告,传播去中心化自由货币的理念,只希望在我们和你之间建立共同的资料基础,并认真思考比特币及其思想。我们凭着热情和笃信,学习哈希算法和非对称加密,阅读奥地利学派和货币理论,重拾让人抓狂的英语文献。当然,我们也都参与了比特币的实践——挖矿、交易、支付、传播、衍生市场等。比特币不仅是一种金融工具,更是一种生活方式和思想理念,真实地改变了我们的生活轨迹。就像长铗说的:20岁之前,我还能被第一推动、太空、量子论之类的科技名词鼓舞;20岁之后,我发现,与其在文字中构思那些未来的场景,不如亲自投身于一项足以改变世界的技术或思想,无论结果如何,这一过程着实美妙。在这样的想法下,长铗建立了比特币中文社区巴比特,是重要的比特币思想传播阵地。我和我的朋友“七彩神仙鱼”、“暴走恭亲王”合作成立了“壹比特数字科技”,从事数字货币的资讯传播、数据挖掘和工具研发等,希望能为行业生态建设贡献力量。两位伙伴有着神奇的网名,性格迥异、年纪不等,是互联网普惠平等的思想和去中心化的理念让我们走到了一起。比特币能否改变世界呢?假如衡量标准是比特币是否在短期内替代法币,那我认为其结果是不能的。但是,比特币仅仅是一种货币吗?我觉得也不是,也不该是——可能改变世界的是比特币的技术和思想,而不局限在货币的范围内。把比特币仅仅看作一种货币,而不是一种革命性的思想或一整套交易架构和生态,那显然是小看了比特币。即使把它的影响限定在更广的金融领域,也未必是合适和恰如其分的。这一点,相信你在阅读中也会发现。发轫于思想,不拘于形态。我从不笃信某种形态和表现,相信的只是原则和思想。对于狂热的比特币信徒来说,比特币的未来就像数学公式那样清晰明了。他们甚至排斥“信徒”的定义,因为数学不是一种信仰,而是一种认识论。而对我来说,信便能,不信便不能,就像新教伦理里面讲到的因信称义。我们只是尝试搭建一个让大家足够相信的逻辑基础——当然,最符合逻辑的不一定是最终存活的。比特币之于我们的吸引力,正如20世纪50年代实验室里的巨型机对麻省理工学子的冲击,70年代车库里的微型机对辍学大学生们所释放的魔力,这种毫无来由的沉迷有一个共同特点,那就是他们都奉行与计算机本身雅致的逻辑相一致的理念——开放、平等、协作、分享,以及不惜一切代价亲自动手改进机器并改善整个世界。这种理念本身是年轻、不羁与自由的,抱着对世界的诚恳与善意。年轻、疯狂和自由,这足以让我们不遗余力地推动比特币的发展。比特币是一个新事物,大家对它的看法也不尽一致。本书无意表达绝对正确的观点,而只在于展示一种新思想,它或许是一种潜在的未来,或是一个玩笑,或者什么也不是。这应该是全球关于比特币的第一本书,我们也尽可能讨论比特币的所有重要内容,并形成相对系统性的论述。最后,感谢朱嘉明老师分享他的观点,以及对我的信任和帮助。感谢李笑来老师倾情作序。感谢比特币基金会成员的真诚推荐。感谢耀东老师在全书统稿和修改过程中做出的重要贡献。李钧壹比特数字科技首席执行官