第一章
区块链创世纪
一、先驱篇
(一)中本聪的生日
P2P Foundation是中本聪发布比特币白皮书的网站,注册这个网站必须提供出生日期,中本聪填写的是1975年4月5日。当然,没有人会认为这些信息是真实的,但如果认为这些信息是随便填的,又似乎低估了一位密码学家的自我修养。
4月5日在货币史上是具有重要意义的一天。在1933年的这一天,美国总统富兰克林·罗斯福签署了政府法令6102,该法令规定所有美国公民持有黄金都是非法的。
罗斯福没收美国人的黄金,并以美元交换,然后让美元贬值了40%,强制推高黄金价,目的是让美国的债务贬值,从而对抗大萧条。这些措施造成的后果是美国人的财富被洗劫了40%。
有许多人认为这是美国政府所作所为中最违反宪法的行为之一。这是政府不经过民主程序对民众最直接的盗窃行为之一。
那么,在1975年又发生了什么?在1975年,福特总统签署“黄金合法化”法案,美国人可以再一次合法地拥有黄金。
这两个数字撞在一起实在太蹊跷,无法让人不怀疑这是有意为之。毕竟中本聪没有说他出生于1933年,而是说1975年。因为如果出生年份是1933,这意味着当他发明比特币时已经75岁了,显然不太可能。假如1975年出生,2008年时他33岁,这明显地更让人信服。
如果仔细研究中本聪的创世论文以及比特币代码,一定对他注重细节以及对货币知识的掌握感到惊讶,显然,他的生日数字不是随机组合。没错,这是一个政治隐喻,透露给关心这些细节并能理解的特殊人群,比如那些密码朋克们。
(二)密码朋克
基于密码学技术的比特币,并非加密货币之发轫,早在20世纪80年代,密码朋克就有了加密货币的最初设想。蒂莫西·梅(Timothy May)提出了不可追踪的电子货币——加密信用(Crypto Credits),用于奖励那些致力于保护公民隐私的黑客们。
加密货币的难点在于如何建立分布式共识,也就是莱斯利·兰伯特(Leslie Lamport)等人1982年提出的拜占庭将军问题(Byzantine Generals Problem)。所谓拜占庭将军问题是指,把战争中互不信任的各城邦军队如何达成共识并决定是否出兵的决策过程,延伸至计算领域,试图建立具有容错性的分布式系统,即使部分节点失效仍可确保系统正常运行,也可让多个基于零信任基础的节点达成共识,并确保信息传递的一致性。
1990年,大卫·乔姆(David Chaum)提出注重隐私安全的密码学网路支付系统,具有不可追踪的特性,就是后来的电子货币Ecash。不过Ecash并非去中心化系统,后来大多数电子加密货币都继承了Ecash重视隐私安全的特性,以盲签名技术(Chaumian blinding)为基础,但都没有流行起来,因为它们都依赖于一个中心化的中介机构。
1993年,埃里克·休斯(Eric Hughes)和其他几个人创建了一个“密码朋克邮件名单”的加密电子邮件系统,简称“密码朋克”,对抗受到政府监控的互联网电子邮件。埃里克·休斯在《密码朋克宣言》里阐述了密码朋克的使命与目标。
“密码朋克致力于建立匿名系统……电子时代,隐私是开放的社会不可或缺的……我们不能期望政府、企业或其他大型的匿名组织保障我们的隐私……如果期望拥有隐私,那么我们必须亲自捍卫之。我们使用密码学、匿名邮件转发系统、数字签名,以及电子货币保障我们的隐私。”
密码朋克在20世纪90年代最为活跃,包括电脑黑客、密码学家和追求隐私的狂热者,他们极力主张用密码技术保护个人隐私不受其他人或者政府的侵犯,但在当时,密码技术并没有在日常生活中得到广泛应用,而是被政府垄断,主要用于情报和保密。
密码朋克们意识到密码学对社会经济的深远影响,蒂莫西·梅说:“正如印刷技术改变了中世纪的行会及社会权力结构,密码技术方法也将从根本上改变机构及政府干预经济交易的方式。”
比特币的加密理论基础来源于以下几项密码学的技术创新:1976年威特菲尔德·迪菲(Whitfield Diffie)与马蒂·赫尔曼(Marty Hellman)发明的非对称加密算法,1977年罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adelman)率先发明的第一个具备商业实用性的非对称RSA加密算法,以及1985年由尼尔·科布利茨(Neal Koblit)和维科特·米勒(Victor Miller)首先提出的椭圆曲线加密算法(ECC)。这些加密算法奠定了现在非对称加密理论的基础,被广泛应用于网络通信领域。
但是,当时这些加密技术发明均在NSA(美国国家安全局)严密监视的视野之内。NSA最初认为它们对国家安全构成威胁,并将其视为军用技术。直到20世纪90年代末,NSA才放弃对这些技术的控制,RSA算法等非对称加密技术最终得以走进公众领域。
有趣的是,中本聪并不信任NSA公布的加密技术。2013年9月,斯诺登爆料NSA采用秘密方法控制加密国际标准,比特币采用的椭圆曲线函数可能留有后门,NSA能以不为人知的方法弱化这条曲线。所幸的是,中本聪使用的不是NSA的标准,而是另一条鲜为人知的曲线。全世界只有极少数程序躲过了这一漏洞,比特币便是其中之一。
1998年,另一名密码朋克戴伟(Dai Wei)提出了匿名的、分布式的电子加密货币系统——B-money。分布式思想是比特币的重要灵感来源,在比特币的官网上,B-money被认为是比特币的精神先导。
B-money的设计在很多关键的技术特质上与比特币非常相似,但是不能否认的是,B-money有些不切实际,其最大的现实困难在于货币的创造环节。
在B-money系统中,要求所有的账户持有者共同决定计算量的成本并就此达成一致意见。但计算技术发展日新月异,而且有时并不公开,计算量的成本这类信息并不准确、及时,也难以获得,因而B-money很难成为现实。
2005年,尼克·萨博(Nick Szabo)提出比特金(Bitgold)的设想:用户通过竞争解决数学难题,再将解答的结果用加密算法串联在一起公开发布,构建出一个产权认证系统。该系统已经非常类似于比特币的理念,且发布日期与比特币非常接近,所以,萨博也被视作中本聪的潜在候选人之一。除此之外,萨博还发表了许多关于《合同法》在网络中安全实现的理论文章,这些思想被视为区块链智能合约的起源。
但萨博终究不是中本聪,他擅长于理论研究而不是编程实现,他一直寻找能将比特金变为现实的开发者,但没有人响应。
从乔姆的Ecash,到戴伟的B-money,再到萨博的比特金……几代密码朋克都怀着对自由货币的向往,像堂吉诃德一般偏执而骄傲,试图征服加密货币的风车,最终都功亏一篑,这些理论探索并未真正进入应用领域,长期不为公众所知,但他们的研究成果加速了比特币面世的进程。
(三)加密货币的乔布斯
非对称加密技术的发明以及创立Napster的肖恩·范宁(Shawn Fanning)与肖恩·帕克(Shawn Parker)点对点网络技术的开发,使比特币的出现成为可能。通过这两项技术,可以建立分布式交易账簿,并以呼叫问答机制向全网广播,网络节点不停地检查接收的数据,避免数据被篡改。
数字货币的诞生历程就像是一次扣人心弦的橄榄球进攻,在乔姆、戴伟、萨博等“明星球员”的冲刺下,每一次冲阵都前进了一些,但离“达阵”总还差一点距离。
最后的难点就是“双重支付”问题。“双重支付”阴云在数字货币诞生伊始,就始终盘桓不去。其实解决方法是现成的,就是亚当·拜克(Adam Back)在1997年发明的哈希现金(Hash Cash)算法机制。但起初,该设计是用于限制垃圾邮件发送与拒绝服务攻击。这就好比另一个球场正进行着田径接力赛,并没有引起橄榄球赛场的注意。2004年,哈尔·芬尼(Hal Finney)接过拜克的接力棒,将哈希现金算法改进为“可复用的工作量验证(Reusable Proofs of Work)”。他的研究又是基于达利亚·马凯(Dahlia Malkhi)与迈克尔·瑞特(Michael Reiter)的学术成果:拜占庭容错机制(Byzantine Quorum Systems)。
所有的技术都已成熟,终于由中本聪在2008年完成“达阵”。他将RPOW(可复用工作量验证)引入加密货币,就像博尔特跑入了橄榄球赛场一样,一下发挥出巨大的威力,比特币诞生了。中本聪阐述了RPOW机制如何用于解决拜占庭将军问题,RPOW消除了中枢“时间戳”服务器的需求,杜绝了那些不怀好意的人通过攻击中央服务器进行比特币无限重复消费的问题。
非对称加密、点对点技术、哈希现金这三项关键技术没有一项是中本聪发明的,但最后摘取桂冠的却是他。这与其说是运气,不如说是因为中本聪恰好具备发明比特币的全部素养:既是“橄榄球员”,又是“田径高手”,更关键的是他还是编程大师,能够把自己的想法付诸行动。中本聪就像是加密货币界的乔布斯,纵横于不同领域,采撷各家之长为我所用。
正如戴伟事后评价说:“要想开发出比特币,必须:①对货币有非常深入的思考;②要了解密码学;③认为比特币这样的系统从理论上是可行的;④要有足够的动力将这个理念开发成实际产品;⑤编程能力出色,能保证产品安全;⑥有足够的社交技巧,才能围绕这个产品建立一个成功的社区。密码学圈子能符合前三个条件的人就已是凤毛麟角。”
(四)创世区块
中本聪第一次出现是在2008年11月1日。那一天,秘密讨论群“密码学邮件组”里出现了一个新帖子:“我正在开发一种新的电子货币系统,采用完全点对点的形式,而且无须受信第三方的介入。”该帖的署名就是塞托西·中本聪(Satoshi Nakamoto)。
这样的电子货币系统是密码朋克们数十年来的梦想,有许多人进行过尝试,但都失败了。当时最积极的反应也只是持怀疑态度,因为密码组成员已经看过太多低水平的新手想出来的宏伟计划,他们的本能反应就是怀疑。当时有不少人表示,这样的系统是不可能实现的,连大卫·乔姆这样的密码学天才都失败了,更何况一个无名小辈呢。
中本聪细致入微地回答了所有疑问,最终在白皮书中提出了一个可行的方案。白皮书遵从学术习惯采用“我们”作为第一人称,行文也是标准的论文格式。
“本文提出了一种完全通过点对点技术实现的电子现金系统。它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构。”
中本聪选择在2008年全球金融危机的时候将比特币公布于世,在介绍他的创新时说道:“传统货币最根本的问题在于信任。中央银行必须让人信任它不会让货币贬值,但历史上这种可信度从来都不存在。银行必须让人信任它能管理好钱财,并让这些财富以电子货币形式流通,但银行却用货币制造信贷泡沫,使私人财富缩水。”
与密码朋克的文章相比,比特币创世论文的语言显得格外冷静和去政治化,文中没有出现政府或主权的字眼,仅将比特币描述成一个区别于传统金融的支付系统。
两个月之后,也就是2009年1月3日,中本聪发布了开源的第一版比特币客户端,宣告了比特币的诞生。他同时通过“挖矿”得到了50枚比特币,产生第一批比特币的区块就叫作“创始区块”(Genesis block)。
在全球金融危机时期,中本聪将他的怀疑和愤怒集中在了银行机构上,但与用生日密码挖苦美国政府一样,他不动声色地幽默化了英国财政大臣达林一把,在创世区块里写道:“当时正是英国财政大臣第二次出手疏解银行危机之时。”
财政大臣左支右绌的窘态就这样被永久记录在区块链上。“第二次”在此与其说是一个量词,不如说是一个形容词,很形象。
9天以后,中本聪向密码学家哈尔·芬尼转账了一笔比特币。那笔转账在当时还不值一文,却在加密货币篇章里留下浓墨重彩的一笔。这是人类历史上第一次摆脱受信第三方金融机构而完成的点对点交易。
与许多患有隐私癖的黑客一样,中本聪也是独行侠。他几乎没有合作伙伴,如果非要说一个,哈尔·芬尼勉强算半个。芬尼是参与过PGP加密技术研发的一位顶级开发者,也是密码朋克的重要成员。当中本聪在加密邮件列表中宣布比特币的想法时,迎来的更多的是冷嘲热讽,但只有芬尼热情支持。芬尼很早就对加密货币计划感兴趣,早在2004年,他就推出了自己设计的加密货币,在其中采用了可重复使用的工作量证明机制,所以他明白比特币的价值。当中本聪公布第一个版本的软件时,芬尼马上下载并测试。
多年后,芬尼在社区回忆这段经历说:“我想我是除了中本聪以外第一个运行比特币的。我开采了大约70个块,而且我还是第一个比特币交易的接受人,中本聪测试时转给了我10个币。在接下来的几天里,我和中本聪通过邮件谈了很多,主要是我报告一些故障然后他把它们搞定。”
社区网友亲切地把芬尼称作“中本聪的沃森”,因为当电话被发明时,第一个电话就是贝尔打给他的助手沃森:“沃森,快过来,我想见你。”2014年8月,在与渐冻人症搏斗了五年之后,哈尔·芬尼在亚利桑那州去世。向“沃森”致敬!
(五)后起之秀
比特币发布后取得了空前的成功,媒体与公众纷纷把中本聪与20世纪90年代的那些密码学天才们相提并论。中本聪对此不以为然。
尽管维基解密创始人朱利安·阿桑奇(Julian Assange)宣称比特币是从密码朋克中来的,中本聪却对密码朋克或者密码无政府主义只字不提。
2010年,维基解密宣布接受用比特币的捐款时,社区一片欢呼,中本聪却出人意料地提出了反对意见:
“不,请不要揠苗助长。比特币这个项目需要平静地成长,这样软件才能够逐渐强化。我请求维基解密现在不要使用比特币。比特币还是一个非常小的测试项目,还处在婴儿期。在这个阶段,你们所带来的关注将摧毁我们。”
中本聪对20世纪90年代的失败者记忆犹新。他指出Beenz(虚拟货币)、Flooz、Ecash(电子货币)等数字货币先驱失败的根本原因就在于其中心化的架构。因为一旦为数字货币信用背书的公司倒闭,或保管总账的中央服务器被黑客攻破,该数字货币就会面临信用破产和内部崩溃的风险。
2013年,一名叫特拉梅尔的安全研究人员公布了他与中本聪的加密邮件往来。在邮件中,中本聪写道:
“我觉得现在更多的人对90年代感兴趣,但是经过数十年,我们已经看到了基于‘信任第三方’系统的失败(例如Ecash)。我希望人们能够有一种区分,即知道:我们是在尝试首次建立一个以‘非信第三方’为基础的系统。”
然而,要向公众解释这两者的区分很难,有一次他在论坛抱怨:“向普通读者描述比特币真是‘bloody hard’(该死地困难)。”
中本聪对加密货币前辈的态度难说有几分尊重,但世道轮回,没过几年他也面临后起之秀的挑战。
对比特币的共识机制来说,挖矿是必须的。正如白皮书中开门见山指出的:“想要在点对点(P2P)基础上布置一个分布式的‘时间戳’服务器,我们必须使用一种与亚当·拜克的哈希现金相似的工作证明系统。”
但很多人都认为,比特币网络消耗的庞大计算力是一场能源灾难。素数币创始人萨尼·肯(Sunny King)试图将算力应用于蛋白质折叠、寻找素数这样的科学工程。他自信地写道:“加密货币目前已分道扬镳为两条道路:一种是能源密集型,另一种是环保节能型。我相信,在未来较长一段时间(5年以上),环保节能型货币将因其成本优势而挑战能源密集型货币。素数币第一次引入非哈希现金的工作量证明机制,使算力不仅用来制造区块链,还提供额外的潜在科学价值。”
除此之外,Sunny King还发明了权益证明(PoS)。与要求矿工证明执行一定量的计算工作不同,权益证明要求用户提供证明一定数量加密货币的所有权即可。
还有一些人对比特币处理交易的效率很不满意。比特股创始人拜特·马斯特(Byte Master)在社区发帖:“互联网带宽、CPU(中央处理器)、硬盘空间等都是非常宝贵的资源,指望用户用个人时间和挖矿的方式获得财富,这对于创新而言将是不利的。此外,比特币10分钟的确认时间对于验证付款而言实在是太长了,它应该像如今刷信用卡那般迅速。”
中本聪是这样解释的:将来用户只需运行轻节点,只交易,不挖矿,处理区块的节点将是矿场部署的大型服务器。最后,他无奈地说:“如果你没有理解我的意思,我没时间说服你。”在心底,恐怕他又吐槽一遍“bloody hard”吧。
另一位技术天才维塔莱克(Vitalik)从未在社区与中本聪对过话,毕竟在2008年的时候,他才13岁。Vitalik与中本聪的交流更多的是通过代码。他指出,中本聪作为一个老派C++程序员,编程水平并不高明,但运气不错:“虽然中本聪在2008年为比特币做出的绝大多数决策我们仍坚持着,但他的选择绝对不是完美的,幸运的是他正确的次数经常比错误要多。事实上有几个实例,因为中本聪的选择我们获得了更好的结果。”
他说的是中本聪在比特币的代码中埋下的三个“彩蛋”,后来被证明都是对的。
第一个是比特币使用公钥的哈希作为地址,带来了不必要的复杂度和浪费。但事实上,这是深思远虑的未雨绸缪,因为可以让比特币完全免受量子计算机的威胁。第二个是比特币总量2100万的限制,或者说是2的50.899次方。这是一台计算机里面能以标准整数形式存放的最大整数,超过那个值的话,数值将像里程表那样归零。第三个是选择了正确的椭圆曲线,成功绕开了NSA居心叵测的陷阱。
中本聪在代码里处处留情,可惜能读懂他的人不多。很难说Vitalik能否算是一个知音,因为后者并不认为中本聪天才地设计了这一切,他说:“这些设计带来更好结果的原因可能连中本聪自己都没想到过。”他认为中本聪是蒙对的。2014年,他发起以太坊项目,试图以一套图灵完备的脚本语言,解决比特币扩展性不足的问题,提供不同智能合约,让用户搭建各种应用。有意思的是,以太坊以加密货币先驱的名字作为货币单位,戴伟、萨博、芬尼均名列其中,唯独没有中本聪。
2010年12月12日,中本聪在比特币论坛发布了他最后一个帖子,其后,他在网络上的公开活动频率也逐渐降低。直到2011年4月,他发布了最后一项公开声明,宣称自己“已经开始专注于其他事情”。他依然跟几个关键人物保持着联系,比如说比特币的首席开发者加文·安德森,并提出了一些建议。但到这一年年末,安德森公开表示,中本聪回复他电子邮件的次数越来越少,然后慢慢地就再也没了消息。