
1.2 区块链的发展
1.2.1 区块链的发展历程
区块链技术有一段漫长而有趣的历史。
1969年,美军在阿帕网(ARPA)制定的协定下,将美国西南部的加利福尼亚大学洛杉矶分校、斯坦福大学研究学院、加利福尼亚大学圣塔芭芭拉分校和犹他州大学的4台主要计算机连接起来。这一最早的网络连接标志着互联网的诞生,此后互联网从美国的4所研究机构扩展到整个地球。互联网的出现,为区块链乃至各种网络协议的诞生奠定了物理基础。
1974年,由美国科学家文顿·瑟夫(Vinton Cenf)和罗伯特·卡恩(Robert Kahn)共同开发的互联网核心通信技术——TCP/IP正式“出台”,互联网发展迈出了最为关键的一步。TCP/IP参考模型由网络接口层、网络层、传输层和应用层组成,如图1-1所示。这个协议实现了在不同计算机甚至不同类型的网络间的信息传送。所有连接在网络上的计算机,只要遵照这个协议,都能够进行通信和交互。理解 TCP/IP 对掌握互联网和区块链有非常重要的意义,在1974年TCP/IP出现之后,整个互联网的底层硬件设备、中间的网络协议和网络地址一直比较稳定,但在顶层即应用层的创新应用不断涌现,包括电子商务、社交网络等,也包括区块链等技术。也就是说在互联网的技术生态中,区块链是互联网顶层即应用层的一种新技术,它的出现、运行和发展没有影响到互联网底层的基础设施和通信协议,区块链技术依然是按TCP/IP运转的众多技术之一。

图1-1 TCP/IP参考模型
1976年,贝利·迪夫(Bailey Diffie)、马丁· 赫尔曼(Martin Hellman)两位密码学专家发表了论文《密码学的新方向》,论文覆盖了未来几十年密码学所有的新的发展方向,包括非对称加密、椭圆曲线、哈希等算法,奠定了迄今为止整个密码学的发展方向,对区块链的技术和比特币的诞生起到了决定性作用。
同年,发生了另外一件看似完全不相关的事情——哈耶克(Hayek)出版了他人生中最后一本经济学方面的专著——《货币的非国家化》。书中所提出的非主权货币、竞争发行货币等理念,可以说是去中心化货币的精神指南。
紧接着在1977年,RSA算法诞生,可以说这是1976年《密码学的新方向》的自然延续,三位发明人也因此在2002年获得了图灵奖。
到了1980年,拉尔夫·梅克尔(Ralph Merkle)提出了梅克尔树(Merkle-Tree)的数据结构和相应算法,其在后来的主要用途之一是在分布式网络中校验数据同步的正确性,这也是比特币中进行区块同步校验的重要手段。值得指出的是,在1980年,哈希算法、分布式网络都尚未出现,例如SHA-1、MD5等算法都是在20世纪90年代诞生的。在那时梅克尔就提出了这样一个对后来密码学和分布式计算起到重要作用的数据结构,多少有些令人惊讶。不过,如果考虑到梅克尔的背景,就知道这事决非偶然:因为他就是《密码学的新方向》的两位作者之一赫尔曼的博士生,实际上《密码学的新方向》也正是梅克尔的博士阶段的研究方向。据说梅克尔实际上是《密码学的新方向》主要作者之一,只是因为当时是博士生,没有收到发表这个论文的学术会议的邀请,才没能在论文上署名,也因此与40年后的图灵奖失之交臂。
1982年,莱斯利·兰波特(Leslie Lamport)等人提出拜占庭将军问题,这标志着分布式计算的可靠性理论和实践进入了实质性阶段。拜占庭将军问题是解释一致性问题的一个虚拟模型。拜占庭是古东罗马的首都,由于地域宽广,守卫的将军需要通过信使传递消息,达成一致的决议。但由于将军中可能存在叛徒,这些叛变的将军可能会发送错误的消息,干扰其他将军的决议。拜占庭问题的提出是为了解决在这种情况下,怎样让忠诚的将军们达成一致决议的问题。这个问题演变到计算机领域,就是使互联网中不同计算机通过通信达成一致。在实际过程中有些计算机可能出现错误,有些计算机有可能被黑客攻击,怎样保证网络上的计算机对某个事物达成一致就是这个理论模型要解决的问题。拜占庭问题是区块链技术里共识机制的基础。正因为有了这样的理论基础,才使区块链技术有了发展的科学基础。
同样是在1982年,大卫·乔姆(David Chaum)提出了密码学支付系统Ecash。可以看出,随着密码学的发展,眼光敏锐的人已经开始尝试将其运用到货币、支付相关的领域了,应该说Ecash是密码学货币最早的先驱之一。
1984年12月,思科公司在美国成立,创始人是斯坦福大学的一对夫妇,计算机中心主任莱昂纳德·波萨克(Leonard Bosack)和商学院的计算机中心主任桑蒂·勒纳(Sandy Lerner),他们设计了“多协议路由器”的联网设备,并将其放到互联网的通信线路中,帮助数据准确快速地从互联网的一端到达几千千米之外的另一端,如图1-2所示。在整个互联网硬件层中,有几千万台路由器在繁忙地工作,指挥互联网信息的传递,思科路由器的一个重要功能就是每台路由器都保存完整的互联网设备地址表,一旦发生变化,地址信息会同步到其他几千万台路由器上(理论上),以确保每台路由器都能计算最短、最快的路径。路由器的运转过程体现出区块链后来的重要特征——去中心化。对于路由器来说,不存在中心节点,即使有节点设备损坏或者被黑客攻击,也不会影响整个互联网信息的传送。

