这故事还要从1976年一篇叫做《密码学的新方向》(New Directions in Cryptography)的论文说起。可好奇心使然,互联网这个浩瀚的星球令人情不自禁的多探索了一会儿。事情是这样的,在查找这篇论文作者马丁·赫尔曼(Martin Hellman)和惠特菲尔德·迪菲(Whitfield Diffie)的信息时,无意中了解到,两位密码学大师因为提出迪菲-赫尔曼密钥交换,获得了2015年图灵奖(是计算机界最负盛名的奖项,有“计算机界诺贝尔奖”之称)。
左: 马丁·赫尔曼 右: 惠特菲尔德·迪菲 | 维基百科 迪菲-赫尔曼密钥交换 | 维基百科这不是今天的重点,今天的重点是,马丁·赫尔曼曾主张这个密钥交换方法,应被称为迪菲-赫尔曼-梅克尔密钥交换。这里或许会有疑问了。为什么呢?…… 因为迪菲-赫尔曼密钥交换受到了瑞夫·梅克尔(Ralph Merkle)的关于公钥分配工作的影响。而瑞夫·梅克尔又是谁呢?巧了,他1970年进入加州大学伯克利分校,主修计算机科学。1974年取得学士学位,1977年取得硕士学位。1979年在斯坦福大学取得电机工程博士学位。博士论文主题为《加密,授权与公开密钥系统》(Secrecy, authentication and public key systems),而他的指导教授就是马丁·赫尔曼。
瑞夫·梅克尔 | 维基百科原来早在1970年入学伯克利的那一刻起,瑞夫·梅克尔就已经和赫尔曼-梅克尔密钥交换结下了不解之缘。
后来在2002年,马丁·赫尔曼写到:
“这个系统......从此被称为“迪菲-赫尔曼密钥交换”。虽然这个系统首先是在我和迪菲的一篇论文中描述的,但是这却是一个公钥交换系统,是梅克尔提出的概念,因此如果加上他的名字,这个系统实际上应该称为“Diffie–Hellman–Merkle密钥交换”。我希望这个小小的讲坛可以帮助我们认识到梅克尔对公钥密码学的同等重要的贡献。”
这不由让人对马丁·赫尔曼这位大师心生敬畏。
再说说瑞夫·梅克尔的事,他后来研究方向转至于奈米科技以及人体冷冻技术。担任过《纳米技术》杂志执行编辑多年,1989年加入了Alcor(世界领先的冷冻技术组织),并从1998年5月21日起,一直担任Alcor主任。并对量子计算机和公钥密码系统有所研究,表达了量子计算机的发展在未来对公钥密码系统有所损害的担忧(以上在他的个人主页都可以看到:http://www.merkle.com/)。
在去年,谷歌量子霸权的事件引发了轰动。后来又有个更为合适的说法,叫量子优越性。它指的就是量子计算在某一个问题上,可以解决经典计算机不能解决的问题或者是比经典计算机有显著的加速。一时间很多人表示了对量子计算机的担忧,其实这没有必要。美国理论计算机科学家、量子力学教授 Scott Aaronson,当下主流的 RSA 加密方式只能被几千个量子位的量子计算机暴力破解 ,而目前还没有超过 1000 个量子位的量子计算机。而且量子计算机还处于初始阶段,在可以轻松替代经典计算机的量子计算机诞生前,业内估计都还有至少十年,况且在这期间,加密算法并不是原地不动的,针对量子计算机的量子加密算法已经在路上了。美国国家标准技术研究所 (NIST)早在2016年就已经开始了后量子密码算法征集(https://csrc.nist.gov/Projects/Post-Quantum-Cryptography)。
左: GoogleQuantum Nature cover art small 右: 谷歌量子计算机Sycamore处理器 | Google AI Blog有关量子计算机这里就不再赘述,如果要用一句话来评论谷歌的量子计算机的话,我觉得:谷歌量子计算机虽然没有什么实用性,但这就像莱特兄弟的第一架飞机一样,总有一天,我们会迎来喷气式飞机的时代。
时间再次回到1976年,马丁·赫尔曼和惠特菲尔德·迪菲两位大师发表的论文《密码学的新方向》,覆盖了未来几十年密码学所有的新的进展领域,包括非对称加密、椭圆曲线算法、哈希等,奠定了迄今为止整个密码学的发展方向,也对区块链的技术和比特币的诞生起到了决定性作用。
密码学新方向这……就是区块链史前元年。
1977年,美国麻省理工计算机科学实验室的三位研究员罗纳德·李维斯特 (Ronald Rivest)、阿迪·沙米尔 (Adi Shamir)和伦纳德·阿德曼 (Leonard Adleman)一起提出RSA,紧接着在1978年,他们联名发表了题为《获得数字签名的方法与公钥密码系统》的论文,该文首次提出了一种能完全实现迪菲-赫尔曼公钥密码系统功能的实用方法,后被称为“RSA方法”。三位发明人也因此在2002年获得了图灵奖。
从左至右: 罗纳德·李维斯特、阿迪·沙米尔和伦纳德·阿德曼 | 维基百科到了1980年,瑞夫·梅克尔(Ralph Merkle)提出了Merkle-Tree这种数据结构和相应的算法,后来的主要用途之一是分布式网络中数据同步正确性的校验,这也是比特币中引入用来做区块同步校验的重要手段。可是在那个时代,哈希算法和分布式网络都还没有出现。Merkle-Tree这种数据结构,后来对密码学和分布式计算领域起到重要作用。而这里,有一个很巧的事情,前面也提到过:梅克尔就是《密码学新方向》的两位作者之一赫尔曼的博士生,而《密码学的新方向》就是梅克尔的博士生研究方向。
1982年,莱斯利·兰波特(Leslie Lamport)在其同名论文中提出的分布式对等网络通信容错问题,也就是著名的拜占庭将军问题。这标志着分布式计算的可靠性理论和实践进入到了实质性阶段。紧接着,在1983年,大卫·乔姆(David Chaum)提出了密码学支付系统eCash(下一篇会讲到),也正因如此,他后来被称为数字货币之父。眼光敏锐的他,很快将密码学运用于货币、支付领域,eCash当之无愧是密码学货币最早的先驱之一。
左: 莱斯利·兰波特 | 维基百科 右: 大卫·乔姆 | twitter主页1985年,尼尔·科布利茨(Neal Koblitz)和维克托·米勒(Victor Miller)分别独立提出ECC椭圆曲线密码学。ECC的提出真正使得非对称加密体系产生了实用的可能。因此,可以说到了1985年,也就是《密码学的新方向》发表10年左右的时候,现代密码学的理论和技术基础已经完全确立了。
1985年到1997年这段时期,密码学、分布式网络以及与支付/货币等领域没有什么突破性的进展,其实这反而是比较正常的,新的思想、理念以及技术产生之初,总要有相当长的时间让大家去学习、去探索、去实践,然后才有可能出现突破性的成果。1985年到1997年这十年左右的时间,就是相关领域在实践方面迅速发展的阶段。最终,从1976年开始,经过20左右的时间,密码学、分布式计算领域终于进入了爆发期。
1997年,亚当·贝克(Adam Back, Blockstream的CEO)发明了哈希现金(HashCash),这是一种工作量证明机制的早期应用,用于抵抗邮件的拒绝服务攻击及垃圾邮件网关滥用。在比特币之前,哈希现金(HashCash)被用于垃圾邮件的过滤,也被微软用于hotmail/exchange/outlook等产品中。哈希现金(HashCash)并没有实现第一个电子现金系统(eCash是第一个电子现金系统),同时工作证明并不能真正起到货币的作用。但是如果没有它的话,一个去中心化的电子现金系统是不可能实现的。
亚当·贝克 | blockstream.com1998年,戴伟(Wei Dai)和尼克·萨博(Nick Szabo)分别提出了B-Money和比特黄金(bit gold)的构想,而维基百科的比特币词条,中本聪曾建议这样写,以避免词条被删除,他说:“比特币是戴伟在1998年在密码朋克中所提到的B币构想和尼克·萨博提出的比特黄金的具体实现。”
左: 戴维 | forbes.com 右: 尼克·萨博 | news.bitcoin.com/不止于此,1999到2001的三年时间内,Napster、EDonkey 2000和BitTorrent分别先后出现,奠定了P2P网络计算的基础,为点对点分布式网络拉开了序幕。2001年还有另一件重要的事情,NSA发布了安全散列算法2(SHA-2)的系列算法,其中就包括目前应用最广的SHA-256算法,这也是比特币最终采用的哈希算法。
应该说,到了2001年,区块链技术需要的所有的技术基础在理论上和实践都被解决了,此时此刻,就等着一个命中注定的人来开启比特币的时代了。
网友评论