1.1 区块链技术的孕育阶段
创新是进步的源泉,一项伟大技术的发展背后是无数紧密连接的创新成果的涌现。大众现在所见到的区块链技术,并不是完完全全新创的技术,它其实包含了不同历史时期多个领域的研究成果。对这些技术背景的回顾将有助于我们了解区块链技术的过去,把握区块链技术的现在,预测区块链技术的未来。
区块链技术的进步依托于密码学(Cryptography)的发展。密码学的发展使得人们匿名操作的安全性得以保证。那么,究竟什么是密码学?密码学包括密码编码学和密码分析学两大范畴,前者的主要研究内容是密码体制设计,后者的主要内容则是密码体制的破译。密码编码技术和密码分析技术是相互支持、密不可分的两个方面。
1976年,惠特菲尔德·迪菲(Whitfield Diffie)、马丁·赫尔曼(Martin Hellman)发表了一篇具有划时代意义的文章—《密码学新方向》;1977年,美国的数据加密标准(DES)公布。这两件事情的发生让密码学得到了空前的关注度。在此以前,人们都认为密码是政府、军事、外交、安全等部门专用的。而在1977年后,密码学由公用研究转为民用研究,正是这种转变,让密码学得到了飞速发展。
1977年,罗纳德·李维斯特(Ronald Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)三位教授提出了RSA公开密钥密码系统,这是迄今为止所有公钥密码体系中最著名、使用最广泛的一种密码体系。RSA的名称来自于这三位发明者姓氏的第一个字母,他们也因此在2002年获得了计算机领域的最高荣誉—图灵奖。
1980年,《密码学新方向》的两位作者之一赫尔曼的博士生默克尔(Ralph Merkle),提出了默克尔树这种数据结构和相应的算法,其主要用途之一是对分布式网络中数据同步正确性的校验。值得指出的是,在1980年时,哈希算法、分布式的网络都还没有出现,我们熟知的安全哈希算法(Secure Hash Algorithm,简称:SHA-1)、消息摘要算法第五版(Message Digest Algorithm MD5,简称:MD5)都是在20世纪90年代诞生的。在那个年代,默克尔就发布了这样一个数据结构,并且对密码学和分布式计算领域的发展起到了重要作用,这多少有些令人惊讶。
1982年,莱斯利·兰伯特(Leslie Lamport)在一篇描述分布式系统一致性问题(Distributed Consensus)的论文中抽象出了一个著名的例子,即拜占庭将军问题(Byzantine Failures)。拜占庭帝国想要进攻一个强大的敌国,他们的军队分散在敌国的四周,依靠骑马的通信兵相互通信来协商进攻意向及进攻时间。任一支军队单独进攻都毫无胜算,至少六支军队(一半以上)同时袭击才能攻下敌国。困扰将军们的问题是,他们不确定他们中是否有叛徒,叛徒可能擅自变更进攻意向或者进攻时间。假设不用考虑通信兵是否会被虏获或无法传达信息等问题,即消息传递的信道绝无问题,在已知有叛徒存在的情况下,其余忠诚的将军如何在不受叛徒的影响下达成一致的协议,拜占庭将军问题就此形成。这一问题的提出,标志着分布式计算的可靠性理论和实践进入了实质性阶段。
同年,大卫·乔姆(David Chaum)提出了不可追踪的密码学网络支付系统。我们可以看出,随着密码学的发展,眼光敏锐的人已经开始尝试将其运用到货币、支付相关的领域了。
1985年,科布利茨(N.Koblitz)和米列尔(V.Miller)各自独立提出了著名的椭圆曲线加密(ECC)算法。此前发明的RSA算法由于计算量过大,并不实用,ECC算法的提出使得非对称加密体系产生了应用于实际的可能。因此,可以说到了1985年,也就是《密码学新方向》发表10年左右的时候,现代密码学的理论和技术基础得以完全确立。
有意思的是,1985—1997年这段时期,密码学、分布式网络以及支付/货币等领域,没有什么特别显著的进展。这种现象很容易理解:在新的思想、理念、技术产生之初,大家总要经过相当长时间的学习、探索、实践,才有可能获得突破性的成果。其前十年,往往是理论发展的时间,后十年才会进入到实践探索阶段,1985—1997这十年左右的时间,应该是相关领域在理论方面迅速发展的阶段。在经过了20年左右的时间后,密码学、分布式计算领域终于进入了爆发期。
1998年,比尔·盖茨的微软如日中天,Windows 98操作系统风行全球;亚马逊公司刚刚成立三年;第一次互联网大泡沫正在酝酿,并将在2000年破裂。而电子商务的发展迫切需要支付方式的变革。互联网电子商务的开展,使得网络支付成为一种潜在需求,数字货币是解决这一问题的方式之一。
一群先驱对数字货币进行了应用实践。戴伟发表文章阐述了一种匿名的、分布式的电子现金系统,他将其命名为“B-Money”;同一时期,尼克·萨博(Nick Szabo)发明了“Bit Gold”,“Bit Gold”设置了一种机制,用户通过竞争性地解决“工作量证明问题”,将解答的结果用加密算法串联在一起公开发布,构建出一个产权认证系统。“Bit Gold”的一个变种是“可重复利用的工作量证明”,开发者是哈尔·芬尼(Hal Finney)。以上即为区块链技术的孕育阶段。