图1-2 路由器和互联网
1985年,尼尔·科布利茨(Neal Koblitz)和维克多·米勒(Victor Miller)各自独立地提出了椭圆曲线加密(Elliptic Curve Cryptography,ECC)算法。由于此前的RSA算法的计算量过大,很难应用到实际中,ECC的提出才真正使得非对称加密体系产生了实用的可能。因此,可以说到了1985年,也就是《密码学的新方向》发表后10年左右的时候,现代密码学的理论和技术基础已经完全确立了。
1991年,开始使用时间戳确保数字文件安全。斯图尔特·哈伯(Stuart Haber)与W. 斯科特·斯托尔内塔(W. Scott Stornetta)于1991年提出利用时间戳确保数字文件安全的协议。
1993年,辛西娅·德沃克(Cynthia Dwork)和莫尼·纳尔(Moni Naor)提出工作量证明(Proof of Work,PoW)的概念。PoW机制依赖成本函数的不可逆特性,从而具有容易被验证但很难被破解的特性,最早被应用于阻挡垃圾邮件。
1969—1996年,密码学、分布式网络以及电子货币等领域基本上处于缓慢发展的阶段。这种现象很容易理解:新的思想、理念、技术产生之初,总要有相当长的时间让读者去学习、探索、实践,然后才有可能出现突破性的成果。最终,从1969年开始,经过接近30年的时间,密码学、分布式网络和电子货币领域终于进入了快速发展的时期。
1997年,亚当·贝克(Adam Back)发明了一种被称为哈希现金(HashCash)的“数字货币”。这是首个采用工作量证明机制的“数字货币”,之后工作量证明机制成为众多“数字货币”和区块链系统的核心机制。
同年,哈伯和斯托尔内塔提出了一个用时间戳的方法保证数字文件安全的协议,这个协议也成为区块链协议的原型之一。时间戳最大的特点就是当一条记录产生时会被盖上时间戳,之后它就不能被改动了。
到1998年,密码学货币的完整思想终于出现了。戴伟(Wei Dai)、尼克·萨博(Nick Szabo)同时提出了匿名分布式密码学货币的概念。戴伟的 B-money 引入了工作量证明机制,强调点对点交易和不可篡改的特性,每个节点分别记录自己的账本。这些特征与中本聪(Satoshi Nakamoto)的比特币论文中列出的特征非常接近,也因此B-money被认为是比特币的精神先驱之一,曾有人怀疑萨博就是中本聪。B-money是第一个被提出的去中心化的“数字货币”系统,但遗憾的是,它只停留在设计阶段,没有给出具体的实现。
同时期,前文提及的Ecash宣布倒闭。虽然Ecash的实践以失败告终,但作为“数字货币”的先行者,Ecash为后续的“数字货币”系统积累了大量经验。
综上所述,区块链技术早期的主要阶段总结如图1-3所示。

图1-3 区块链技术早期的主要阶段
20世纪末到21世纪初,区块链相关的领域又有了几次重大进展。首先是C/S架构和B/S架构的成熟。C/S 架构如图1-4所示,节点分为客户端和服务器端,所有更新的信息只在服务器端修改,其他几千、上万、甚至几千万的客户端计算机不保留信息,只有在访问服务器时才获得信息。如果这种客户端是浏览器,那么这种结构被称为B/S架构。无论是C/S架构还是 B/S 架构,都存在着中心机构。这种中心化架构也是目前互联网最主要的架构,包括Google、Facebook、腾讯、阿里巴巴等“互联网巨头”都采用了这种架构。对区块链、去中心化有所了解的人应该清楚,这种中心化架构正是区块链试图颠覆的对象。

