区块链技术进阶指南
上QQ阅读APP看书,第一时间看更新

第1章 区块链简史

1.1 区块链的史前时代

1.1.1 密码朋克社区

“财政大臣正处于第二次救助银行的边缘”——这则2009年1月3日的《泰晤士报》头版新闻被永久地记录在了比特币区块链的创世区块上,这意味着区块链的海啸巨浪已经完全就绪,即将席卷全球。

海啸一般是由海底地震引起的,在掀起区块链滔天大浪之前的16年,这次海底地震就已经在酝酿了。1992年,三位密码学极客Eric Hughes、Timothy C. May和John Gilmore共同发起了大名鼎鼎的密码朋克(Cypherpunk),并在随后的10多年中,持续地影响着密码社区的爱好者。

但是此时此刻,距离中本聪完成白皮书的时间还有十几年,在这个“区块链的史前时代”,又发生了哪些故事呢?还要从Hashcash[1]说起。

Hashcash是一种依靠工作量证明的算法,它最初的用途是防止垃圾邮件的滥发。它的创造者是英国密码学家Adam Back——密码朋克邮件组中的一员。和此前提到的诸多相对陌生的名字不同,Adam Back在区块链行业至今仍大名鼎鼎,因为他创建了Blockstream。而Blockstream公司主导设计了比特币的Liquid侧链和闪电网络,并且是比特币隔离见证技术Segwit的重要推动者。

但是时间倒回Hashcash被创造出来的1997年,Adam当时可能并没有想设计任何一种加密货币,更没有发射卫星的想法(是的,Blockstream(图1-1)于2018年在一颗人造卫星上部署了比特币节点),他可能只是单纯地被垃圾邮件骚扰得不胜其烦,于是决心通过密码学设计一种防止垃圾邮件的方案——工作量证明。

图1-1 Adam Back是Block-stream创始人之一

他利用加密算法SHA-1设计了一个邮件插件,每个发邮件的人都用CPU计算一个小题目,就像如今的比特币挖矿一样。因为“题目难度”非常低,通常只会占用几秒钟的时间,对于正常使用者来说,额外的几秒钟并不影响用户体验。但是对于恶意滥发邮件者来说,一封邮件消耗几秒钟,一口气几千封邮件就要消耗数个小时,这极大地增加了垃圾邮件滥发者的成本。

Hashcash虽然理论上可行,但是实际上并没有普及、推广开来,毕竟它要求足够多人使用才有效。举个例子,假如你的顶头上司没有安装Hashcash插件,他向你发了一封邮件,你可以因为他没有计算一轮SHA-1而拒收他的邮件吗?显然不可能,因此Hashcash没能普及,到现在为止我们仍然忍受着垃圾邮件的骚扰。

Hashcash通过引入工作量证明成功对抗DDoS。这个理念是区块链得以发展的重要基石,而且该理念也吸引了中本聪。比特币正是基于这一机制,才能有效地对抗基于IP的DDoS攻击,没有走向弯路。在中本聪的《比特币白皮书》的第4章中专门提到了Adam Back。其相关内容是:为了能够在点对点的基础上应用分布式时间戳服务器,我们必须使用像Adam Back的Hashcash那样的PoW系统。

基于对密码朋克社区中加密无主权理念的支持,美裔华人计算机工程师戴维(Wei Dai)在1998年发布了B-money的两个协议[2]。戴维也是密码朋克邮件组中的一员,而且他很有可能看到了Hashcash的尝试。Hashcash也许并没有想过要成为一种通行货币,但是戴维看到了PoW的成功之处,他认为通过密码学可以完成一个不受中心化机构制约的电子货币。

B-money的第一个协议中设计了这样的模型:假如Alice向Bob转账,Alice必须向全网广播,并且使用私钥签名。这听起来是不是很熟悉?没错,这和比特币的基础理念非常相似。但是第一个协议并没有成功,因为没有考虑双花。假如Alice在极短的时间内从两个网络分别发起转账,那么Alice就可以把1美元当作2美元消费。

于是戴维又设计了第二个协议,那就是引入“服务器节点”的概念——只有服务器才能记账,普通用户不需要记账,随后服务器之间再用网络链接起来。用户在发出B-money之后,由随机的“服务器节点”来验证是否有双花行为。同时,为了制约这些“服务器节点”,他还设计了抵押功能。这非常有趣,这个想法和如今的PoS或DPoS有些类似。

尽管B-money很不完善,也没有付诸实践,但是戴维仍然非常值得令人钦佩——他的这些想法至今还有人在尝试。中本聪在《比特币白皮书》中第一个引用的就是戴维的B-money(比钱)论文。有人甚至认为比特币(Bitcoin)的命名也受到B-money的深刻影响。B-money在密码朋克社区引起了相当热烈的讨论,也推动了密码朋克邮件组的其他尝试,比如Nick Szabo。

