我们都知道,比特币诞生于2008年,而中本聪被誉为比特币之父。但实际上,通过比特币白皮书参考文献,我们可以了解到,类似于比特币的想法早在2008年之前就已出现,但由于种种原因,要么仅停留于理论阶段,要么时机、条件不成熟,总之,最终由中本聪集各家之所长,才有了后来的比特币,但不可否认是,没有这些前期积累的思考和智慧,也就没有后面比特币的史诗级发明。
那比特币的实现究竟都参考了哪些文献?让我们一起来看看,一共8篇。
参考文献1
W. Dai,"b-money," http://www.weidai.com/bmoney.txt, 1998.
作者:W.Dai(电脑工程师,解密高手)
文章:"b-money"
Wei Dai,中文名戴伟,是一名华裔的密码学专家,电脑工程师,解密高手。
早在1998年,戴伟(Wei Dai)就发表了一篇名为B-money,an anonymous, distributed electronic cash system的文章。翻译为“B货币,一个匿名的,分布式电子现金系统”
在文章中,W.Dai阐明了目前存在的所有加密货币体系的本质:
A scheme for a group of untraceable digital pseudonyms to pay each other with money and to enforce contracts amongst themselves without outside help.
在该体系中,那些无法追踪的数字化匿名地址能够互相交易,无需外部协助就可以执行它们之间的合同。
文章中还非常系统的描述了10年后比特币和其他加密货币实施方案的核心概念。
1.Requires a specified amount of computational work(aka Proof of work)
1.需要特定的工作量证明
2.The work done is verified by the community who update a collective ledger book.
2.完成的工作量由更新集体账簿的社区进行验证
3.The worker is awarded funds for their effort.
3.工人因工作量获得奖励
4.Exchange of funds is accomplished by collective bookkeeping andauthenticated with cryptographic hashes.
4.资金交换是通过集体账本协同记录和完成的,并使用加密哈希进行验证。
5.Contracts are enforced through the broadcast and signing oftransactions with digital signatures.
5.通过使用数字签名进行广播和签署交易来强制执行合同。
比特币大量借鉴了B-money的核心思想和原理。可惜的是,B-money仍没有解决“双重支付“的问题。而且在1998年,互联网还没有开始大范围的普及,p2p技术还没有大规模应用。
另一个重要的技术-哈希算法还没有在加密货币领域引起注意。
戴伟提出了分布式广播渠道和工作量计算的概念,但解决方案都不够完善。
参考文献2
作者:H. Massias, X.S. Avila, and J.-J. Quisquater,
论文:"Design of a secure timestamping service with minimal trust requirements,"
译为:在最小化信任的基础上设计一种时间戳服务器
发表刊物和时间:In 20th Symposium on Information Theory in the Benelux, May 1999.
经维基百科查询,时间戳(timestamp)概念:
A timestamp is a sequence of characters or encoded information identifying when a certain event occurred, usually giving date and time of day, sometimes accurate to a small fraction of a second.
时间戳是当特定事件发生时,一连串的字符或编码信息的确认,通常含有日期,有时精确到毫秒。
参考文献3
作者:S. Haber, W.S. Stornetta,
论文:"How to time-stamp a digital document,"(如何对数字文件进行时间戳。)
期刊和时间: In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991.
Journal of Crytology是一个密码学期刊,据说其分量很重。而对数字文件进行时间戳处理,是比特币参考的核心方案之一。
参考文献4
作者:D. Bayer, S. Haber, W.S. Stornetta,
论文:"Improving the efficiency and reliability of digital time-stamping,"(提升数字时间戳的有效性和可靠性)
期刊和时间:In Sequences II: Methods in Communication, Security and Computer Science,pages 329-334, 1993.
文献3虽然实现了时间戳技术,但验证需求呈指数级增长时,如何减少验证时间戳证书所需要的存储和计算资源,如何保证处理效率又是新问题,而文献4即是解决方案。
换句话说:
解决问题要有方案,但方案要付出代价,当要解决的问题不多的时候,成本大一点没关系。但是,解决的问题成指数级增长的时候,成本还大,则问题也会指数级增长,可能方案就不可行了。
参考文献5
作者:S. Haber, W.S. Stornetta,
论文:"Secure names for bit-strings,"(比特字串的安全命名)
期刊和时间:In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997.
W.S. Stornetta在作者中出现了3次,是一位很牛的加密货币学家。
这篇文献涉及单向散列函数Hash Function,其工作原理:
把任意长的输入字符串,计算得出固定长的输出字符串;但,用输出字符串无法(很难)推导回输入字符串。从中看出哈希计算的不可逆特性。
而比特币地址,就是由单项散列函数生成的。
密码学领域经常使用的单向散列函数(破解难度由易到难):
128位的MD5,最广为使用,但长度不够,而且比较容易被破解。
160位的SHA-1,比MD5安全些,但也有一些方法在大约2的60次方计算后将其破解。
美国国家安全局和美国国家标准与技术院又设计出来了更为复杂的SHA-2(包含SHA-224,SHA-256,SHA-384,SHA-512)
而比特币使用的正是SHA-2族群的SHA-256算法。
参考文献6
作者:A. Back, (Adam Back)
论文:"Hashcash - a denial of service counter-measure,"(哈希现金-拒绝服务式攻击的应对措施)
链接和时间:http://www.hashcash.org/papers/hashcash.pdf, 2002.
哈希现金系统(Hashcash)最初于1997年5月被提议作为一种机制来遏制系统性滥用未计量的互联网资源,如电子邮件和匿名重邮程序。
注:Hashcash不是现金,而是一个基于哈希算法的系统。
这种函数的特性是很容易验证,但很难破解。
因为收信端只接受通过因数分解问题的邮件,于是发垃圾邮件者就必须耗费大量的CPU时间去发邮件给这些采用成本函数认证的人,否则信件就不会被接受。
通过Hashcash,可以证明自己做了多少运算。本质上是利用单向散列函数,去计算出一个带随机数的字符串的哈希值,并且指定哈希值符合一定规律,才可以结束计算。
参考文献7
作者:R.C. Merkle,
论文:"Protocols for public key cryptosystems,"(公钥密码体制的协议)
期刊和时间:In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133,April 1980.
充分利用公钥密码系统特质的新密码协议在不断完善。本文主要比较了几种关乎公钥分配以及数字签名的协议并与传统方案进行对比。
那么,公钥是什么?
公钥密码学兴起之前,对称加密是主流的加密模式,人们基于密钥来对信息进行加解密。
密钥越长,密文被破解的难度就越大。(可理解成旅行箱的4位数密码,位数越多需要尝试的次数越多)
由于加密算法和解密算法都是同一模式,只有一把密钥保证加密数据的安全,因此这种加密算法也叫作“对称加密算法”。
而“对称加密算法”最大弱点是:
甲方必须把密码告诉乙方,否则乙方无法解密。
这时候,公钥密码学出现了,它可以在不直接传递密钥的情况下,完成密文的解密。
加密和解密可使用不同的规则,只要这两种规则之间存在某种对应关系即可。系统的安全性既不依赖算法的保密,也不用直接传递密钥。
基于这种公钥机制的思想,开始出现了一系列非对称加密算法。
参考文献8
作者:W. Feller,
文章:"An introduction to probability theory and its applications," 1957.9
说白了,就是讲概率论的。
在数字货币的诞生历程,包括Chaum,戴伟等牛人做出来很多贡献,但距创造出数字货币就差一点点。其中非常重要的“双重支付”问题一直没有解决。
但实际上,双重支付的解决方法是现成的,就是亚当 拜克(Adam Back)在1997年发明的哈希现金(Hashcash)算法机制。
但是当时人们并没有把他往数字货币结合,而是大材小用了,用于处理垃圾邮件。
后来,Hal Finney(1956-2914)哈尔 芬尼接过拜克的接力棒,将哈希现金算法改进为“可复用的工作量验证(Reusable
Proofs of Work)”
他的研究又是基于达利亚 马凯(Dahila Malkhi)与米迦勒 瑞特(Michael Reiter)的学术成果:拜占庭容错机制(Byzantine
Quorum Systems)
————————
从技术上来看,
1.RPOW消除了中枢时间戳服务器的需求,杜绝了被那些不怀好意的人想通过攻击服务器来进行比特币无限重复消费的问题。
解决了双重支付
2.非对称加密
相对于对称加密,不用再把密钥送来送去
3.点对点技术
不需要第三方,改成点对点之间实现
总之,比特币白皮书需要的很多技术其实早已成熟,前边的牛人已经做出来大量努力,取得了众多成果,终于由中本聪于2008年冲锋到终点。
虽然,以上没有一项是中本聪发明的,最终摘得桂冠的确是中本聪。与其说是运气,不如说是中本聪恰好具备发明比特币的全部素养,最关键的是还是编程大师,能付诸于行动。
戴伟(Wei Dai)评价,开发出比特币需要具备的条件:
1.对货币有非常深入的思考
2.要了解密码学
3.认为比特币这样的系统从理论上是可行的
4.要有足够的动力去将这个理念开发成实际产品
5.编程能力出色,能保证产品安全;
6.有足够的社交技巧(社区)
其实达成其中部分条件已经很难了,而中本聪以上全部达标,这样的人,不成功才怪。
网友评论