1.区块链是什么——源自比特币的技术创新
随着比特币的总市值在2021年年初接近万亿美元,比特币与区块链再次迎来了高光时刻。更多人开始确信,区块链是过去10年、未来10年最重要的互联网新技术浪潮,它将把我们从“信息互联网”带向“价值互联网”。
那么,比特币是什么?区块链是什么?价值互联网或价值网络又是什么?要回答这一系列问题,我们要回到10多年前,从匿名的神秘技术极客、比特币创始人中本聪(Satoshi Nakamoto)发明比特币的那一刻说起。
比特币的创世时刻
2009年1月3日,在位于芬兰赫尔辛基的一台服务器上,中本聪创建了比特币区块链网络的第一个数据区块,即所谓“创世区块”(genesis block)。人们通常把比特币区块链看作一个账本,创世区块是这个账本的第一页。
在创世区块的备注中,中本聪写上了当天英国《泰晤士报》头版头条的标题:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”(中文:《泰晤士报》,2009年1月3日,英国财政大臣站在第二次救助银行的边缘)。
通过这样的方式,他记录了比特币区块链网络的启动时刻。他借这句话对当时的全球金融体系状况进行了暗讽:经历了2008年金融海啸的冲击,全球金融体系看起来已摇摇欲坠。
在创建创世区块时,中本聪按自己设定的游戏规则,获得了50枚比特币的奖励,这就是最早的50枚比特币。从这一刻开始,在比特币的区块链账本上,约每10分钟,一个新的数据区块就被增加到链条的最后,同时新的几十枚比特币被凭空发行出来。
迄今为止,比特币区块链网络已经稳定运行了十多年,它现在是由数万个节点组成的全球价值网络,以亿美元计的资产在其上流转。更引人瞩目的是,从资产角度看,比特币价格最高时成为总价格近万亿美元的全新主流资产类别。诞生之初,比特币没有任何价值,但随着时间的推移,比特币有了价格,且价格越来越高。按2021年1月1日的价格,比特币区块链这个全球价值网络上储存的比特币的总市值约为7000亿美元,跟Facebook和阿里巴巴的市值相当,超过巴菲特的伯克希尔-哈撒韦公司。
2021年2月8日,电动汽车公司特斯拉宣布,它已经用公司现金的7%(15亿美元)购买了比特币作为公司的财政储备。消息披露后,比特币的价格瞬间暴涨30%,达到每枚4.5万美元。之前几天,特斯拉创始人马斯克在推特(Twitter)上发的推文可能是一种暗示——“回顾看,这必然会发生。”在让公司大笔买入比特币时,马斯克心中所想的或许就是这句话。
现在,比特币被视为一种“价值存储媒介”(store of value)。通俗地说,它被视为“数字黄金”,它被认为可能在数字世界中模拟黄金在人类经济社会中的功能,能够跨越时间储存价值,能够对冲货币贬值。当然,正如黄金的实用价值有限一样,比特币的实用价值也不断地受到挑战。
虽然比特币价格暴涨,但我们还是必须承认一点:价格并不等于价值。现在人们更加迫切地想搞明白:比特币是什么?它真的有价值吗?它带来了什么根本性的变化?
这是这本写给所有人看的关于区块链技术的书要解决的第一组问题。我们回答这些问题的大背景是,经过10多年的发展,越来越多的人已经认识到,比特币和区块链在技术、经济、社会等多个层面都创造了全新的范式。这里需要说明的是,在讲述比特币的诞生过程时,我们不可避免地提到了很多陌生名词:区块链、区块、账本、比特币、比特币区块链网络、价值网络。我们还会谈到更多:共识机制、去中心化、智能合约、加密数字货币、哈希运算、非对称加密、去中心化自治组织、通证、通证经济……不用担心,本书会逐渐地为你讲解。
现在,让我们接着回到比特币的创世时刻去尝试着理解比特币与区块链带来的变化。
在比特币的创世时刻,比特币系统有三个组成部分——比特币、分布式账本(distributed ledger)、去中心网络(decentralized network)(见图1-1)。之后各种区块链网络的组成部分大体上与比特币系统相似。中本聪将已有的技术创新组合起来,巧妙融合技术与经济的逻辑,最终“发明”了区块链系统。
图1-1 比特币系统的三个组成部分
比特币常被称为一种“加密数字货币”,其实比特币并不具备现在各国法定货币的特征,它是一种数字形式的特殊商品,或者我一般更愿意说的“价值表示物”。
2008年10月31日,中本聪向一个密码学邮件列表即“密码朋克”(cypherpunk)邮件组的所有成员发了一封电子邮件,标题为《比特币:一个点对点电子现金系统》(Bitcoin:A Peer-to-Peer Electronic Cash System)。他写道:“我一直在研究一个新的电子现金系统,它完全是点对点的,不需要任何可信第三方。”比特币的起源应早于这个日期,因为中本聪说,他从2007年5月就开始为比特币项目编程。2008年8月,他注册了bitcoin.org域名,这是现在比特币项目的官方网址。
在邮件里,他附上了现在大家所说的“比特币白皮书”的文档链接。中本聪2008年发表的这篇论文可能是互联网发展史上最重要的论文之一,其他重要的论文还有利克里德写的开启互联网前身阿帕网的《计算机作为一种通信设备》(1968年)、蒂姆·伯纳斯-李写的万维网(WWW)协议建议书《信息管理:一个建议》(1989年)、谷歌联合创始人谢尔盖·布林与拉里·佩奇写的有关搜索引擎的论文(1998年)等。
可以合理地推测,中本聪不是一个学院派的研究型学者,他更可能是一个从事实际软件工程开发的工程师。他先开发了软件,然后才写了上面提到的重量级论文,来解释自己的设计思路。用他自己的话说:“我必须写出所有的代码,然后才能说服自己可以解决所有问题,之后写了这篇文章。”
2008年11月16日,中本聪公布了比特币系统的源代码。在发布白皮书并将软件代码开源后,2009年1月3日,他在互联网上上线了比特币网络。之后,中本聪和密码学家哈尔·芬尼(Hal Finney)、后来的比特币主力开发者加文·安德烈森(Gavin Andresen)等人在网上论坛一起讨论想法,继续开发与迭代。
随着比特币网络的逐渐成熟,中本聪的活动开始减少,比特币网络逐渐进入自治运转的状态。这是软件系统历史上的奇迹,也是人类组织的奇迹,它没有一个管理团队,却在众人协同下发展壮大。某种意义上,比特币系统是一个工程典范,它的实际运行比理论上要好得多。
最终,在发明比特币系统3年后,自2011年11月中本聪永远不再出现。中本聪成了一个永远匿名的传奇,没人知道他是谁,他只在世界上留下了自己的创造物。中本聪创造了三个事物:持续运转的比特币系统;总价值越来越高的比特币;从比特币系统中涌现,现在被统称为“区块链”的新一代互联网技术。
中本聪为什么创造比特币
那么,中本聪为什么要创造比特币系统与比特币呢?作为软件工程师,他开发这个系统想解决什么难题?
比特币的出现源于一群技术极客一直试图解决的技术难题,而中本聪完成了最后一步跳跃,这个技术难题是:在数字世界中,如何创造一种具有现金特征的事物?
纸币现金或者人类历史上的金币、银币有一个重要的特性:一个人可以把纸币现金直接给另一个人,无须仰赖任何中间人居中协调处理。
当我们进入到数字时代后,中间人似乎不可或缺:转账时,我们必须仰赖银行、银行卡联盟、支付宝或微信支付等中间人。有人说,这些中间人就像神一样的存在,它们也必须存在。问题是,这些中间人必须存在吗?
“比特币:一个点对点电子现金系统”这个标题说出了中本聪想解决的难题:他想创造数字世界中的电子现金,它可以点对点,也就是个人对个人交易,交易过程中不需要任何中介参与。用他自己的话说:“一个真正的点对点电子现金应该允许发起方直接支付给对方,而不需要通过金融机构。”也就是不再需要一个“可信第三方”(trusted third party),在数字世界中,价值的流动不再需要中间人。
要说明的是,“电子现金”中的现金指的并非货币,它只是在解决难题的过程中被借用来在数字世界中代表价值的说法。在经济生活中,最常见的代表价值的事物是现金。
中本聪并不是第一个想要解决“电子现金”这个难题的人,在2008年,他对此再次发起冲击,并获得了成功。攻克这个难题非常重要,这是因为,如果能够开发出这样一个不需要中间人、直接在人与人之间支付电子现金的技术系统,那么,各种各样的价值(比如股权、房屋所有权、知识产权、数据、金融衍生品等)就可以用类似的技术系统来在人与人之间进行转移。这给数字世界补上缺失的一环——现在,我们已经有了信息传播网络,我们还需要一个更好的价值传输网络。
去掉“可信第三方”或“去中介”是比特币与区块链的核心概念,我们来详细对比一下,以了解它。
在物理世界中,一个人可以把现金纸币给另一个人,不需要经过诸如银行、支付机构、见证人等中介。
当我们进入数字世界后,中间人变得不可或缺。这是因为,数字文件是可复制的,复制出来的电子文件是一模一样的。因此,我们不能简单地用一个数字文件作为代表价值的事物,我们要仰赖中心化数据来记录,避免有人使用复制品。那么,如果没有一个中心化数据库做记录,如何避免一个人把一笔钱花两次?这就是所谓的双重支付或双花问题。
在现在的数字世界中,当一个人要把现金转给另一个人时,必须有中间人的参与。在比特币出现之前,我们熟悉的主要电子现金系统(如PayPal、支付宝等)都是依靠中心化数据库来避免双花问题的,这些可信第三方不可或缺(见图1-2)。我们通过支付宝转账的过程是:支付宝在一个人的账户记录里减掉一定的金额,在另一个人的账户记录中增加相应的金额。
图1-2 比特币是点对点的现金,不需要任何中介
在去中介或去中心化的电子现金这条路上,一直有很多技术专家在做着各种尝试,但他们一直未能获得成功。到了2008年,借鉴和综合前人的成果,特别是现在常被统称为“密码朋克”的群体的成果,中本聪改进了之前的各类中心化和去中心化的电子现金,后又加上自己的独特组合创新,创造了比特币系统。(历史过程详见本节后“冷知识”专栏的《加密数字货币前传:从大卫·乔姆到中本聪》。)
在发明比特币系统时,中本聪以全新的方式来解决问题。他或许没有发明任何新技术,而只是将各种技术组合到了一起,但他的这种组合创造了一种全新的范式,这实际上是更高层级的创新。
现在,我们用中心化账本来记录“每个人拥有多少钱”,我们靠一个可信的中间人(如网上银行、第三方支付机构等账簿管理人)来让钱从一个人转账到另一个人。那么,能不能用一个靠代码与规则运转的技术系统来取代过去由人组成的公司组织呢?
中本聪给出了解答:
·基本思路。他的基本思路是,用“去中心网络”取代“中心化组织”,用“分布式账本”取代“中心化账本”。
·实现方式。为了实现这样的技术系统,他设计了两个独特的方式:第一,区块链账本(区块+链)这样的独特账本结构,也被称为“三式记账法”(Triple Entry Accounting);第二,用工作量证明(Proof-of-Work,PoW)共识算法来协同参与者运行去中心网络,其中特别的是每个区块为参与者提供比特币形式的奖励。
·最终成果。他的成果也是双重的:第一重是比特币系统与比特币;第二重是区块链技术这个数字世界的所有权管理系统技术。
区块链是适应数字世界的新型所有权管理系统,它包括两大组成部分:记录谁拥有多少价值,以及用转账交易来实现价值转移。在我看来,人们往往过于关注“谁拥有多少价值”的记录以及价值的数量,而对于“用转账交易来实现价值转移”关注不够。它其实是区块链发展的主轴,在第二章讨论以太坊时我们将会再回到这个主题,以太坊让转账交易更便捷、更易编程、更可普遍地应用。
自2008年中本聪发布比特币白皮书已经过去10多年,比特币系统的长期正常运转表明,它完成了中本聪的设想,解决了最初想解决的技术难题。
让人意外的是比特币的价格。最初,比特币这种所谓的电子现金并没有价格,比特币系统只是在逻辑上可行的系统,或者技术人员常说的为了尝试解决难题而开发的“玩具系统”。2010年5月22日,在一个网络论坛上,有一个程序员用1万枚比特币换了两张棒约翰比萨的代金券,比特币有了一个最知名的公允价格:1万枚比特币等于25美元。为了纪念这一天,每年的5月22日便成了区块链业界的节日——比特币比萨节,大家聚会吃比萨庆祝。
比特币有了价格后,其价格在10年间大幅上涨。比特币的价格在自由市场交易中被确定,长期保持上涨姿态,又反复地大幅波动,最终,2021年年初最高达到6万美元。当时,在特斯拉美国官网,你用一枚比特币差不多可以换一辆最新款的电动汽车。
比价格更重要的是比特币这一技术系统的价值。比特币这一技术系统一直保持稳定,而且看起来还将长期稳定地运转下去。
比特币系统还带来了技术模型和经济组织方面的新思路——去中心化。比特币这个电子现金系统是同时去中介化和去中心化的:个人与个人之间的电子现金转账无须可信第三方中介的介入,这是交易的去中介化。这个电子现金的货币发行也不需要一个中心化机构,而是由代码与共识机制完成,这是发行的去中心化。另外,由于中本聪在早期就隐身而去,围绕比特币形成的开发、应用、投资社群也是去中心化的。(本章最后“冷知识”专栏的《比特币实现了极致的去中心化》对此有进一步的探讨。)
在比特币系统中发现区块链
在物理世界中,现金是一张张纸币,背后有着一整套与货币相关的金融体系:中央银行、商业银行、印钞厂、信用卡组织,以及后来出现的第三方网络支付机构等。
在数字世界中,想要创造一种去中介化、去中心化的“电子现金”,同样要设计一套完整的系统。这一系统要能解决以下一系列问题:
·如何去中介?是否像在物理世界中一样,一个人可以直接把现金给另一个人,无须任何中介的协助?
·这种电子现金如何防伪?在数字世界中,这个问题也就是,一笔电子现金如何不被花费两次?更准确地说是,如何实现在不需要中心化账本的情况下让一笔电子现金不被花费两次?
·这种电子现金如何公平、公正地发行(理想情况下由预设规则代码自动运行),而不被中心化机构或某些个人控制?
中本聪设计和开发的比特币系统完美地解决了上面这些问题。提到比特币,人们通常指的是比特币这种用作价值表示的电子现金。其实,作为电子现金的比特币只是比特币系统的最上层,比特币系统共包括三层(见图1-3):
·最上层是比特币这种电子现金。这一层是整个系统的应用层。
·中间层的功能是发行比特币与处理用户间的比特币转移。这一层也被称为比特币协议(Bitcoin Protocol),是整个系统的应用协议层。
·最底层是比特币的分布式账本和去中心网络。这一层也被称为比特币区块链(Bitcoin Blockchain),是整个系统的通用协议层。
图1-3 一张图看清比特币与区块链
比特币系统实现的是一种去中心化的点对点电子现金,这种电子现金的发行与转账靠的是中间的比特币协议。与传统货币系统对比来看,比特币协议的角色相当于如下两种金融机构的组合:中央银行(发行货币)与商业银行(处理转账)。底层的分布式账本和去中心网络则相当于金融的IT基础设施。
比特币系统的三层命名(应用层、应用协议层、通用协议层)源自知名区块链研究者梅兰妮·斯旺(Melainie Swan)。她还提出了一种被广泛引述的阶段划分:区块链1.0是货币,区块链2.0是合约,区块链3.0是应用。这也是本书借鉴与改进的区块链阶段划分。斯旺对比特币系统的三层命名很有价值,在区块链业界,公链或联盟链赛道的竞争,即试图开发有各种独特特性的通用协议层,建设基础设施,而各种区块链应用是在公链或联盟链上创建一个个应用协议,用协议去构建金融、电商、社交等应用生态。
我们再从技术角度细看比特币系统,比特币系统架构常被进一步细分为五层(见图1-4):功能层实现转账与记账;激励层实现比特币的发行与分配;共识层是分布式网络中的节点如何就账本达成一致,比特币采用的共识机制是工作量证明;数据层是比特币区块链账本的数据处理方式;网络层则是处理网络节点如何通信。需要说明的是,参考火币区块链研究院2018年的一份研究报告,这里将网络层作为五层结构的最下一层,而不是常见的将数据层作为最下一层。
图1-4 比特币系统架构
在设计比特币系统时,中本聪创造性地将计算机算力竞争和经济激励相结合,形成了工作量证明共识机制,用消耗掉的计算资源和对应的激励确保无须许可就能加入网络的节点能协同一致,共同运行比特币网络。在耗费资源进行计算竞争的过程中,挖矿计算机节点完成了货币发行和记账功能,也完成了对区块链账本和去中心网络的运维。
有了工作量证明共识机制,在一轮轮的循环中,比特币系统这个无须许可的自治系统安全、持久地运行下去:矿工购买通用或专用的计算机(也就是所谓矿机)参与挖矿这种算力竞争,赢家完成去中心化记账,获得比特币形式的经济激励。奖励会激励计算机节点加大投入,继续参与算力竞争。这个循环中也有隐含的惩罚,矿工在设备、电力、厂房方面进行了投入,如果因发生失误而未能获得奖励,这实际上会导致其亏损。
比特币的工作量证明共识机制是承上启下的一层,连接了上层的应用与下层的技术基础设施:在其上一层为电子现金的发行、转账、防伪;在其下一层,去中心网络的节点达成一致,更新分布式账本。
解析比特币白皮书摘要:比特币系统的设计
比特币系统是一个既简单又精妙的系统,它融合了技术和经济,是区块链所有创新的源头。在比特币白皮书《比特币:一个点对点电子现金系统》中,中本聪详细地解释了他是如何设计这个系统的。在其中,他确立了此后所有区块链系统的主要设计原则。
接下来,我们对照阅读与讨论这篇论文中的英文摘要:
A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution.
一个真正的点对点电子现金应该允许从发起方直接在线支付给对方,而不需要通过一个(第三方的)金融机构。
Digital signatures provide part of the solution,but the main benefits are lost if a trusted third party is still required to prevent double-spending.
现有的数字签名技术虽然提供了部分解决方案,但如果还需要经过一个可信第三方来防止(电子现金的)“双重支付”,那就丧失了(电子现金带来的)主要好处。
We propose a solution to the double-spending problem using a peer-o-peer network.
针对电子现金可能出现的“双重支付”问题,我们用点对点的网络技术提供了一个解决方案。
The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work,forming a record that cannot be changed without redoing the proof-of-work.
该网络给交易记录打上时间戳(timestamp),对交易记录进行哈希散列处理后,将其并入一个不断增长的链条中,这个链条由哈希散列处理过的工作量证明(hash-based proof-of-work)组成,如果不重新进行工作量证明,以此形成的记录将无法被改变。
The longest chain not only serves as proof of the sequence of events witnessed,but proof that it came from the largest pool of CPU power.As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network,they’ll generate the longest chain and outpace attackers.
最长的链条不仅是作为被观察到的事件序列的证明,并且证明它是由最大的CPU处理能力池产生的。只要掌控多数CPU处理能力的计算机节点不(与攻击者)联合起来攻击网络本身,它们将生成最长的链,从而把攻击者甩在后面。
The network itself requires minimal structure.Messages are broadcast on a best effort basis,and nodes can leave and rejoin the network at will,accepting the longest proof-of-work chain as proof of what happened while they were gone.
这个网络本身仅需要最简单的结构,信息尽最大努力在全网广播即可。节点可以随时离开和重新加入网络,只需(在重新加入时)将最长的工作量证明链条作为在该节点离线期间发生的交易的证明即可。
威廉·穆贾雅在《商业区块链》一书中对比特币白皮书摘要进行了分析,他总结了四个要点:①点对点电子交易;②不需要金融机构作为中介;③基于密码学证据而不是中心化机构的信用;④信用存在于网络,而不是某个中心机构。
从这个摘要及比特币系统实际运行中,我们提炼出了比特币系统设计的一系列特点(见图1-5):比特币的区块链系统是由分布式账本(即狭义的区块链)和去中心网络(点对点网络)组成的;形成链的方式是工作量证明共识机制;最长链是由网络中的算力共同决定的,因而它是可信的,节点离开和加入依据的是最长链是可信的这一原则;比特币以区块奖励的形式增发给矿工,它的增发每四年减半。这些特点组合起来形成了比特币系统。
图1-5 比特币系统设计的五个要点
1.分布式账本
比特币的区块链是基于工作量证明形成的带时间戳、存储数据的数据块和由哈希指针连接成的链条。
这个链条或者说账本以分布式的方式存储在比特币网络的各个节点上,因而也被称为分布式账本。
2.工作量证明
比特币网络中的节点按规则进行哈希计算,以竞争获得生成新区块的权利。节点在竞争获胜后就获得记账权,它生成区块成为最新区块后,就获得与新区块对应的挖矿奖励。
工作量证明也是区块链账本的安全机制。如果不重新进行“工作量证明”所需的大量计算,则此链不可修改,这一共识机制保证了区块链上的数据记录的可靠性。
3.区块奖励与减半机制
比特币这种电子现金完全是由区块奖励从0开始发行出来的。挖出新区块的矿工获得区块奖励,最初每个区块对应的奖励是50枚比特币,每过21万个区块,区块奖励会减半。
比特币每个区块的间隔时间约为10分钟。在2012年11月、2016年7月、2020年5月,比特币区块奖励经历了三次减半。根据这些参数我们还可以绘制出比特币的供给曲线,大约在2140年其新增量将降至无限接近于0,比特币的总供给量为2100万枚。
4.最长链原则
在任何时刻,最长的链条是所有人都接受的最终记录。
由于最长链是由网络中的主要算力完成的,因而只要它们不全部与攻击者合作,那么它们生成的最长链就是可信的,这个原则被称为“最长链原则”。
5.去中心网络
比特币的去中心网络的架构非常简洁,本身需要的基础设施很少。它可以在现有互联网上运行。计算机节点可以随时离开或加入这个去中心网络,在加入时它们只需遵守最长链原则即可。
比特币要做的是一个“点对点电子现金系统”,发送方和接收方直接交易,它们之间不需要中介机构的介入。
要去掉可信第三方等中介机构,就需要解决“双花问题”。在摘要中,中本聪给出了点对点网络的解决方案,并介绍了这个方案的核心——区块链。要注意的是,他并没有提到“区块链”(blockchain)这个词,但在论文中分别提到了“区块”(block)和“链”(chain)这两个概念。
「专题讨论」说区块链时,我们在说什么
比特币系统包括三层:比特币、比特币协议、比特币区块链。用比特币系统来对照看,说区块链时,我们说的可能是什么?通常,“区块链”这个说法所指代的有四种可能性,覆盖的范围逐步变大(见图1-6)。
图1-6 从比特币系统看区块链
可能性之一,区块链指的是比特币的数据结构,即由数据块(block)连接形成的链(chain),这也被称为“分布式账本”。在比特币白皮书中,中本聪分别提及了区块和链,后来它们才被组合成了“区块链”(blockchain)这个新词。
可能性之二,区块链指的是比特币的分布式账本和去中心网络的组合。对应于比特币系统,它指的是第三层,即比特币区块链。
可能性之三,区块链指的是比特币系统的第二层(比特币协议)和第三层(比特币区块链)的组合。它包括分布式账本、去中心网络和比特币协议。
可能性之四,区块链指的是整个比特币系统,包括所有三层,既包括价值表示的比特币,也包括背后支撑它的整个系统。从这个范围看,区块链被看成了一个既包括技术部分又包括经济部分的完整系统。
一般来说,大众在提及区块链时,常指的是第四种最大的范围,即“账本+网络+协议+货币”。在产业中,人们提到区块链时,通常指的是第三种范围,即“账本+网络+协议”。而很多软件开发者在说起区块链时通常指的是第二种范围“账本+网络”,即分布式账本加去中心网络。特别地,当区块链业界很多人说在某一公链上做了一个区块链项目(协议)时,他们的工作范围是限定在协议部分的,即仅对应着比特币系统的第二层。
现在,包括我在内的很多人都有一种看法是,将基于区块链的价值表示物都称为通证,并把比特币等某条链的原生代币(coin)视为通证的一个特定种类。如果采用“通证”说法,区块链的最大范围包括的则是“账本+网络+协议+通证”。
「冷知识」加密数字货币前传:从大卫·乔姆到中本聪
加密数字货币有着非常漫长的历史,这个冷知识专栏用几个主要人物和他们的创造,来展示一个简明的加密数字货币前传。
一、1983年,大卫·乔姆(David Chaum)最早提出把加密技术用在数字现金上
在物理世界中,现金可以非常简单,它需要的是防伪功能。现金可以看成是一张特别的纸条,在纸条上写上“拿到这张纸条的人可以找我领取一只羊”,然后签上自己的名字、签名就是防伪措施。同时,当我把纸条拿给你,纸条到你手中,我就没有了。
在数字世界中,情况开始变得复杂:这张纸条和上面的签名是一个数字文件,而电子文件可以被无数次完美地复制。把这个电子文件给你之后,我还可以再把这个电子文件给第三个人,这就是所谓的双重支付问题。
大卫·乔姆提出了一个创造性的方案,解决了这个难题。他的方法采用这样的逻辑:在一张纸条上,你选择一个只有你知道的序列号,然后我在上面签名。由于我不知道这个序列号,因此我没法复制一份这张纸条给另一个人,这就是密码学上所谓的“盲签”(Blind Signature)。这个思路形成了“第一个真正意义上的电子货币方案”。1989年,大卫·乔姆还创建了数字现金公司(DigiCash)来把自己的想法商业化,但未能被大规模接受。
这个方案的缺点是,它要运转起来,就必须有一个所有参与者都信任的中心化服务器来进行这些“数字纸条”的验证。
二、1997~1998年,亚当·贝克(Adam Back)与哈希现金(HashCash)、戴伟(Wei Dai)与B币(B-Money)、尼克·萨博(Nick Szabo)与比特黄金(Bit Gold)、哈尔·芬尼(Hal Finney)与工作量证明
在比特币白皮书中,中本聪引用了1997年亚当·贝克设计的哈希现金、1998年华裔密码学家戴伟设计的B币等前人的成果。2010年,由于维基百科试图删除比特币词条,因此中本聪与他人讨论了如何修改词条描述以让维基百科接受。他建议这样写:“比特币是戴伟在1998年在密码朋克中所提到的B币构想和尼克·萨博提出的比特黄金的具体实现。”他说是具体实现,是因为B币和比特黄金都只是停留在构想中。
这就引出了区块链领域的一个重要人物——计算机科学家与法律专家尼克·萨博。他在1998年提出了名为“比特黄金”的方案。在现在的区块链世界中,尼克·萨博有着更为重要的位置:萨博是智能合约(Smart Contract)的提出者,1993年他写出了《智能合约》论文。智能合约是区块链处理交易事务的核心方式,区块链应用通常可被看成是一系列智能合约的组合。
这一阶段的第四个重要人物是知名密码学家哈尔·芬尼,他是著名的PGP加密中的“G”,是密码朋克圈中的前辈。他在2004年推出了自己版本的采用工作量证明(PoW)机制的电子货币。在比特币开发过程中,哈尔·芬尼与中本聪有很多互动,比特币的第一笔转账就是中本聪转了10枚比特币给哈尔·芬尼。
他们四人的具体设想各有不同,但有一个共同点,即都是让计算机进行计算,从而“创造”电子现金,它们是比特币系统让计算机进行加密计算的工作量证明和“挖矿”的创意来源。这非常重要,有了这个想法,中心化服务器才可以被去中心网络所取代,困扰数字货币的一大难题才能被解决。
三、2008年10月,中本聪发布论文“比特币:一个点对点电子现金系统”
最终,中本聪将前人的创新综合起来,实现了一种在发行和交易上都去中心化的电子现金。
对于前人的数字货币系统(比如乔姆的系统)为什么会失败,中本聪曾经写道:“自20世纪90年代以来所有的虚拟货币公司全都失败了……我希望人们可以看到,这些系统之所以失败,显然是因为它们的中心化控制这一特性。我想,我们正在首次尝试建立一个去中心化的、非基于信任的系统。”
这里他提到了两个相关的词,一是去中心化(decentralized),二是非基于信任(non-trust-based),现在人们常用“去信任”(trustless)这个词。去中心网络一定是非基于信任的,任何人都可以在无须许可的情况下加入这个网络,网络中的各方之间不需要信任前提,它们之间的信任是由网络运行的规则形成的。
[1] 在中国,比特币等所谓“加密数字货币”(cryptocurrency)被界定为“虚拟商品”。2013年年底,中国人民银行等五部委发布的《关于防范比特币风险的通知》认为,“从性质上看,比特币是一种特定的虚拟商品,不具有与货币等同的法律地位,不能且不应作为货币在市场上流通使用”。本书主要探讨区块链技术和应用,对加密数字货币、区块链项目、通证以及币币交易(或通证兑换)均为技术性讨论,不代表任何投资建议。《关于防范比特币风险的通知》全文见:http://www.gov.cn/gzdt/2013-12/05/content_2542751.htm。
[2] 中本聪邮件:https://www.mail-archive.com/cryptography@metzdowd.com/msg09959.html;比特币白皮书:www.bitcoin.org/bitcoin.pdf。
[3] 双重支付或双花(double spending)问题是,在数字世界中一笔钱可能被花两次、三次或多次,系统设计需要规避这种情形。中心化的支付依靠中心化数据库来解决这一问题,而去中心化的电子现金依托分布式账本与共识算法来解决这一问题。区块链的安全性问题的重点之一就是避免双花。
[4] 《区块链:技术驱动金融》一书的前言《通往比特币的漫长道路》(杰里米·克拉克/文),从技术与历史的角度对加密数字货币的历史进行了详细的阐述,这里参考了他的梳理分析。
[5] 再往前,这个想法可追溯到1992年密码学家辛西娅·德沃克(Cynthia Dwork)、莫尼·纳欧尔(Moni Naor)提出来的用于减少垃圾邮件的一个方案,对此杰里米·克拉克在《区块链:技术驱动金融》一书的前言中解释说:“设想你每次发送邮件时,计算机都不得不花几秒钟解决一道数学计算题目。如果你没能附上答案,收件人的邮箱会自动忽略这封邮件。
[6] 以太坊创始人维塔利克·布特林(Vitalik Buterin)在以太坊白皮书中也很好地概述了这段历史,他是围绕“去中心化”这个关键词展开论述的:去中心化的数字货币概念,正如财产登记这样的替代应用一样,早在几十年前就被提出来了。20世纪八九十年代的匿名电子现金协议,大部分是以乔姆的盲签技术为基础的。这些电子现金协议提供具有高度隐私性的货币,但是这些协议都没有流行起来,因为它们都依赖于一个中心化的中介机构。1998年,戴伟的B币首次引入了通过解决计算难题和去中心化共识创造货币的思想,但是该建议并未给出如何实现去中心化共识的具体方法。2005年,芬尼引入了“可重复使用的工作量证明”概念,它同时使用B币的思想和亚当·贝克提出的计算困难的哈希现金难题来创造密码学货币。但是,这种概念再次迷失于理想化,因为它依赖于可信任的计算作为后端。2009年,一个去中心化的货币第一次被中本聪实现,它通过已有公钥加密的方式来管理所有权,并用一个名为“工作量证明”的共识算法来记录谁拥有货币。