图1-4 C/S架构
同一时期,Napster等端到端(Peer to Peer,P2P)网络先后出现,奠定了P2P网络计算的基础。对等网络P2P是另一种互联网的基础架构,它的特征是彼此连接的多台计算机都处于对等的地位,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机使用,又可以作为客户端,如图1-5所示。Napster是最早出现的P2P网络之一,主要用于音乐资源分享。实际上 Napster 还不能算作真正的对等网络。2000年美国在线(American Online,AOL)的 Nullsoft 部门发放了一个开放源代码的 Napster 的复制软件 Gnutella。在Gnutella 分布式对等网络模型中,每一个联网计算机在功能上都是对等的,既是客户机同时又是服务器,所以Gnutella被称为第一个真正的对等网络架构。这一时期里,互联网“巨头”如Microsoft、IBM,也包括自由份子、黑客、甚至侵犯知识产权的犯罪分子,不断推动P2P网络的发展。区块链就是一种P2P网络架构的软件应用,现今它已经成为P2P网络的标杆性应用。

图1-5 P2P网络架构
同一时期里还发生了另外两件和区块链相关的事件。2001年美国国家安全局(NSA)发布了SHA-2系列算法,其中就包括目前应用最广的SHA-256算法,这也是比特币最终采用的哈希算法。2004年,PGP加密公司的开发人员哈尔·芬妮(Hal Finney)推出了电子货币“加密现金”,在其中采用了可重复使用的工作量证明(Reusable Proof of Work,RPoW)机制,但是她的设想还是没有能够使电子货币成为一种世界型的虚拟货币。
实际上到了2000年左右,区块链的所有技术问题无论是在基础上还是理论上、实践上都得到了很好的解决。因此可以说,到了这一阶段,区块链的诞生只是时间问题了。
Napster公司在2001年因法院判决其违法而关闭服务,2002年正式破产。
2003年Handschuh和Gilbert利用Chabaud-Joux攻击,理论上得到了SHA-256算法的一个部分碰撞,并证明了SHA-256算法可抵御Chabaud-Joux攻击。
2005年,eDonkey2000网络公司网站关闭,但是eDonkey网络仍然正常运行。王小云等人正式宣布推出MD5、SHA-1碰撞算法。
2007年,BitTorrent正式超越eDonkey2000网络,成为互联网最大的文件共享系统。
比特币诞生前夕的主要事件如图1-6所示。

图1-6 比特币诞生前夕的主要事件
2008年9月,以雷曼兄弟银行的倒闭为开端,金融危机在美国爆发并向全球蔓延。为应对危机,世界各国政府和中央银行采取了史无前例的财政刺激方案和扩张的货币政策,从而对金融机构提供紧急援助。这些措施同时也引起了广泛的质疑。
2008年11月1日,比特币创始人中本聪在密码学邮件组发表了一篇论文——《比特币:一种点对点的电子现金系统》。在这篇论文中,作者声称发明了一套新的不受政府或机构控制的电子货币系统,而区块链技术是支持比特币运行的基础。虽然从学术角度看,这篇论文远不能算是合格的论文(文章的主体是由8个流程图和对应的解释文字构成的,没有定义名词、术语,格式也很不规范),但对区块链和“数字货币”领域而言,这却是最重要的技术文献之一。
2009年1月,中本聪在SourceForge网站发布了区块链的应用案例——比特币系统的开源软件。2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了比特币的第一个区块——创世区块(Genesis Block),并获得了首批挖矿奖励——50枚比特币。在创世区块中,中本聪写下这样一句话:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks(财政大臣站在第二次救助银行的边缘)。”新版本的比特币系统将它设定为0号区块,而旧版本的比特币系统将它设定为1号区块。据说在随后的一个月中,中本聪为自己挖出了超过100万枚比特币。2009年1月11日,比特币客户端0.1版发布,这是比特币历史上的第一个客户端,它意味着更多人可以挖掘和使用比特币了。2009年1月12日,中本聪发送了10枚比特币给密码学专家哈尔·芬尼,这也成为比特币史上的第一笔交易。
2010年7月,比特币价格大涨,从0.008美元/比特币上涨到0.080美元/比特币,由于比特币的价格持续上升,积极的“矿工们”开始寻找提高计算能力的方法。专用的图形卡比传统的CPU更适合挖矿,因此比特币挖矿进入图形处理器(Graphics Processing Unit, GPU)时代。据称,矿工 ArtForz 是第一个成功实现在“矿场”上用个人的开放运算语言(OpenCL)进行GPU挖矿的人。2010年8月6日,比特币网络协议升级,比特币协议中的一个主要漏洞被发现:交易信息未经正确验证就被列入交易记录或区块链。这个漏洞被人恶意利用,生成了1840亿枚比特币,并被发送到两个比特币地址上。这笔非法交易很快就被发现,漏洞在数小时内修复,非法交易被从交易日志中删除,比特币网络协议也因此升级至更新版本。
2011年4月,比特币官方有正式记载的第一个版本0.3.21发布,尽管这个版本非常初级,但是意义十分重大。首先,由于它支持UPnP,实现了日常使用的P2P软件的能力,比特币才真正走入人们的生活,让任何人都可以参与交易。其次,在此之前比特币节点最小单位只支持0.01比特币,相当于“分”,而这个版本真正支持了“聪”。可以说从这个版本之后,比特币才成为现在的样子,真正形成了市场,在此之前基本上是技术人员的玩物。同年6月29日,比特币支付处理商BitPay推出了第一个用于智能手机的比特币电子钱包。2011年7月6日,一个免费的比特币数字钱包App现身安卓应用商店,这是第一款与比特币相关的智能手机和便携式计算机App。
2012年9月27日,为了实现规范、保护和促进比特币发展的目标,比特币基金会宣布成立。该基金会的成立对媒体和企业发起的符合相关法规的查询具有重大的意义。2012年11月28日,区块奖励首次减半,比特币挖矿的奖励从之前的每个区块50枚比特币减至25枚比特币,区块#210000是首个奖励减半的区块。
2013年,比特币发布了0.8版本,这是比特币历史上极其重要的版本,它完成了比特币节点本身的内部管理、网络通信的优化。也就是在这个版本以后,比特币才真正支持全网的大规模交易,成为中本聪当初设想的电子现金,真正产生了全球影响力。2013年11月29日,比特币价格首度超过黄金,比特币在Mt.Gox上的交易价格达到1242美元/比特币,同一时间的黄金价格为1241.98美元/盎司。
比特币早期发展的重要事件如图1-7所示。

图1-7 比特币早期发展的重要事件
比特币后面的发展被越来越多的人熟知。例如算力的增长以及在 GitHub 上超过了1万个相关的开源项目等。
比特币近年来的重要事件如图1-8所示。

图1-8 比特币近年来的重要事件
2013年,以太坊创始人维塔利克 • 布特林(Vitalik Buterin)发布了以太坊初版白皮书,标志着可编程的区块链以太坊上线。它定义了去中心化应用平台的协议,借助于以太坊虚拟机(Ethereum Vitual Machine,EVM),可以执行任意复杂算法的编码,且采用友好的编程语言JavaScript和Python等开发应用。
以太坊技术发展的重要事件如图1-9所示。

