昨日各类币大跌,跌得那叫一个酸爽……
以三大最具代表性的加密货币比特币、以太币和瑞波币为例。
2010年50美分1万个、2013年1美元1个的比特币,不久前涨到了1.9万美元,现在跌到了1.1万美元——
嗯,跌得太多太多了!
2014年以太币ICO(世界上第一个ICO项目)众筹到31529.36个比特币,售出60102216个以太币,算下来,1个比特币等于1906个以太币,按当时比特币的价格算,1个以太币大约0.3美元,最高涨到1400美元,现在跌到960美元——
嗯,跌得太多太多了!
2017年12月12日的瑞波币,价格还只有0.25美元一个,2008年1月4日就涨到了3.5美元,20天涨了14倍,现在跌到1美元——
嗯,跌得太多太多了!
你一定想要了解,这些加密货币背后的区块链到底是怎么来的。
区块链技术到底是什么玩意儿,为什么引得众人如此追捧?
罗马不是一天建成的,区块链技术也不是一下子蹦出来的。
1982年,一个叫莱斯利-兰伯特的计算机科学家(Leslie Lamport,2013年图灵奖得主),对点对点通信中信息丢失的问题进行了研究,他提了个问题,如果信息传输者本人不够可靠,那么有没有可能让所有人得到一致的信息?
为了说明这个问题,他形象地列举了拜占庭将军问题(Byzantine failures)。
拜占庭帝国国土辽阔,每一支军队都分隔很远,将军与将军之间只能靠信差传递消息,如果一场战争需要将军们一致行动,那么要求绝大多数将军得到的信息必须完全一致。
然而,由于信差可能叛变,传递虚假信息,如何在有成员谋反的情况下,其余忠诚的将军在不受叛徒的信息影响下达成一致协议?
这就是拜占庭将军问题——
简单来说,就是如何在大家互不信任的情况下,达成一致协议并实现合作。
接下来要解决的,是信息传递的准确性和私密性问题
——用人话说,就是信息传输中的加密和解密。
下图是一个典型的密码系统。
用数学公式表示:
C = EK1(P),通过加密方法E,用密钥K1对信息明文P进行加密,然后得到密文C。
P = DK2(C),通过解密方法D,用解密密钥K2对密文C进行解密,然后得到明文P。
传统加密系统通常称之为“对称加密”,因为加密和解密密钥可以互相推算——这叫可逆性。
对称加密很快就出现了标准算法,被称之为DES(Data Encryption Standard)。
DES速度较快,适用于加密大量数据的场合,但加密强度也一般;
后来又出现了3DES(Triple DES)算法,其含义是基于DES,对一块数据用3个不同的密钥进行三次加密,强度更高;
后来又出现了AES(Advanced Encryption Standard)——高级加密标准,是下一代的加密算法标准,速度快,安全级别高。
但不管怎么加密,对称加密的最大问题是——指定一个密钥,还得把密钥分发给需要解密的人。而只要分发密钥,就存在着泄密的可能,这本身就是一种矛盾。
为了应对这个矛盾,1976年,两位密码学大师Diffie和Helman提出了一种新的密码系统概念:非对称密码算法。
啥意思呢?就是说,非对称密码算法的加密密钥和解密密钥完全不同,从加密密钥推算出解密密钥基本不可能。
有牛人提出想法,就有牛人开始向这个方向努力——很快的,RSA、ElGamal、Rabin、Pohlig-Hellman、McEliece等算法(数学不好的话,你也不用管是什么算法)都冒了出来。
有了非对称加密算法,很多私密消息就可以放心交给信差传递了。
举例来说,财主想让很多美女妹妹给我写情书,但我不希望其他任何人看到内容,我就可以用非对称密码算法生成一对密钥BK1和BK2,我随意选择一个密钥比如BK1公布给所有人,这个就被称为“公钥”,但保留BK2不告诉任何人,这个就是“私钥”——BK1加密的东西,只有BK2能打开。
这样一来,妹妹A看到我的公钥BK1之后,就可以放心大胆地给我写情书了,用公钥BK1把情书文件加密之后发给我,只有我的私钥BK2才能打开,即使谁把这个情书给劫走了也没法阅读……
非对称加密方法好不好?
当然好!路财主从此都可以背着大家天天在家读情书了……
可惜,美中不足的是,所有的公钥算法都有一个问题:速度太慢。
而且,密钥越长(意味着越安全),计算速度更是急剧变慢。
1985年,又有两个牛人提出了椭圆曲线密码学(Elliptic Curve Cryptography,ECC),首次将椭圆曲线用于密码学,建立了公开密钥的加密算法——相较于RSA算法,采用ECC好处在于可用较短的金钥,达到相同的安全强度。
1990年,David Chaum尝试着在互联网上建立起一套不可追踪的密码学网路支付系统,就是后来的eCash,不过当时的eCash并非去中心化系统。
同年,提出“拜占庭将军”问题的Leslie Lamport,提出了具有高容错性的分布式一致性算法Paxos协议——这是一个精巧而又强大的算法协议,它可以让参与分布式处理的每个参与者逐步达成一致意见。
解释起来比较复杂,Lamport假定有一个叫做Paxos的希腊城邦,采用民主投票的方式决定某个提议或进程,但没有哪个城邦居民能够花全部精力和时间来参与投票和决议,Paxos算法的目标,就是让他们在个别人缺席的情况下,按照少数服从多数的原则,就某个议题达成一致意见。
1991年,StuartHaber与W. Scott Stornetta提出,用时间戳(就是事情发生时的准确时间)就可以确保数位文件安全的协议;1992年,ScottVanstone等提出椭圆曲线数位签章算法(Elliptic Curve Digital Signature Algorithm,ECDSA),为文件签名的匿名性和安全性建立了新的标准。
1995年,美国国家安全局公布安全杂凑标准(Secure Hash Standard),被称为“FIPS PUB 180”,但这个加密系统很快就被发现有漏洞而遭到破解,所以被国家安全局撤回;1995年,FIPS重新发布了修订版本FIPS PUB 180-1,这就是通常所说的SHA-1,被称为哈希(Hash)算法。
哈希计算的含义:
对任意一个数字消息(现代计算机能把任何信息转化为二进制编码),均能计算出一个固定长度的字符串(俗称“消息摘要”),而且可以保证,只要原始内容不同,Hash输出的内容也不会相同——简单说就是,输入信息与Hash结果一一对应。
特别强调的是,哈希过程不可逆——也就是说,由消息可得到唯一对应的字符串,但由这个字符串无法推算出“消息”到底是什么。
2002年,Adam Back发表论文,发明了Hashcash(散列现金)技术,它依赖于哈希计算来生成一种工作量证明(Proof of Work,POW),因为哈希计算的不可逆特性,Hashcash就实现了容易被验证、基本不能被破解和伪造的特性。
至此,区块链的核心基础技术已经全部出现。
接下来,就是见证奇迹的时候了。
敬请关注本公号下一篇文章“奇迹出现:比特币与区块链的出现”。
领取专属 10元无门槛券
私享最新 技术干货