密码学40年|重要历史与人物

密码学40年|重要历史与人物
古千峰 金融科技研究 昨天

导读:没有这些技术和探索,不会有比特币和区块链,饮水思源,需要感谢前比特币时代的这些先行者与科学家们。而对于技术工作者,如果研究区块链技术就只从比特币开始的话,未免局限,比特币之前的知识图谱才是理解区块链技术的关键所在。

我们将要公开发布我们的代码,让密码朋克战友们能够使用软件。我们的代码,对全球所有人免费。如果你们要封杀我们所写的软件,我们也毫不在意。我们清楚,软件是无法被销毁的,彻底的分布式系统永不停机。——《密码朋克宣言》

文 /美国区块链媒体BTC Media亚太区CTO,前Ripple开发者,分布式商业的理论建立者与实践者,十五年外贸与企业管理经验,高级经济师,区块链讲师。

10月31日是中本聪发表《比特币:一种点对点的电子现金系统》论文10周年,他巧妙组合了当时的各种加密学技术,推出了比特币的设计。我们在纪念他的同时,更应该纪念前比特币时代的各位技术先驱们。

当代加密学始于Whitfield Diffie与Martin Hellman于1976年发表的《密码学的新方向》,他们在该论文中首次提出了公钥的概念以及通过公私钥方式进行安全通讯的方案。

Whitfield Diffie与Martin Hellman是当代密码学的奠基者,并因对密码学的杰出贡献在2015年获得图灵奖。

到2008年中本聪发表论文前的这30多年时间里,相继诞生RSA加密、椭圆曲线加密、零知识证明、盲签名技术、HTTP协议、BT协议、Kademlia……并出现了各种形式的对数字货币的探索。

没有这些技术和探索,不会有比特币和区块链,饮水思源,需要感谢前比特币时代的这些先行者与科学家们。

而对于技术工作者,如果研究区块链技术就只从比特币开始的话,未免局限,比特币之前的知识图谱才是理解区块链技术的关键所在。

比特币白皮书之前的重要历史与人物

比特币关键技术发展过程:

加密: DH协议—RSA算法—椭圆曲线加密算法

点对点网络:Napster—BitTorrent协议— Kademlia

工作量证明:哈希现金机制—RPoW—PoW

数字货币:eCash—Bmoney—BitGold—比特币

1976年

DH协议,公私钥出现——Whitfield Diffie与Martin Hellman

1976年以前,所有的加密都采用对称加密算法(加密和解密使用同样的规则),这种算法最大的弱点就是必须把加密规则告诉对方,否则无法解密,在这种情况下,如何安全的传递密钥是难以解决的问题。

1976年,Whitfield Diffie与Martin Hellman发表了《密码学的新方向》,他们在论文中提出了一种崭新的构思:加密和解密可以使用不同的规则(非对称加密),从而在不直接传递密钥的情况下完成解密。

论文中的公钥密码思想和DH(Diffie-Hellman)密钥交换协议在密码学中具有划时代的意义,公私钥的出现成功解决了密钥传递问题,它们是互联网安全协议的基础,也是互联网能够获得如此成功的重要原因。

值得一提的是,该论文还以公钥密码思想为核心,预测了密码学未来的发展方向:利用计算复杂性问题构造单向陷门函数,进一步可以构造公钥密码学,而公钥密码学可以实现加密和认证功能。

1977年

RSA算法——Ron Rivest、Adi Shamir 与 Len Adleman

Diffie和Hellman给出了一种协议,表明非对称加密是可行的,但他们并没有提出具体的加密算法。1977年,三位数学家Rivest、Shamir 和 Adleman完成了这件事,他们设计的RSA算法成功实现了非对称加密,这标志着公钥密码思想在实际中是可以实现的。

RSA算法基于一个简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。极大整数做因数分解的难度决定了RSA算法的可靠性,到目前为止,世界上还没有任何可靠的攻击RSA算法的方式。

从诞生之日起,RSA算法便是最受欢迎的非对称加密算法,只要有计算机网络的地方就有它。2002年,Rivest、Shamir和Adleman因共同提出了RSA算法获得图灵奖。

1982年

拜占庭将军问题——Leslie Lamport