图1-9 以太坊技术发展的重要事件
从技术的角度来看,智能合约、侧链、闪电网络等技术快速发展,区块链技术的共识机制目前也日渐成熟。同时也可以看到,2018年比特币的全球算力就达到了45.56EHash/s,表明“数字货币”和区块链技术进入了高速增长的时代。
从行业的角度来看,在全球范围内,区块链在知识产权、溯源、保险、存证、供应链等十几个领域都有了成功案例。不仅独立开发商,国内外多家金融机构、传统企业,也都纷纷开展了自己的区块链项目,无论是自行研发,还是和第三方合作,都证明区块链技术在行业的应用呈现火爆的趋势。
从政府的角度来看,各国在发展区块链技术上不断发力。2017年,中华人民共和国工业和信息化部指导发布的区块链分布式账本的技术参考架构,证明政府对区块链是非常支持的。
从社会的角度来看,就不得不谈论经济数据。初步统计,截至2016年,全球已经有656种“数字货币”。截至2017年4月,“数字货币”总市值超过300亿美元,其中比特币占80%。由于一些支付机构可以接受比特币支付,因此它实际上可以间接覆盖全球各地的商户,商家数量甚至达到数千万。区块链相关的学术论文已经有超过20 000篇。从这个角度也可以看出,区块链技术不再是依附于比特币、以太坊或任何“数字货币”的技术,而是一种真正进入学术领域可以进行独立研究的技术。
尽管区块链技术近年来取得了巨大的发展,但它仍然存在许多不足,其中最严重的是追求去中心化带来的困境。作为一个P2P网络架构应用,区块链在大量数据的应用上仍然面临着困难。截至2018年,比特币已经运行了近10年,累积的交易数据已经开始让整个系统面临崩溃。在这一困境中,区块链也尝试了许多替代方法,如建立中继节点和闪电节点。通俗地说,区块链已经从它想要颠覆和建立数据的对象B/S结构中吸取了教训,服务器中心成为了区块链的一个中继节点。这个改变可以缓解区块链的技术缺陷,但是会使区块链更加集中。由此可见,区块链技术仍存在较大的缺陷,如何平衡去中心化和中心化仍是一个有待研究的问题。
1.2.2 区块链发展的三个阶段
1.区块链1.0:比特币得到广泛应用
区块链1.0是以比特币为代表的“数字货币”应用,主要通过一个分布式分散的数据库将货币、支付、数据和信息存储分散化,以及通过分布式的数据库存储信息,比特币是区块链1.0的典型应用。
比特币是第一个解决双重支付问题的“数字货币”,通过工作量证明(Proof-of-Work,PoW)协商共识算法,结合连接到网络的计算处理能力来保护和验证事务,从而保护分布式数据库账本。自比特币诞生以后,全球已陆续出现了数百种“数字货币”,围绕“数字货币”生成、交易、存储形成了较为庞大的“数字货币”产业链生态。
2.区块链2.0:“数字货币”与智能合约结合
区块链2.0是“数字货币”与智能合约的结合,能够让金融领域更广泛的场景和流程实现优化。区块链2.0引入了分布式虚拟机的概念,可以在区块链层之上构建分散式的应用程序。区块链应用于金融领域有着天生的绝对优势,金融机构通过使用新的区块链技术可以提高运营效率,降低成本。更重要的是区块链2.0引入了图灵完备智能合约,允许多个微事务发生,可处理更大的事务量,如在以太坊,比特币每秒的交易次数从7次提高到15次,这是一个显著的提高。这对资产证券化、供应链金融、保险、跨境支付、银行征信、数字票据等泛金融领域的应用尤其重要。
3.区块链3.0:泛行业去中心化应用
区块链3.0是超越货币和金融范围的泛行业去中心化应用,特别是在政府、医疗、科学、文化和艺术等领域的应用。随着区块链技术不断成熟,其应用将带来以下几个方面的价值。
(1)推动新一代信息技术产业的发展。
区块链技术应用的不断深入,将为云计算、大数据、物联网、人工智能等新一代信息技术的发展创造新的机遇。例如,随着万向集团、微众等重点企业不断推动 BaaS 平台的深入应用,必将带动云计算和大数据的发展。这样的机遇将有利于信息技术的升级换代,也将有助于推动信息产业的跨越式发展。
(2)为经济社会转型升级提供技术支撑。
随着区块链技术广泛应用于金融服务、供应链管理、文化娱乐、智能制造、社会公益以及教育就业等经济社会各领域,其必将优化各行业的业务流程,降低运营成本,提升协同效率,进而为经济社会转型升级提供系统化的支撑。例如,随着区块链技术在版权交易和保护方面应用的不断成熟,其将对文化娱乐行业的转型发展起到积极的推动作用。
(3)培育新的创业创新机会。
国内外已有的应用实践证明,区块链技术作为一种大规模协作的工具,能促使不同经济体内交易的广度和深度迈上一个新的台阶,并能有效降低交易成本。例如,万向集团结合“创新聚能城”,构建区块链的创业创新平台,既为个人和中小企业创业创新提供平台支撑,又为将来应用区块链技术奠定了基础。我们可以预见的未来是:随着区块链技术的广泛运用,新的商业模式会大量涌现,为创业创新创造新的机遇。
(4)为社会管理和治理水平的提升提供技术手段。
随着区块链技术在公共管理、社会保障、知识产权管理和保护、土地所有权管理等领域的应用不断成熟和深入,其将有效提升公众参与度,降低社会运营成本,提高社会管理的质量和效率,对社会管理和治理水平的提升具有重要的促进作用。例如,蚂蚁金服将区块链运用于公益捐款,为全社会提升公益活动的透明度和信任度树立了榜样,也为区块链技术用于提升社会管理和治理水平提供了实践参考。