作者:黄马褂
时间:2018年9月26日 09:33
来源:https://zhuanlan.zhihu.com/p/45357220
比特币是中本聪创造的,中本聪,比特币白皮书上的英文原名叫Satoshi Nakamoto。因为他的身份并没有得到确认。中本聪他是一个人,还是一个团队,我也不知道,他是一个日裔美国人,还是个澳洲日本人,我也不知道。
据说他为了防止被政府迫害,一直小心的隐藏着自己,他的公开信息都是通过暗网来传达,很多人试图找到他,但始终没有人知道他是谁。
他在2008年发表了《比特币:一种点对点式的电子现金系统》(Bitcoin: APeer-to-Peer Electronic Cash System)的论文,2009年1月3日,开发出首个实现了比特币算法的客户端程序并进行了首次“采矿”(mining),获得了第一批的50个比特币,这也标志着比特币金融体系的首次出现。
2010年,他逐渐淡出并将项目移交给比特币社区的其他成员。在维基解密泄露事件后一周的12月12日,他在比特币论坛发表了最后一篇文章并终止了电子通讯。
其实在比特币出现之前,已经有人在实验数字货币这个东西,只不过中本聪只是众多技术的一个集大成者。比特币的诞生过程,就像是一个接力赛,中本聪刚好是那个接了最后一棒的幸运儿而已。比特币的诞生其实是20多年密码和数字技术的积累和不断演进的结果而已。我们来看看中本聪发明比特币,用到了哪些原材料。
1977年
Ron Rivest、AdiShamirh和Len Adleman这三个,在MIT(美国麻省理工学院)搞出来了RSA公钥加密算法。RSA取名来自开发他们三者的名字。实际上1973年,英国数学家Clifford Cocks就已经提出了一个类似的原理,但是被作为最高机密封存了,直到1998年才发表。
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA算法是被研究得最广泛的公钥算法,普遍认为是目前最优秀的公钥方案之一。RSA算法也是ISO推荐的公钥数据加密标准。它基于一个十分简单的数论事实:将两个大质数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
1982年
一个美国的密码破译者,David Chaum,他1980年搞了一个DigiCash公司,后来迁到荷兰去了,因为荷兰历史上一直对私密性,对隐私保护的热情很高。David Chaum他创办了DigiCash公司,然后1982年他提出了不可追踪的密码学网络支付系统,作为RSA算法的扩展,用于网络加密。这其实才是今天比特币的老祖宗。
它允许一个人发送一串数字到另一个人,当收款人储蓄钱款到银行时,这个钱款具有大量的原始签名,但数量上并不和铸币厂之前签的一样。Chaum的发明允许这种代用货币可被不可追踪地修改,又不破坏铸造厂的识别标志,因此,铸币厂或银行对交易是“失明”的。
但是后来David Chaum的公司违反了荷兰中央银行的规定。作为妥协,他们同意DigiCash的产品只能卖给银行。他试图通过多家银行,来创立一个可行的数字现金领域,但这个事情并没有推动下去。公司没什么收入来源,最终在1998年破产。
1991年
Stuart haber和 Scottstornetta 发表论文: How to TimeStamp a Digital Document,这里面他们提出用时间戳确保数字文件安全的协议,这也时是今天所谓区块链链条的雏形。中本聪的比特币白皮书,最后部分,参考文献里面的第三条,就引用了How to TimeStamp a Digital Document这个论文里面的第99-111页的内容。
Stuart Haber和Scott Stornetta的主要工作是处理时间戳的文档化——他们的目的是建立一个“数字公证”的服务。对于专利,商业合同和其他文件,人们可能希望确定该文件是在某个时间,或者不迟于某个时间点创建的。Stuart Haber和Scott Stornetta的文档概念是非常泛化的,可以是任何类型的数据。他们确实提到金融交易是潜在的应用,但这不是他们关注的焦点。
1991年
Phil Zimmermann基于RSA公钥加密体系开发了一个邮件加密系统PGP,它能够保证邮件内容不被篡攻。他的创造性在于他把RSA公匙体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密匙认证管理机制上有巧妙的设计。因此PGP成为几乎最流行的公匙加密软件包。
PGP是一种供大众使用的加密软件。加密是为了安全,私密权是一种基本人权。在现代社会里,电子邮件和网络上的文件传输已经成为生活的一部分。邮件的安全问题就日益突出了,大家都知道在Internet上传输的数据是不加密的。如果你自己不保护自己的信息,第三者就会轻易获得你的隐秘。;
还有一个问题就是信息认证,如何让收信人确信邮件没有被第三者篡改,就需要数字签名技术。RSA公匙体系的特点使它非常适合用来满足上述两个要求:保密性(Privacy)和认证性(Authentication)。
RSA(Rivest-Shamir-Adleman)算法是一种基于大数不可能质因数分解假设的公匙体系。简单地说就是找两个很大的质数,一个公开给世界,一个不告诉任何人。一个称为“公匙”,另一个叫“私匙”。这两个密匙是互补的,就是说用公匙加密的密文可以用私匙解密,反过来也一样。假设甲要寄信给乙,他们互相知道对方的公匙。甲就用乙的公匙加密邮件寄出,乙收到后就可以用自己的私匙解密出甲的原文。由于没别人知道乙的私匙所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面由于每个人都知道乙的公匙,他们都可以给乙发信,那么乙就无法确信是不是甲的来信。认证的问题就出现了,这时候数字签名就有用了。
甲用自己的私匙将上述的128位的“精华”加密,附加在邮件上,再用乙的公匙将整个邮件加密。这样这份密文被乙收到以后,乙用自己的私匙将邮件解密,得到甲的原文和签名,乙的PGP也从原文计算出一个128位的 “精华”来再用甲的公匙解密签名得到的数比较,如果符合就说明这份邮件确实是甲寄来的。这样两个要求都得到了满足。
PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份(在网络上只能如此了),可以用自己的私匙签名。这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。
1997年
英国的密码学家亚当·贝克(Adam Back),他发明了哈希现金(hashcash),其中就用到了工作量证明机制(proof of work)。这个原型本来是用来解决互联网垃圾信息问题的,后来成为比特币的核心要素之一。
1998年
Wei Dai在cypherpunks邮件列表中第一次阐述了“加密货币”这个概念。
先看Cypherpunks是个什么鬼?
Cypherpunks,中文叫密码朋克,是数字货币最早的传播者群体,发起了Cypherpunks campaign,也就是密码朋克运动,这个运动干嘛呢,就是支持通过代码形式来实现强加密,实现强加密干什么呢,要来反对政府、企业、监视机构等等,这些压迫性组织,因为它们从弱势的个人身上榨取数据。他们认为,政权的基础经常建立在控制数据之上,控制了数据,就可以害人,压迫人,或让人闭嘴。
“密码朋克”用户大概全世界有1400人,讨论的话题有数学、加密技术、计算机技术、政治和哲学,也包括私人问题。像那个wikipedia,维基解密的创始人,阿桑奇,他就是一个密码朋克的领袖,还有“BT下载”的作者:布拉姆·科恩、还有“www.也就是万维网”的发明者:Tim BernersLee。 “密码朋克”搞了一套加密的电子邮件系统,是英特尔的高级科学家Tim May在他的家里,发起了密码朋克邮件列表组织。就是在这个电子邮件组中,这帮子人经常讨论关于数字货币的实践。后来2009年,中本聪就是在这个cryptography邮件列表中发表的第一个比特币规范和概念证明。在比特币里面,中本聪就大量借鉴了密码朋克成员在邮件中的各种贡献。
Wei Dai在cypherpunks邮件列表中就第一次阐述了“加密货币”这个概念是什么呢,指的是,在给定的国家或经济体内通行的,用于支付商品、服务和偿还债务的物品或任何形式的记录。
我们来解释一下这句话。
首先,他定了个范围,在给定的国家或经济体内通行的,也就是说,当时这个概念,并不是构建在现在我们所称的公有链之上的,并不是全世界所有节点都能够参与的,而是在给定的国家或经济体内通行。这是第一。
第二,用来干嘛呢,用来支付商品、服务和偿还债务,这是货币的基本用途,因为加密货币,本质还是货币,需要承担货币交易、支付等的用途。
第三,用来支付商品、服务和偿还债务的什么东西呢,用来支付商品、服务和偿还债务的物品或任何形式的记录。首先第一个,是物品,现金货币本身就是一种物品,那么用物品来体现加密货币,并没有什么实质意义,直接用现金就好了嘛。但现金怎么加密,它是一种实际物品。不可能我在每一张现金上面加把锁,每次交易让对方拿钥匙来开锁吧,或者我在现金上装个密码器,每次交易都来输入密码吧。但是,第二个,任何形式的记录,这就是关键了。比特币,实质上就是一笔一笔的交易记录,是一笔一笔的账。中本聪发明比特币的时候,借鉴了很多Wei Dai的设计,并且和Wei Dai有很多邮件交流。
中本聪与Wei Dai的三封邮件:
第一封邮件译文:中本聪 to Wei Dai:
“我读了您介绍 b-money 的网页,非常感兴趣。 我很快就会发出一篇论文,能把您的思路,扩展成一个完整的,可运行的系统。是 Adam Back (http://hashcash.org) 发现了两者之间的相似之处,也是他让我来看您的网站。
为了在我的论文中引用您的 b-money 概念,我需要确认您的 b-money 网页的发布日期。 我的引用会是这样:[1] W. Dai,”b-money,” http://www.weidai.com/bmoney.txt.
您从 http://www.upload.ae/file/6157/ecash-pdf.html这个地址可以下载一份论文初稿。如果您觉得有人会感兴趣,也请转发。”
第二封邮件译文:Wei Dai to 中本聪
“Hi 中本聪:
b-money 是 1998 年在密码朋克邮件组中发表的。
下面是归档的帖子:
http://cypherpunks.venona.com/date/1998/11/msg00941.html
这里您还能找到一些关于 b-money 的讨论:
http://cypherpunks.venona.com/date/1998/12/msg00194.html.
谢谢告知您的论文。我会读一下,如果我有意见和问题,我会联系您。”
第三封邮件译文:中本聪 to Wei Dai
“我特为告知您,我刚刚发布了比特币 v0.1 版,这个系统完全实现了几个月前我发给您的论文中的思想。从 http://www.bitcoin.org 您可以获得详细信息,也可以下载软件和屏幕截图。
我想,您在 b-money 论文中想要解决的问题,比特币几乎都做到了。
系统完全是去中心化的,无需任何服务器,也无需任何可信方。此网络的架构,能够支持各种托管交易和合约类型,但当前还只是实现了货币和交易的功能。
在密码学邮件组中,有一个围绕设计的讨论。
哈尔芬尼作出的一个概括评价,非常好:“我想提的一点是,比特币从各种角度看,都是两个独立的创意:首先是解决了 James 列出的那些问题,创造出一个实现了全局一致,但又去中心化的数据库;然后用来实现了与 Wei Dai 的 b-money 非常类似的系统,但却又不是基于账户的,而是基于交易/现金的。 James 就曾强调过,实现全局一致,但又大规模的去中心化数据库,毫无疑问是最困难的部分。利用工作量证明的方法,来解决这个问题,是个天才的主意,非常值得进一步的认真思考。”
中本聪”
我们看到比特币白皮书,会发现其中第一篇参考文献就是来自于Wei Dai 的 b-money。大部分对比特币起源的报道文章也都会提到b-money。
b-money究竟是什么?我们先引用一下以太坊白皮书里的介绍:
In 1998, Wei Dai’s b-money became the firstproposal to introduce the idea of creating money through solvingcomputational puzzles as well as decentralized consensus, but the proposal was scant on details as to how decentralized consensus could actually be implemented.
什么意思呢?就是说,b-money第一个提出通过解决计算机难题和达成去中心化的共识来产生电子货币。在1998年,这个理念相当创新和超前,在当时的环境下这样的系统只能部署在脑海,所以b-money中并未提及具体的一些共识实施细节。但这恰恰说明了 Wei Dai 的犀利之处,之后的 Hal Finney 和 Adam Back等人的想法都与Wei Dai的b-money 有关。
那么对于比特币和 b-money的关系,Wei Dai自己是怎么说的呢?他说,比特币虽然和我的b-money类似,但不是我创造的,是中本聪创造的。他创造之前,甚至没读过我的文章。我跟比特币的关联不大。
虽然,Wei Dai自己谦虚的说比特币跟他关系不大,但显然中本聪间接或者直接的都会受到b-money 的影响,所以他才会两次在邮件中陈述以实现b-money的功能为目标。
本系列全部文章: