1.3 比特币的出现
从金属货币到现金、电子货币,再到包括比特币在内的数字货币的发展,是一个不断创新的过程。一个切实可行的基于互联网的支付体系得以建立并正常运行是来之不易的,期间经历了无数次失败,这些探索的经验是一笔宝贵的财富。比特币的创始人中本聪(Satoshi Nakamoto)基于加密货币思想,将前人的研究成果进一步演化,创造了基于区块链技术的比特币,实现了数字货币“质”的突破。
20世纪90年代,网络成为新生事物,数据加密协议逐渐兴起,人们开始了网络购物,通过第三方中介实现支付。1994年,第一虚拟公司成立,它的支付体系和我们今天中国的支付宝、美国的PayPal类似,用户向第一虚拟公司提交信用卡信息进行注册,当网上购物需要支付时,商家把支付信息发给第一虚拟公司,第一虚拟公司与用户确认后再批准支付给商家。与支付宝不同的是,那个年代浏览器的HTTPS加密协议还不成熟,所有的沟通通过电子邮件进行,非常不方便。另外,第一虚拟公司规定,用户拒付期长达90天,3个月之后商家才可以收到货款,这对商家来讲着实是个不利于收取货款的策略。如今淘宝商家能在买家确认收货后立即收到货款,或者在“已发货”后的相应时间买家没有确认收货且没有申请退款时,淘宝自动将货款转到商家的账户。
到了90年代中期,由VISA、万事达、网景、IBM等多家重量级公司开发的安全电子交易协议(Secure Electronic Transaction, SET)闪亮登场。在SET体系中,用户不需要把信用卡信息提供给商家,也不需要在第三方中介公司注册账户,而是通过浏览器把交易和信用卡信息加密并存储在应用程序中。也就是说,加密的事情由浏览器完成,只有中介可以解密。因为商家无法解密,所以买家可以很放心地把加密后的信息发给商家,由商家把这些加密信息及交易信息转给中介,再由中介进行解密并与商家的交易信息对比,确认无误后中介才批准支付。SET作为标准性的体系,保证了信息的机密性,但也有其不可避免的弊端,那就是烦琐的认证机制。它把加密过的身份与现实身份进行绑定关联,商户、用户全部需要认证,从而确保通信的双方不能被冒名顶替。网站要从专业的认证授权公司获得认证,给浏览器标上相应的标识,供用户判定这个网站是安全的。认证机制让SET难以得到持续广泛的应用,因为认证的流程过于复杂,很少有人愿意花费大量的时间和精力去进行认证。SET体系认为系统的安全性比操作便捷性更重要,这是导致它失败的原因。从这里我们能得出结论:数字货币的成功,必然是在各方面权衡考虑折中的结果,在本书的后面我们也能够看到,比特币近乎完美地做到了这一点。
讲到数字货币的发展,我们必须提一个人:大卫·乔姆(David Chaum),他是研究数字货币的领头人,美国计算机科学家和密码学家。早在互联网诞生之前,乔姆就已经开始研究怎样用技术来保护隐私,他在1983年第一个提出把加密技术应用于现金的想法。乔姆提出使用“盲签”技术实现匿名的网络支付系统。所谓“盲签”,就是消息发送者先将消息盲化,让签名的人对盲化后的消息进行签名,然后消息发送者对签名除去盲因子,得到签名的人对原消息的签名。打个比方,消息就像一份文件,发送者不想让签名的人看到文件内容,但又需要他在文件上签名,于是发送者把文件装进一个信封并在文件上放一张复写纸。装有文件和复写纸的信封就是盲化后的消息,签名者拿到后,在信封上进行签名。该过程也就是通过复写纸对里面的文件进行签名,这样消息发送者拿到签过名的信封后,打开信封(即除去盲因子)就能看到被签名的文件,从而实现了签名者在看不到消息内容的情况下对消息签名的过程,如图1-13所示。
图1-13 盲签
举个例子,张三要拿一份机密文件给李四签名,但是张三又不想让李四知道文件的内容,于是他先对文件内容进行加密,再发给李四,李四对加密后的文件进行数字签名后还给张三。需要注意,数字签名的结果是一串数值,对不同文件内容进行数字签名能得到不同的数值。虽然李四不是对原始文件进行数字签名的,但是张三可以通过计算除去盲因子,得出李四对原始文件的签名值,它和李四直接对原始文件进行数字签名是完全等效的,只是整个过程李四都不知道文件内容而已。同时,李四在众多的签名后看到原始文件的签名值时,无法知道这是自己哪次签署的。换句话说,多次签名之后,通过签名消息,李四无法知道该消息是众多的人中谁提供给他签名的,这样,盲签就起到了保护用户匿名性的作用,如图1-14所示。
图1-14 盲签示意图
乔姆是如何把盲签应用到加密货币上的呢?我们先看使用盲签技术之前关于加密货币支付的例子。打个比方,银行给大家发放纸条,纸条上面写着“这张纸条值1元钱”,银行在每张纸条上签名,拿到纸条的人都可以到银行兑换1元钱。如果大家信任银行,且纸条上有银行的签名,而签名又无法伪造,那么纸条就可以流通。实质上,这类纸条就是银行汇票的雏形。如果银行发放的是电子纸条,并对每张电子纸条签名,我们可以将其理解为加密货币,拥有电子纸条的人可以进行消费。签过名的电子纸条其实就是互联网上传输的一串数据而已,人们是可以复制再传输给其他人的,这就是加密货币面临的最大的问题——“双花”,又称“双重支付”,言下之意就是同一笔钱花多次,毕竟加密货币存在的形式和现金不同,它是一串数据,随时可能被复制,相当于伪造现金,只是伪造的方式是毫无成本的复制,又带有银行签名,无法辨别真假,如图1-15所示。
图1-15 双重支付问题
为确保每张纸条只花一次,银行给每张纸条加上一个序列号,用于标识这张纸条,然后进行签名。每一次交易银行都会对花费的纸条做记录并回收,再发放包含新序列号的纸条给本次交易的收款方,用于收款方下次花费。如图1-16所示,张三去店里买糖果,付给老板李四一张纸条,序列号为1。李四先核查这张纸条上的签名的确是银行所签,不是伪造品,然后为了防止这张纸条被用过,李四询问银行序列号为1的纸条是否被用过。银行查询后告诉李四没有,那么李四就可以放心地把糖果给张三,并且把这张纸条给银行,银行记录序列号1某年某月某日在付给李四的交易中被使用,同时发给李四另一张序列号为2的纸条供李四以后消费,这样就完美地解决了双花问题。
图1-16 银行记录解决“双花”问题
加密货币和现金不同,现金本身就是值钱的,加密货币必须得到银行的确认没有被使用过,它才值钱。但是,这种方式在匿名性上存在问题,银行对自己发给每个人的序列号以及从谁手上回收的序列号了如指掌,记录在案,交易完全暴露给了银行,个人的消费行为很容易被追踪。这时,乔姆的“盲签”技术派上用场了。银行同样是发放电子纸条,然而纸条的序列号只有持有纸条的人知道,银行是不知道的。纸条持有者把序列号附在纸条上,加密后让银行签名,银行在不知晓序列号的情况下签名后,由持有者计算得到包含有序列号和银行签名的纸条,这样电子纸条就可以花费了。还是张三在李四的店里买糖果的例子,张三付给李四一张电子纸条,李四询问银行这张纸条是否被使用过,银行查询序列号被使用的记录情况并回复没有,回收李四的纸条并发放新纸条给李四。李四在这张新纸条上附加只有他自己知道的序列号并通过盲签技术给银行签名,随即拿到签名的新纸条用于下次消费,也就是说,银行只签名却不知道发给李四新纸条的序列号。第二天李四从王五那里买杯子,付给王五这张新纸条,王五验证银行签名后联系银行提供签名的纸条时,银行并不知道这张纸条就是昨天发给李四的那张。因为盲签技术具有这样的特性,在众多的签名后看到原始消息的签名消息时,无法知道这是自己哪次签署的,银行也就无法知道这笔交易是谁付给王五的钱,从而保护了用户的隐私。这就用到了盲签技术的签名消息不可追踪特性,银行只知道用户的收款而已,没办法追踪到每个人所有的消费行为,如图1-17所示。
图1-17 盲签技术保护用户隐私
以上例子中的银行实际是一个中心化的机构,乔姆的盲签技术虽然解决了加密货币的匿名性问题,但是这个中心化的机构必须参与每笔交易。1989年,乔姆将自己的研究成果商业化,在荷兰阿姆斯特丹创立了数字现金公司DigiCash,开发了一个数字现金系统Ecash,该系统使用的现金称为电子现金,在这个系统中付款方匿名而商家非匿名。DigiCash得到了很多风投资金,但在1998年数字现金公司还是宣告破产了,因为它未能说服银行和商家使用,也未能支持用户与用户之间的交易。乔姆试验的数字现金系统是加密货币的先驱,激励了很多密码学家不断研究,后来大多数的加密货币都以盲签技术为基础。
电子现金面临的一个很大的问题是如何确保它值钱。创造出具有实实在在价值的货币,必须将货币与稀缺性相关联,比如黄金,它具备稀缺性,已经成为世界公认的货币储备。电子现金有一个解决办法,即用美元去它的发行方兑换同等价值的电子现金。电子黄金(E-Gold)则另辟蹊径,发行机构存储实物黄金,根据黄金价格来发行电子货币,但这种方式使得电子货币随着参照物黄金的价值而浮动,不够稳定。于是大家思考是否可以设计一种系统,通过花费时间解数学题目来生成电子货币,从而保证电子货币的稀缺性,赋予电子货币价值。亚当·贝克(Adam Back)于1997年基于这个想法创造了哈希现金。这种解题的方法我们称为“工作量证明”,最早由提亚·沃克(Cynthia Dwork)和摩尼·纳欧尔(Moni Naor)提出,用来限制垃圾邮件发送和拒绝服务攻击。它要求发送方在发送邮件之前进行一定量的数学计算,对于发送成千上万垃圾邮件的计算机来说,进行大量的数学计算几乎不可能。因为垃圾邮件问题没有严重到需要使用计算机算题来解决,所以未能引起重视,直到亚当·贝克采用了类似的机制发明了哈希现金。后来中本聪也把这种通过解数学题的工作量证明想法用到了比特币的挖矿机制上,并作为比特币的核心要素之一。
哈勃(Haber)和斯托尔内塔(Stornetta)从1991年开始发表论文,提出用时间戳保证数字文件安全记录的方法,准确地反映出文件创建的顺序,并且一旦创建就无法更改,这是比特币使用的技术原型之一。时间戳服务器对每份文件进行认证,认证的方法是对包括指向前一份文件认证的哈希指针、当前时间和文件内容在内的三条信息进行签名,每份文件的认证都确保了前一份文件内容的完整性。实际上,通过指针串接后每份文件的认证都确保了前面所有文件内容的完整性,从而使文件形成了可追溯的链状结构,确保不可篡改。随后他们还提出,把所有的文件集合成块,然后按块连接,每个块里的文件通过树状结构连接,这也是比特币用到的数据结构之一。
1998年,计算机、密码学专家戴伟(Wei Dai)提出了一种匿名的分布式加密货币系统B-Money,也称B币。它是比特币的前身,其核心思想是在点对点的网络里,每个人都可以通过类似于哈希现金的方法创造电子货币。B币系统中,每个节点单独记录自认为准确的个人账户余额,并独立维护账本。戴伟设计了复杂的奖惩机制,希望可以解决作弊问题,但没有从技术上解决全网各节点的账本同步问题,因此B币并未被广泛应用。尼克·萨博(Nick Szabo)也创建了类似的方案,叫作比特黄金(BitGold),同样没有解决账本一致的问题。他于2005年在博客公开发布比特黄金的设想,外界据此普遍认为他就是中本聪本人,但萨博更擅长于理论研究,而中本聪发明比特币则是从编写代码实现开始的。
回顾数字货币的发展史,在信息技术的推动下,比特币的发明并不是偶然的,它是先驱们智慧的结晶。比特币是数字货币的一个成功实践,是在前人对数字货币创新思想积累上的质的飞越。从第一个加密货币、时间戳账本到哈希现金、B币等,这些理论探索都未进入到应用领域,但其研究成果为比特币的匿名性、稀缺性、不可篡改、可追溯等特性提供了理论基础。历史选中了中本聪,让他站在前人的肩膀上,将人类的智慧创新性地进行了整合,再融入自己的想法,创造了比特币,闪亮登上了历史的舞台。而比特币的兴起引发了大众对区块链技术研究的热潮,这个充满神奇色彩的技术,融合了密码学、计算机学、经济学、政治学、博弈论等前沿的学科理论,引起全世界众多学者的兴趣甚至是沉迷。
在我们介绍中本聪这个神秘人物之前,先介绍著名的“密码朋克”。中本聪撰写的比特币论文最早发布于“密码朋克”。狭义上来说,密码朋克是一套加密的电子邮件系统,但它实际上是信奉自由主义的运动,其早期的成员有很多IT精英,包括发明比特币的中本聪、“维基解密”的创始人阿桑奇、BT下载的作者布拉姆·科恩、Facebook创始人之一肖恩·帕克等,前面所说的创建比特黄金的尼克·萨博也是密码朋克成员。密码朋克认为,没有政府干预或者极少干预能让社会变得更好。他们倡导使用强加密技术,保护人们的隐私不受政府控制,人们可以更加有效地保护自己的权益,通过强大的网络隐私保护,重塑人们之间交流的方式。大卫·乔姆所做的数字货币的早期研究,与密码朋克的信仰密不可分。正是基于这样的信仰,让很多有志之士默默地从事加密研究工作,他们对去中心化、匿名性有着强烈的愿望,而比特币正是在这样的土壤中诞生的。现在我们知道了,通往比特币的道路有着强大的信念支撑。
那么发明比特币的中本聪究竟是何许人也?这个传奇人物创造了比特币的底层技术——区块链的核心理论,可是直到现在,他的真实身份仍是一个谜。“中本聪”只是他的化名,听起来像是日本人的名字,但究竟是不是日本人无从考证。2008年11月1日,他在P2P Foundation网站的密码学邮件组上公开发表论文Bitcoin:A Peer-to-Peer Electronic Cash System(《比特币:一种点对点的电子现金系统》),该论文被比特币信仰者尊称为“比特币白皮书”,浓缩了区块链思想的精华,此后不久他公开了比特币源代码。网站注册时必须提供出生日期,中本聪写的是1975年4月5日,如果是事实,2008年发表白皮书时他才33岁。中本聪在网上的简介显示其居住在日本,谈论的话题也仅限于技术。在比特币早期中本聪是很活跃的,他给可能对比特币感兴趣的人发邮件说明自己的想法。2010年11月,比特币项目逐渐被别人接手后,中本聪便消失了。比特币白皮书里引用的参考文献中,有一些基本的密码学和概率论的论文,除此之外,中本聪还引用了时间戳服务器、哈希现金和B币,据此我们得出中本聪的确参考了前人的设计理念。从被公开的邮件来看,亚当·贝克向中本聪提议在比特币体系中加入B币,随后中本聪给B币创造者戴伟发邮件,戴伟告诉了他比特黄金。根据先后顺序可以看出,也许中本聪并不是因为B币、比特黄金等设计方案才创造了比特币。维基百科主编曾在2010年认为比特币根本不值一提,打算删除比特币词条。不过这也不能怪他,谁能预料到比特币会有现在这么火呢?中本聪和其他人商量着如何让维基百科接受比特币,他的建议是:比特币是戴伟提出的B币与尼克·萨博提出的比特黄金的具体实现。在中本聪看来,比特币是两者的延伸和落地实施方案,这样能更好地解释比特币的原理。
中本聪并未在白皮书中提过大卫·乔姆的电子现金方案,他在创建比特币时是否了解这些失败的虚拟货币,我们无从考证。中本聪曾在比特币的论坛里发表一篇文章,提到了乔姆的电子现金体系,他称之为乔姆中心造币体系。文章说,20世纪90年代以来所有的虚拟货币公司全部失败,导致很多人对虚拟货币并不看好,他希望人们可以看到这些系统失败的原因,显然是因为他们的中心化控制。由此看出中本聪认为比特币与其他虚拟货币不同的地方在于其去中心化的特性。另外,中本聪说他在创造比特币时,是先编写代码,让自己相信所有的问题都可以解决,然后再写下理论。所以中本聪与大多数学术研究者不同,他首先是一个工程师,将构思付诸实施以后再研究其理论。实际上,比特币的底层技术区块链涉及计算机、密码学、经济学、博弈论等诸多学科领域,它的成功得益于实践中的稳定运行,至于相关理论,很多学者目前仍在不断地研究和拓展。
有人说中本聪把神秘主义的原则诠释得非常彻底,他在比特币越来越火的时候,完全退出公众视野,连提名诺贝尔经济学奖候选人都没能让他现身。其实在中本聪活跃的密码朋克社区,大家都普遍采用匿名方式交流,也许选择匿名是出于他一贯的风格。传说中的中本聪被认为是一个集经济学家、数学家、密码学家、程序员于一体的传奇人物,没有人见过中本聪本人,连他的声音都没听过,唯独只有他交流的邮件。全世界的媒体都在找他,前几年出现了一个轰动世界的事件,一位澳大利亚计算机科学家克雷格·史蒂芬·赖特,主动联系英国广播公司BBC、《经济学人》和《智族》三家媒体,宣布自己就是“中本聪”本人,赖特表示他此次公开身份是希望媒体能停止对他身份的猜测,并提供了相关证据。随后,一个转折性的事件发生了,中本聪在邮件中平静的陈述:“我不是克雷格·赖特,我们每个人都是中本聪”。这让人联想起电影《超体》里的女主角,她因为大脑利用率达到100%,可以随心所欲地穿越时空,还可以与任何物质进行转换,就像神一样,最后留下一句经典台词:“我,无处不在!”这场闹剧以中本聪本人的澄清而终结,中本聪在媒体各处的配图中都只是一个背影,如图1-18所示。
图1-18 神秘的中本聪
如今,作为比特币的核心技术,区块链被越来越多的投资者看重,无数科技公司吸收其先进的技术理念,准备将它投入到创新产品中。不管以后比特币系统是否持续运行,比特币价格如何,区块链未来的应用前景都是广阔的。