1982年,Leslie Lampor在论文《The Byzantine Generals Problem》中提出了拜占庭将军问题,以拜占庭帝国与周边邻邦的战争故事作为背景,研究如何让各邦将军达成进攻与撤退的共识,解决叛徒的容错性问题,保证信息传递的一致性问题。

拜占庭将军问题是一种分布式对等网络的通信容错问题,解决该问题就是通过确定由谁发起信息,以及如何实现信息统一同步来保障分布式系统能够达成一致。

Leslie在论文中提出了几种解决方案,FTMP、MMFCS、SIFT等容错架构也陆续出现,但如今应用的最为广泛的是1999年由Miguel Castro与Barbara Liskov提出的实用拜占庭容错算法(PBFT)。

1982年

盲签名技术,数字现金 eCash诞生——David Chaum

David Chaum 被认为是数字货币的先驱者,他在1982 年的论文《Blind Signatures for Untraceable Payment》中提出了盲签名技术和基于该技术的匿名数字现金eCash。1990 年,David Chaum创建了 DigiCash 公司实现eCash。

eCash首次给出了在网络上匿名传递价值的方式,它通过银行的加密签名,以数字形式存储货币,用户可以将这种数字现金自由转移,且无需暴露自身信息。但从严格意义上讲,eCash不是数字货币,而是一种中心化信用的数字现金。

盲签名技术是指在签名之前使消息的内容失明,签名者在无法看到原始内容的前提下对信息签名。该技术可以实现对所签名内容的保护,还因无法将签名内容与签名结果对应,实现防追踪。

1985年

零知识证明——Shafi Goldwasser、Silvio Micali与Charles Rackoff

1985年,Shafi Goldwasser,Silvio Micali和Charles Rackoff在论文《The Knowledge Complexity of Interactive Proof-Systems》中首次提出了零知识证明(Zero-knowledge proofs),它是一种特殊的交互式证明,指的是证明者可以向验证者证明自己知道X的值,但不需要向验证者透露除了“自己知道X的值”外的任何信息。

零知识证明是密码学家设计的最强大的工具之一,可被用于密钥交换、NP 问题、身份验证、数字签名、水印检测中。“我不能告诉你这个秘密,但我可以向你证明我知道这个秘密”。

应用广泛的zk-SNARK(zero-knowledge succint non-interactive arguments of knowledge,零知识、简洁、非交互的知识论证)是零知识证明的一种,使证明者能够简洁地使任何验证者相信其给定论断有效,并且实现计算零知识,不显示验证内容,不需要证明者与验证者之间进行交互。

在数字货币系统中,zk-SNARK可以实现让矿工知道一笔交易是有效的,但却不知道这笔交易的发起者、接收者以及转账金额等隐私信息。

1985年

椭圆曲线加密算法——Neal Koblitz 与 Victor Miller

椭圆曲线加密算法是在1985年由Neal Koblitz和Victor Miller分别独立提出的,它是一种基于椭圆曲线的非对称加密算法,其安全性依赖于解决椭圆曲线离散对数问题的困难性。

椭圆曲线加密算法的主要优势在于某些情况下,它使用更小的密钥提供与其他加密算法相当的或更高等级的安全;另一个优势是它可以定义群之间的双线性映射,而双线性映射在密码学中有着大量应用。

1989年

万维网,HTTP协议——Tim Berners-Lee

万维网(World Wide Web,WWW)是一个由许多互相链接的超文本组成的系统,是人们在互联网上进行交互的主要工具,它是Tim Berners-Lee在1989年发明的。

Tim发明了三项关键技术让超文本可以连接到网上:统一资源标识符(URL);超文本标记语言(HTML);超文本传输协议(HTTP)。

1990年,Tim Berners-Lee成功利用互联网实现了HTTP客户端与服务器的第一次通讯,而万维网讯息收集中心Info.cern.ch,是世界上第一个网站及网站服务器。

1991年

用时间戳保证数据安全的协议——Stuart Haber 与W. Scott Stornetta

1991年,密码朋克成员Stuart Haber 与W. Scott Stornetta发表了论文《How to time-stamp a digital document》,在这篇文章中他们提出了一个用时间戳的方式来保证数字文件安全的协议。

该协议用时间戳表达文件创建的先后顺序,并要求在文件创建后其时间戳不能改动,从而使得文件被篡改的可能性为零。可信时间戳由算力时间源负责保障时间的授时和守时监测,任何机构包括时间戳中心不能对时间进行修改。

中本聪在比特币中引入了该协议:时间戳服务器对以区块形式存在的一组数据实施随机散列并加上时间戳,该时间戳能够证实特定数据必然于某特定时刻是的确存在的,因为只有在该时刻存在了才能获取相应的随机散列值。每个时间戳将前一个时间戳纳入其随机散列值中,每一个随后的时间戳都对之前的一个时间戳进行增强,从而形成一个链条。

1992年

密码朋克邮件列表——Timothy C. May

Timothy C. May是密码朋克运动的发起人之一,也是英特尔早期资深的科学家。1992年,他建立了密码朋克邮件列表,全世界的密码学家、程序员、极客在这里通过加密电子邮件进行交流。

该组织早期成员有维基解密主编Julian Paul Assange、BitTorrent协议发明者Bram Cohen、万维网发明者Tim Berners-Lee,以及包括Adam Back 、戴维、Nick Szabo、中本聪在内的数字货币的开拓者。可以说没有密码朋友邮件列表,就没有数字货币。

2008年,中本聪在密码朋克邮件列表发布了比特币白皮书。

1993年

《密码朋克宣言》——Eric Hughes

1993年, Eric Hughes发表了《密码朋克宣言》,“cypherpunk”一词首次出现;1994年Timothy C. May发表了《密码朋克常见问题解答》。

Eric Hughes 在宣言中写道:写代码,是密码朋克的使命。我们深知总要有人写软件来保护隐私。只有我们亲自动手,我们才能拥有隐私权,我们一定会开发这样的软件。 我们将要公开发布我们的代码,让密码朋克战友们能够使用软件。 我们的代码,对全球所有人免费。 如果你们要封杀我们所写的软件,我们也毫不在意。我们清楚,软件是无法被销毁的,彻底的分布式系统永不停机。

《连线》杂志报道了这些隐匿于世界各地、为人类隐私事业战斗的人们,称“密码朋克正在与FBI、NSA作战。他们的战争将决定21世纪是否还会有隐私存在。”

1997年

哈希现金机制——Adam Back

1997年3月,Adam Back在密码朋克邮件列表发送了一封主题为《A partial hash collision based postage scheme》的邮件,提出了哈希现金机制(HashCash)。

哈希现金是一种工作量证明机制,用于抵抗邮件的拒绝服务攻击及垃圾邮件网关滥用。如今被广泛应用于挖矿算法,戴伟的B-money、Nick Szabo的BitGold,这些比特币的先行者都是在哈希现金的框架下挖矿。Hashcash也为RPoW和PoW的提出奠定了基础。

工作量证明机制的核心特征之一是不对称性:工作量对于请求方是有一定难度的,对于验证方则是容易的。哈希现金机制采用安全哈希算法SHA1实现工作量证明。

1998年

B-money——戴伟

1998年11月,同样是在在密码朋克邮件列表中,戴维发布了B-money白皮书。这是一种匿名的、分布式的电子加密货币系统,强调点对点的交易和不可更改的交易记录。

B-money是第一种真正意义上的数字加密货币,比特币的去中心化的结算架构、匿名交易、点对点网络,在B-money中已经全部出现,不过它没有真正进入应用领域。

在比特币白皮书中,第一个被引用的资料是B-money;在以太坊中,ETH的最小单位被命名为Wei,以示对戴伟的敬意。

1998年

BitGold——Nick Szabo

Nick Szabo在1998年发明了数字货币BitGold,使用了工作量证明机制。在白皮书中,Nick是这么描述的:比特金通过使用被称为“解题功能”、“工作功能证明”或“安全基准功能”客户端,以一段字符串计算另一段字符串,计算结果就是它的工作量证明。

不过,Nick Szabo更被大众知晓的身份是“智能合约之父”,1996年,他在论文《Smart Contracts: Building Blocks for Digital Markets》中提出了智能合约概念。

