1.1 区块链起源
2008年,通货膨胀造成的经济危机在全球范围爆发。当人们还在为货币的未来而感到担忧时,一个叫“中本聪”(Satoshi Nakamoto)的人悄无声息发表的一篇名为《比特币:一种点对点的电子现金系统》的论文引起了金融界的广泛关注。文中提出一种点对点的数字货币,该货币可以独立于任何国家、任何机构之外存在,不受第三方机构管束,且因其数字算法的特殊性,很难被不法分子伪造,这就是后来被人们所熟知的“比特币”。
中本聪的论文中首次出现了区块链(Blockchain)的概念,并给出通过时间戳和工作量证明(Proof of Work)共识机制解决双花(Double Spending)和拜占庭将军问题的设计思路,即保证同一笔比特币不会同时出现在两个地址。与此同时,所有节点都可以让其他节点接收到自己的真实意图,保持行动一致。2009年,理论变成了现实,比特币网络成功创建,“创世区块”也正式诞生。
为了避免出现双花问题,一笔交易的接收人必须能够证明在当前交易发生之前,交易发起人并没有将同一笔交易发给另外一个人。这样就要求接收人知道所有的交易记录。因此,在区块链上所有交易必须公开,并且这些交易数据被网络证明是真实有效的。
区块链中每个包含时间戳的交易数据块被计算出hash值,同时该hash值被存入下一包含时间戳的交易数据块中,如此反复,生成链式数据结构(如图1-1所示)。这样,一旦下一个区块确认生成,之前所有的区块信息(包括交易的内容和交易顺序)都不可修改,否则将导致hash验证失败。区块生成,也就是我们通常所说的记账,在比特币网络中通过工作量证明保证。当网络中多个节点同时生成最新区块时,长度最长的链会作为选择结果,因为最长的链代表投入算力最多,最能代表大多数节点的意志。所以多个最新区块的信息将被保留一段时间,直到判断出哪一条链更长。
图1-1 区块链的哈希链式结构
一个节点必须拥有网络中51%以上的算力才有能力篡改一个区块并重新生成后面所有的区块,它还需要保证后面区块产生的速度比其他节点更快。在庞大的比特币网络中,能拥有如此惊人的算力几乎是不可能的。
我们看到比特币系统设计得非常精妙:没有中心化的管理方,数据很难被篡改,抗攻击能力强。回看历史,在比特币诞生之前,人们在这一领域不断探索,其中许多学术贡献也为比特币的成型铺平了道路。
❑比特币实现的基于零信任基础且真正去中心化的分布式系统,其实是为了解决30多年前由Leslie Lamport等人提出的拜占庭将军问题,即将军中各地军队彼此取得共识、决定是否出兵的过程延伸至运算领域,设法建立具有容错特性的分布式系统,即使部分节点失效仍可确保基于零信任基础的节点达成共识,实现信息传递的一致性。
❑工作量证明机制则是采用由Adam Back在1997年所发明的Hashcash算法,此算法依赖成本函数的不可逆特性,实现容易被验证但很难被破解的特性,最早被应用于过滤垃圾邮件。
❑隐私安全技术可回溯到1982年David Chaum提出的注重隐私的密码学网路支付系统,之后David Chaum在1990年基于这个理论打造出不可追踪的eCash中心化网络。
❑交易加密采用的椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm, ECDSA),可追溯回1985年Neal Koblitz和Victor Miller提出的椭圆曲线密码学(Elliptic curve cryptography, ECC)及加密算法。相较于RSA算法,采用ECC的好处在于可以使用较短的密钥达到相同的安全强度。到了1992年,由Scott Vanstone等人提出ECDSA。
❑最后,再来看共识机制。1990年,Leslie Lamport提出具有高容错特性的数据一致性算法Paxos。1991年,Stuart Haber与W. Scott Stornetta提出用时间戳保证数字文件安全的协议。1998年,Wei Dai发表匿名的分散式电子现金系统B-money,引入工作量证明机制,强调点对点交易和不可窜改特性。然而B-money中并未采用Adam Back提出的Hashcash算法。同年,Nick Szabo发表去中心化的数字货币系统Bit Gold,参与者可贡献算力。到了2005年,Hal Finney提出可重复使用的工作量证明机制(Reusable Proofs of Work, RPOW),结合B-money与Adam Back提出的Hashcash演算法来创造数字货币。
综上所述,区块链是用分布式数据库识别、传播和记载信息的智能化对等网络,包含以下几个主要特性:
❑分布式去中心化:区块链中每个节点和矿工都必须遵循同一记账交易规则,而这个规则是基于密码算法而不是信用,同时每笔交易需要网络内其他用户的批准,所以不需要一套第三方中介结构或信任机构背书。
❑无须信任系统:区块链网络通过算法的自我约束,使任何恶意欺骗系统的行为都会遭到其他节点的排斥和抑制。参与人不需要信任任何人,但随着参与节点增加,系统的安全性反而增加,同时数据内容可以做到完全公开。
❑不可篡改和加密安全性:区块链采取单向哈希算法,同时每个新产生的区块严格按照时间线形顺序推进,时间的不可逆性导致任何试图入侵篡改区块链内数据信息的行为都很容易被追溯,导致被其他节点排斥,从而限制相关不法行为。
区块链最重要的是解决了中介信用问题。在过去,两个互不认识的人要达成协作是很难的,必须要依靠第三方。比如支付行为,过去任何一次转账行为,必须要有银行或者支付宝这样的机构存在。但是通过区块链技术,通过比特币,人类第一次实现了在没有任何中介机构参与的情况下,完成双方可以互信的转账行为。这是区块链的重大突破。
并非所有区块链项目都会采用类似于比特币这样的“工作量证明”方式,这更多出现在早期的区块链项目中。如果采取其他证明机制,如“权益证明(Proof of Stake, PoS)”“股份授权证明机制(DPoS, Delegate Proof of Stake)”,都是不需要采取这样的挖矿方式。
区块链是比特币的底层技术,但其应用的真实价值远超过电子货币系统。我们认为比特币是区块链1.0系统,当通过智能合约(Smart Contract)实现货币以外的区块链应用时,即进入了区块链2.0系统。