比特币,是现金不是货币
谈到区块链,势必绕不过比特币,而谈比特币之前,我们要先讲讲人们从技术层面而非社会层面解决信息不对称的种种努力。
科学家们首先想到的是将数据存储去中心化,并让这些分布式数据找到一种有效的达成共识的方式。
纵观人类信息存储的历史演进,我们发现无论是远古时代的结绳记事,还是近代的竹简、纸张,甚至现代的互联网,都存在一个问题,那就是永远只有一小部分人掌握着信息的记录、解释权,第三方背书也是。
从古到今,信息存储方式的改变多为生产力层面的,也就是如何让信息存储、读取得更快,从而方便人们使用,但其储存方式始终没有发生根本性变化,就是中心化。
数据中心化存储的情况下,信息不对称几乎无法消除,将微博上所有信息汇总起来之后的分析结论仅可能被少数人掌握,金融市场上的所有信息结构化之后的再分析也只有少数人能够做到。在中心化社会结构和中心化信息存储方式的共同作用下,始终是上层掌握的信息丰富度多于基层、技术专家了解的信息维度多于普通人,这种信息存储、分析的中心化使得信息不对称在人类社会几乎无法消除。
但人们并未放弃努力,不断寻找去中心化的存储方式。随着计算机技术的发展,从1998年IBM发布第一个基于AIX操作系统的共享文件系统GPFS开始至今,曾经出现过GFS、Ceph、HDFS、NDFS等一系列分布式信息存储方式,这些创新在某种程度上解决了信息存储去中心化的问题。
另外一个问题随之而来:即便某一天所有人掌握的信息一样多,也会因为信息分析手段的差异导致结论千差万别,因为每个人的“大脑算法”不一样,掌握的技能也不同。这个问题用计算机术语来表达就是:如何让这些分布式系统达成“共识”,也就是协商一致。
莱斯利·兰伯特形象地将之归类为“拜占庭将军”问题,为了解决这一问题,卡斯特罗和利斯科夫发明了实用拜占庭容错协议(PBFT,Practical Byzantine Fault Tolerance),但由于其去中心化程度和可扩展性不高且容易受到算力攻击(34%以上的算力即可实现数据篡改),所以未能大规模应用。虽然后来又出现了Raft和Paxos等共识算法,但在应用过程中都会出现各种各样的不足,直到中本聪设计比特币系统时使用的“区块+链”诞生。
比特币系统一举解决了“分布式数据存储+共识算法”两大问题系统,虽然它最初用于数据现金的发行与流通,但后来经过以太坊的改进已经扩大到社会的其他应用层面,进而最大化地消除信息不对称。
这种技术保证了数据的分布式存储,同时能够让所有节点的算法保持一致,即使用PoW形成共识,虽然损失了一些效率,却极其公平。所以这一技术特别适合成为数字世界的规则制定者,因为它完全消除了人类世界无法消除的信息不对称问题。
之所以讲区块链要从比特币说起,是因为“区块链”一词起源于中本聪的一篇文章A Peer-to-Peer Electronic Cash System。
区块链,无论作为一个名词还是一项技术,都是缘起于比特币。
比特币的构想由一位名叫“中本聪(Satoshi Nakamoto)”的人提出,他在2008年10月31日向“密码朋克”[2]邮件列表发送了一篇标题为“比特币:一种点对点的电子现金系统”(以下简称《比特币白皮书》)的论文,论文中详细描述了如何在不通过第三方的情况下实现点对点的在线支付。
我们从生活常识中可以体会到,凡是线上支付,都需要第三方背书或认证,以保证交易的真实性与唯一性。比如你通过支付宝支付,支付宝和银行作为第三方保证交易的顺利进行;你通过银行卡交易,则由银行单独保证交易的达成。
数字货币的拥趸们认为凡是存在第三方便存在人为的风险,只有无第三方参与的交易才是完全安全与自由的。自由派经济学家的代表冯·哈耶克在其所著的《货币的非国家化》一书中就对国家对货币的垄断权力表现出了极大的警惕之心,他认为真正有信誉的货币应该是市场化的,而国家在极端情况下都有可能会通过“货币超发”等手段损害普通百姓的利益,这种情况在货币发展过程中已经屡见不鲜。
中本聪是否受到哈耶克的影响我们未可得知,但可以肯定的是中本聪是一位有信仰的神秘人物,这从他的“生日”中可以看出来。中本聪给自己“设定”的生日是1975年4月5日,很明显4月5日是在暗讽1933年4月5日是美国根据《1917年与敌贸易法》发布的第6102号行政命令,该命令禁止美国人民储藏黄金,从而拉开了美国政府大规模抢夺民众黄金的序幕。而1975年恰恰是禁令失效的时间,即从1975年开始,美国人民终于可以合法地持有黄金。可见,中本聪应该是位美国人,而非多数人猜测的日裔,因为只有在美国环境下长大的人才会对以上这些事件刻骨铭心。
中本聪在创世区块中的留言也清晰地反映了他对美国政府操纵金融的反感,即当天英国《泰晤士报》头版标题“英国财政大臣站在第二次救助银行的边缘”,可见他的目标就是“货币的非国家化”。
广义上的货币非国家化就是所有货币的发行、交易都不需要第三方参与,也不应该存在账户,没有账户的付款方式只有一种,就是现金。即便是现金的产生源头也不应该是第三方,而应该是算法,这就是中本聪实现货币非国家化的路线图。
路线图画出来了,实现起来却很不容易,两个问题是难点:一是如何解决双重支付,二是如何实现分布式结构的共识算法。
线下使用现金支付非常简单,也曾经很普遍,两个人交易,一手交钱一手交货,收货的人验货、收钱的人点钞并确认钞票的真伪即可完成交易。线上使用现金就没有那么简单了,由于电子现金容易复制,你付给甲一张“电子现金”,即使这张现金是“人民银行发行”的、有唯一识别码的“现金”,甲也无法确定你的这张“电子现金”付给他之后就会删除,更无法确认你是否已经或者还会将同一张电子现金付给其他人,这就叫“双重支付”。如果有第三方背书的账户,甲就不会有这个担心,因为每当你付一笔款给甲,甲的银行账户就会多出一笔收入,你的银行账户就会多一笔支出。
这个记账必须由第三方来进行,如果各记各的,那也存在诚信和漏记的问题,根本无法保证信用交易,这就是分布式结构的共识算法问题。
正是由于电子世界的信息太容易复制,而且没有“用后即转移”的属性,使得不经过第三方的电子现金系统一直没有人能够设计成功,只要是线上支付,人们则必须通过在第三方机构开设的“账户”实现。
中本聪在《比特币白皮书》[3]中是这样描述的:“互联网上的贸易,几乎都需要借助金融机构作为可信赖的第三方来处理电子支付信息。虽然这类系统在绝大多数情况下都运作良好,但是这类系统仍然内生性地受制于“基于信用的模式”的弱点。
我们无法实现完全不可逆的交易,因为金融机构总是不可避免地会出面协调争端。而金融中介的存在,也会增加交易的成本,并且限制了实际可行的最小交易规模,也限制了日常的小额支付交易。并且潜在的损失还在于,很多商品和服务本身是无法退货的,如果缺乏不可逆的支付手段,互联网的贸易就大大受限。因为有潜在的退款的可能,就需要交易双方拥有信任。而商家也必须提防自己的客户,因此会向客户索取完全不必要的个人信息。
实际的商业行为中,一定比例的欺诈性客户也被认为是不可避免的,相关损失视作销售费用处理。而在使用物理现金的情况下,这些销售费用和支付问题上的不确定性却是可以避免的,因为此时没有第三方信用中介的存在。所以,我们非常需要这样一种电子支付系统,它基于密码学原理而不是基于信用,使得任何达成一致的双方,能够直接进行支付,从而不需要第三方中介的参与。
杜绝撤回支付交易的可能,这就可以保护特定的卖家免于欺诈;而对于想要保护买家的人来说,在此环境下设立通常的第三方担保机制也可谓轻松加愉快。在这篇论文中,我们将提出一种通过点对点分布式的时间戳服务器来生成依照时间前后排列并加以记录的电子交易证明,从而解决双重支付问题。只要诚实的节点所控制的计算能力的总和,大于有合作关系的攻击者的计算能力的总和,该系统就是安全的。”
因为我认为这一段对于理解比特币非常重要,所以完整地摘录下来。在这段简介中,中本聪说明了自己创设比特币想要达到的目标(免第三方交易)及初步解决方案,即“通过点对点分布式的时间戳服务器来生成依照时间前后排列并加以记录的电子交易证明”。
中本聪在《比特币白皮书》的摘要部分给出了解决方案:“一个真正的点对点电子现金系统使我们可以直接进行点对点的转账,而无须经过任何的中介金融机构。数字签名技术解决了一部分问题,但是如果仍然需要通过信任第三方的方式来防止双重支付[4],就失去了电子现金所带来的最大的好处。本文提出了一种点对点网络,来解决双重的问题。这个网络通过将转账记录进行Hash运算,并将哈希值记录到一个不断延长的基于哈希运算工作量证明的链条上,从而为交易打上时间戳并串联起来,形成交易记录。除非重新完成工作量证明,否则形成的记录不可更改。通过这种方式建立的记录链条,不仅是一笔笔转账记录的凭据,同时也代表了其背后计算资源的消耗。攻击者只有在拥有超过一半的计算资源的情况下,才有可能篡改此账本。运行该网络只需要最简单的结构,网络中的消息传播尽可能地覆盖到每一个节点。同时,各个节点都可以随时接入或者离开这个网络,在重新接入时,接受最长的那条转账记录链条即可。”
根据以上两段原文,我们认真分析后会得出如下几个关键结论:
首先我们要理解“题目”,即比特币是一种点对点的电子现金系统。这里面的两个关键词特别重要:一是点对点,即没有第三方参与;二是电子现金。注意了,不是货币,是“现金”。(https://www.daowen.com)
这两个重点描述决定了比特币类似于现实生活中的“现金”,它具备如下几个特征:
首先,既然是现金,就不存在“账户”的概念,只有存放地点之说,你可以把现金放在抽屉里,也可以把它们压在床底下,甚至可以把它们夹在书页间。现金和你没有绑定的归属关系,一旦你找不到它们了,它们也就不是你的了。所以比特币不存在账户,只有存放地址。
其次,现金可直接交易,不需要第三方。当你拿现金找另外一个人买东西时,将现金给他即可,既不需要改动你的“账户余额”,也不需要做其他动作。
这两点属性与我们现实生活中理解的“银行账户”没有任何关系,这些概念对于理解比特币至关重要。
在《比特币白皮书》的“交易”部分,他给比特币下了一个定义,那就是“一枚电子货币是这样的一串数字签名:每一位所有者通过对前一次交易和下一位拥有者的公钥签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者。而收款人通过对签名进行检验,就能够验证该链条的所有者。”这段话表明比特币不是“钱”,而是一串数字签名,当一个人转比特币给另外一个人时,他们转的也不是“钱”,而是一个未使用的交易输出(Unspent Transaction Output,UTXO)。
UTXO这个概念对于理解比特币来说很重要,现实社会中转账前都需要第三方验证账户余额是否充足,但在比特币的逻辑里不需要验证账户余额,因为在比特币世界根本就不存在账户这一概念。就像你拿现金买东西一样,只要是对方看到现金并且能够证实这些现金不是伪钞就可以了。
比特币交易的逻辑正是如此,交易过程中只需要验证这枚电子货币之前未被使用过就可以,即UTXO,验证的终极方式就是追溯这枚电子货币诞生的那一个记录,即“为了确认交易之前同一笔货币被支付的交易是不存在的,唯一的方式就是知晓之前发生过的所有交易”(这里当然不是指全部比特币,而是专指知晓这一枚比特币之前的交易)。当然,如果每一笔交易都要查UTXO的“前世今生”肯定耗时、耗算力,中本聪给的解决方案是使用“默克尔树结构”,即每次只需要验证到前一次的交易,即可证明UTXO的真实性。
分辨前一次交易的方法是在每个交易环节都使用“时间戳服务器”。具体方式为:“时间戳服务器通过对以区块形式存在的一组数据计算哈希值,从而为区块打上时间戳,并广播这个哈希值,就像通过报纸或者世界性新闻媒体发布一样。每个时间戳在计算哈希值时包含前一个时间戳,从而形成了一个链条,每个新增的时间戳都在增强它之前时间戳的效力。”
为了确保交易的安全和简便,他在定义比特币时采用了Hash加密算法、非对称加密技术及默克尔树结构,这些名词有些深奥,后面我们会有专门的名词,这里你只需要知道“电子现金”是通过一些技术加密过的一串代码就可以了。
具体交易流程如图4.1所示:

图4.1 比特币的交易过程[5]
同时,如图4.2所示,他还定义了交易的广播机制和验证机制,即通过时间戳服务器和加密技术形成了独特的“区块+链”的账本结构,这种账本结构又被称为“三式记账法”[6],这也是“区块链”一词的缘起。

图4.2 比特币区块示意图
接着中本聪又回答了一个很重要的问题,即如果没有专业记账员,那么由谁来记账呢?这就是分布式结构的共识算法问题。
答案是任何人都可能成为记账员,而且一旦记账完成,所有人员都保存相同的账本,大家地位相同。如果任何一个记账员尝试更改已经记录下来的数据或操纵数据库,则必须征得全部记账节点51%以上的同意方可,这几乎是一项不可能的工作。
不过问题也随之而来,多个记账员都在同时记账,到底以谁的为准呢?中本聪使用的是最大工作量证明(Proof of Work)来解决记账问题,这个问题本质上是如何在分布式网络中达成“共识”。工作量证明是在区块里增加一个随机数,只有反复尝试才能找到这个值,而这个尝试过程就是耗费工作量的过程,谁先完成这个工作量谁就获得记账权。随着新区块连接到该区块之后,改变这个区块所需要的工作量也将包括重新完成其后所有区块的工作量,这使得区块链具备“不可篡改”的特征。
看得出来,这里的“不可篡改”不是绝对的,而是相对的,即虽然理论上存在51%以上算力攻击的可能性,但实际操作过程中不可能有谁具备如此强大的算力来更改已经记录下来的区块链数值。
最后一个问题是:大家为什么会有创建区块的动力?这些复杂的计算无疑要耗费很多成本,包括计算机、带宽、电力等。中本聪给的解决方案是给记账者支付相应的报酬,那就是“比特币+交易费”,最初每增加一个区块可以获得50 BTC,每21000个区块奖励减少一半,以每个区块的创建时间10分钟计算(这个速度是中本聪在创建比特币系统之初约定的),大约每4年减半。整个系统创造的比特币数量最高将达2100万枚,最后一个比特币应该在2140年左右被创造出来。
从比特币的运行机制来看,中本聪并没有发明什么新技术,而是将各种已有的技术组合在一起来解决经济领域的问题,最终创造出了如图4.3所示的一种全新范式。在这个范式中,他使用时间戳、哈希算法、PoW共识算法、广播机制等技术实现了类似于现实社会中现金一样的“电子现金系统”,最重要的是,这种“电子现金”不需要第三方背书。

图4.3 比特币逻辑结构
根据以上这些原则,2009年1月3日,中本聪在位于芬兰赫尔辛基的一台服务器上创建了比特币的第一个数据区块,被称为“创世区块”。当然,按照中本聪自己制定的游戏规则,他也获得了50枚比特币的奖励,这也是世界上最早的比特币。从这一刻开始,在比特币的账本上,每隔约10分钟[7],便会增加一个新的数据区块,同时产生新的比特币。
2010年5月21日,美国佛罗里达州一位名字叫作Laszlo Hanyecz的程序员用1万枚比特币购买了价值25美元的比萨饼优惠券,开启了比特币价值的初始化,即0.0025美元/枚。
殊不知,这一万枚比特币放到今天价值可高达1.9亿美金(2022年10月1日收盘价格为19312.09),最高时可达6.8亿美金之巨。

图4.4 比特币价格趋势
而中本聪这位神秘的比特币发明者,却在比特币发行3年之后的2011年11月隐匿山林,从此再也没有在网络上出现过,终成一位永远匿名的传奇人物。