智能合约是一套以数字形式定义的承诺 ,包括合约参与方可以在上面执行这些承诺的协议,其基本理念是把合约条款嵌入到硬件和软件中。Vitalik Buterin在以太坊中实施了智能合约这一想法。

1999年

P2P——Sean Parker与Shawn Fanning

1999年,18岁的Shawn Fanning与19岁Sean Parker成立在线音乐服务Napster。Napster是第一个被广泛应用的P2P(Peer-to-Peer,点对点网络、对等网络)音乐共享服务,它把P2P技术变成了主流,是对下载方式的一次革命。

P2P是无中心服务器、依靠用户群交换信息的一个互联网体系,它的每个用户端既是节点,也是服务器。P2P在隐私要求高的网络中和文件共享领域得到了广泛的应用,也是比特币最重要的基础技术之一。

P2P这一概念最早出现在1969年4月7日的第一份RFC(Request For Comments)文档中,RFC是互联网工程任务组(IETF)发布的一系列备忘录,后来演变为用来记录互联网规范、协议、过程等的标准文件。

2001年

BitTorrent协议——Bram Cohen

2001年4月,Bram Cohen发布了BitTorrent协议,并在2001年7月正式应用。

BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输通信协议。它把文件虚拟分成大小相等的块,并把每个块的索引信息和哈希验证码写入种子文件。下载者根据种子文件告知对方自己已有的块,然后交换没有的数据。

使用BitTorrent协议,下载的人越多提供的带宽越多,下载速度也就越快;同时,拥有完整文件的用户也会越来越多,文件的“寿命”会不断延长。

2002年

Kademlia——Petar Maymounkov 与David Mazières

2002年,Petar Maymounkov 与David Mazières发表了论文《Kademlia: A Peer-to-peer Information System Based on the XOR Metric》,提出了Kademlia。Kademlia是第三代P2P网络的节点动态管理和路由协议,通过分布式哈希表实现信息的存储和检索。

相比之前的两代协议,Kademlia以全局唯一ID标记P2P网络节点,以节点ID异或(XOR)值度量节点之间距离,并通过距离分割子树构建路由表,建立起一种全新的网络拓扑结构,相比于其他算法更加简单和高效。

2005年,BitTtorrent实现基于 Kademlia 协议的分布式哈希表技术,eMule 也实现了基于 Kademlia的 类似技术。以太坊使用Kademlia作为分布式网络的底层算法。

2004年

Ripplepay——Ryan Fugger

2004年,Ryan Fugger开发出去中心化货币支付协议Ripplepay,它是Ripple协议的前身。Ryan最初的想法是革新传统交易模式,构建可通过全球网络为用户提供安全快捷支付服务的系统。

2012年,Chris Larsen 与 Jed McCaleb 向 Ryan 提出数字货币的理念,随后三人共同成立了OpenCoin,开发新的支付协议Ripple,它是一个实时结算系统和货币兑换与汇款网络,基于分布式开源互联网协议、共识总账和原生货币XRP。

2014年 Ripple与德国互联网银行 Fidor合作,这是它的第一家银行用户,4个月后它获得两家美国银行的支持,在当年12月,它又与银行支付网络Earthport达成合作。如今,Ripple可以支持27 个国家的实时全球支付。

2005年

RPoW——Hal Finney

2005 年,Hal Finney设计出了RPoW(Reusable Proofs of Work ,可复用工作量证明),RPoW是PoW的前身。 Finney将Adam Back的哈希现金机制完善成一种可重复利用的工作量证明,并用于数字货币实验中。

Hal Finney 是一位密码学先锋,PGP(Pretty Good Privacy)计划的核心参与者,PGP旨在使世界各地的人们能够以除接收者之外的任何人都无法阅读的方式进行加密通信。

Finney是唯一一个立刻关注中本聪提出比特币想法的人,他在Bitcoin发布的当天就下载了,是除中本聪外第一个运行Bitcoin的人,此外,Finney也是第一笔比特币交易的收款人。

2008年10月31日

Satoshi Nakamoto发布比特币白皮书:

《比特币:一种点对点的电子现金系统》

2009年1月3日

比特币“创世区块” Block #0挖出

在区块中,Satoshi Nakamoto写下:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.

(来源:碳链价值)

你可能感兴趣的:(区块链,信息安全)