Nick Szabo有两个身份:计算机学家和密码学家,并且在后来设计了“智能合约”这门技术;密码朋克邮件组中的一员。智能合约是一个创举,直接促成了以太坊的诞生,但在这个区块链史前时代,我们暂且不表。Nick既是一位学者,也是一位理想主义者,从他在1998~2005年陆续发表的文章中可见一斑。他认为传统的纸质产权非常容易被滥用或者伪造,完全依赖于对强权第三方的信任,因此他非常渴望通过一种强制手段保护个人的财产所属权[4]

于是Nick开始了对“数位黄金”(bit-gold)[5]的构想。数位黄金是非常有创造性的,它引入了工作量证明的机制,每台计算机去计算需要解出的难题,计算结束后,按照时间戳进行排序,并通过拜占庭方式来防止双重花费。它和今天的比特币有很多相似之处,甚至比B-money更像比特币,但是它仍然没有成功。

原因是它缺少基于算力的最长链原则,数位黄金依赖网络中的地址数量去进行拜占庭共识,而比特币依赖算力多少。如果依赖地址数量,这个网络就会很容易被恶意节点进行女巫攻击,因为创造新地址的成本是极低的,攻击者可以很快拥有大量地址。

牛顿曾经说过:“如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。”如果说中本聪看得比别人更远,那么密码朋克社区的这些先驱就是巨人。比如Hal Finney,他是PGP加密的最初设计员之一,RPoW的创造者,也是除了中本聪之外第一个收到比特币的人。正如前文所述,Hashcash、B-money以及bit-gold距离成功都只有几步之遥。而Hal Finney又向成功推进了一小步。

受到密码朋克邮件组中Hashcash、B-money和bit-gold等诸多项目的影响,2004年,Hal Finney设计了一种名为可重复使用(RPoW)的Token,如图1-2所示。RPoW解决了过去电子货币的一些问题,比如不能重复使用。例如,之前提到的Hashcash,用户计算一次就是一次,无法复用。而RPoW认为,既然用户计算出了一个难题,那他应该获得回报——比如一个RPoW Token。换句话说,可重复进行的挖矿概念诞生了。

图1-2 Hal Finney设计的RPoW系统

有B-money和bit-gold的模式探索,又产生了RPoW的Token,再加上20世纪90年代Haber和Stornetta提出的时间戳技术。这个世界酝酿了这么久,只要再来一点颤动,撼动全球的大地震就要发生了!

1.1.2 经济危机与比特币诞生前夜

2008年下半年是一个相当难熬的时间段。2008年9月15日,当时负债数千亿美元的美国顶级投行——雷曼兄弟正式宣布破产!而这次破产非但没有让美国的次贷危机画上句号,反而愈演愈烈。由房价持续上涨引出的垃圾债务,像连环炸弹一样在传统金融秩序下世界的每一个角落接连炸响。

金融危机从美国爆发,很快蔓延到全世界。英国也不例外,在2008年的这次金融危机中,英国几大银行损失惨重。在雷曼兄弟破产后的不到一个月时间里,拥有NatWest、Direct Line和Coutts的苏格兰皇家银行股价下跌近40%,跌至15年来的最低点。其股票市值在过去一年中下降了80%以上。其他银行的股价也全部急剧下跌,HBOS下跌41.54%,劳埃德TSB下跌12.93%,巴克莱银行下跌9.24%[6]

时任英国财政大臣的Alistair Darling不得不做出一个救助计划,那就是通过政府去救助这些银行,计划拿出500亿英镑去购买银行的优先股,然后拿出2500亿英镑去承销这些银行的中长期债务。但是,在当时来看,这第一轮救助并不足以将满身疮痍的银行业拉回健康线以上,全球危机还在继续发酵,这是全球传统银行秩序下的一个恶疾,任何单一地区和机构都无法阻挡滚滚的寒冬潮流。

2008年10月31日是值得永久铭记的一天,密码朋克邮件组中的很多成员收到了一封邮件,正是《比特币:一种点对点的电子现金系统》[7],和很多人猜想的不同,这封白皮书在当时并没有掀起轩然大波或者被顶礼膜拜,因为它只是站在巨人肩膀上的另一次尝试。

Hal Finney是最欣赏比特币的一位密码朋克成员,他给了中本聪很多建议。为此,后来中本聪还专门转给了Hal 10枚比特币,完成了比特币历史上第一笔转账。加密社区似乎欣欣向荣,但是传统世界就没那么好过了。

2009年的到来没能给寒冬带来温暖的气息,很快第一轮救助的支撑开始乏力,财政大臣Alistair Darling不得不考虑第二次财政救助。于是在2009年1月3日《泰晤士报》的头版头条上刊登了一篇文章,文章的标题正是本章开头提到的:财政大臣正处于第二次救助银行的边缘。如图1-3所示。

传统金融界的寡头和政客们此时正焦头烂额,但是中本聪却悠闲地把这则新闻记录在比特币的创世区块上。没错,有可能颠覆传统金融的新技术,即本书的主角——区块链正式睁开了双眼,即将席卷全球的滔天巨浪登场了!

图1-3 2009年1月3日《泰晤士报》头版[8]