对比特币的常见疑问 | 第十章 |
在第八章里,我们讨论了比特币运行的经济学基础。在第九章里,我们又对比特币的其他主要潜力进行了探讨。本章,我们尝试回答一些常见和突出的问题。
挖矿是浪费资源吗
每一个加入比特币网络的成员都会生成自己的地址和私钥。它们可以类比为电子邮件地址及其密码:人们可以向你的公开地址发送比特币,你要使用私钥才能从你的比特币余额中向外发送比特币。比特币地址也可以通过二维码的形式呈现。
发生一笔交易的时候,发送者将这笔交易广播给全网其他成员(节点),其他成员会验证发送者是否有足够的余额,以及这笔交易涉及的比特币是否在其他交易中重复支出。一旦这笔交易通过了多数节点的确认,就会被添加到全网用户共享的大账本中,所有用户都会同步更新交易双方的“账户”余额。对网络节点来说,验证这些交易的有效性非常简单。因此,采用一人一票的方式验证交易是不安全的,黑客可以布置大量虚假节点,验证虚假交易。只能根据网络成员消耗的算力,换句话说,只有采用工作量证明机制(PoW),比特币才能在不依赖第三方的情况下解决双花(双重花费)问题。
从本质上讲,工作量证明就是让网络成员竞争解决难以解出却易于验证答案的数学问题。在约10分钟内被验证过的比特币交易会被节点打包进一个区块中,某个节点会将区块添加到比特币总账本上,即比特币区块链上。节点为了获得添加区块的权利而竞逐工作量证明的有效解,一旦有节点算出了有效的解,便会立刻将这个解广播给其他网络成员,他们可以快速验证这个解是否有效。一旦节点提交的区块和工作量证明的有效性得到了多数网络节点的认可,这个节点就会得到一定量的比特币。系统发放的比特币被称作“区块补贴”,这是增加比特币供给的唯一途径,就像挖矿是增加黄金供给的唯一途径一样,正因如此,该获取新币的过程被称作“挖矿”。除了区块补贴,首先完成工作量证明的节点还会获取该区块包含的交易手续费。区块补贴与交易手续费之和就是区块奖励。
节点竞相进行工作量证明,乍看起来似乎是对电脑计算能力和电力的浪费,然而工作量证明对比特币的运行至关重要。要使数字商品具备可靠的较高的生产成本,迄今为止,仅有工作量证明一途。正是因为要消耗电力和算力才能产出新币,比特币才有可能成为硬通货。只有求解工作量证明需要消耗大量的算力和电力,扩大算力的节点才有强烈动机不在自己的区块内打包无效交易。验证交易和工作量证明有效性的成本远远小于求解工作量证明的成本,因此,如果节点试图在区块中混入无效交易,几乎肯定会遭到失败,使之前参与工作量证明花费的算力成本有去无回。
工作量证明使打包区块的成本极其高昂,同时验证区块有效性的成本极其低廉,这样就几乎消除了任何人创建无效交易的动机。如果有人试图这么做,只会白白浪费电力和算力,而得不到区块奖励。因此,比特币可以理解为是一种技术:它通过算力的消耗,将电力转化为真实的交易记录。节点消耗了电力换来了比特币奖励,因此它们有强烈的动机维护比特币的完整。由于对诚实节点的经济激励,从诞生到今日起,比特币账本都不曾有过纰漏,针对已确认交易的双花攻击从未成功。实际上,比特币账本的这种完整性并不依赖任何一方的诚实。比特币完全依赖验证,无须相信任何人。
攻击者需要掌握全网的大部分算力,才能在比特币账本中插入虚假交易。网络中的诚实节点完全没有这么做的动力,因为这将破坏比特币账本的完整性,降低收到的区块奖励的价值,浪费他们投入在挖矿上的电力和资源。所以攻击者的唯一希望是,自行掌握超过全网算力50%的算力资源,自己验证自己的欺诈行为,并将它写入比特币账本,假装这是一笔有效的交易。在比特币诞生的早期,全网算力非常小,这种事情尚有可能出现。可是,由于当时比特币网络的经济价值并不存在,或者说微不足道,因此也并未吸引这样的攻击。随着比特币网络的成长,用户带来的算力越来越多,攻击的成本变得不可同日而语。
网络节点可以通过验证打包交易获得的区块奖励,因此掌握算力有利可图。截至2017年1月,比特币网络的全网算力约等于2万亿台消费型笔记本电脑算力的总和,这个数字大于世界上最大超级计算机算力的200万倍,大于全世界排名前500的超级计算机算力总和的20万倍。通过直接将算力货币化,比特币已经成为全世界最大的单一用途的计算机网络。
促进算力增长的另一个因素是,验证交易和解决工作量证明问题的,已经从个人电脑转向了专用的矿机,这些矿机为比特币软件达到最佳运行效率而专门设计。ASIC(Application Specific Integrated Circuits)矿机最早出现于2012年,它们的部署更加提高了比特币网络中算力的效率,使用ASIC,没有任何电力会被浪费在与比特币计算不相关的计算单元中。矿机组成的全球分布式网络守护着比特币账本的完整。除了验证交易和解决工作量证明,这些矿机并没有其他的用途。如果比特币因为某种原因而失败,矿机将变得毫无用处,投资者的投资将会泡汤,因此他们有强烈的动机维护网络的完整和可信度。
如果有人想要篡改比特币网络的交易记录,他需要先行投入至少上亿美元,开发新的ASIC芯片。就算有人成功地篡改了交易记录,他也不大可能得到任何好处,因为由于他的攻击,比特币网络的价值会大幅下跌,乃至归零。换句话说,为了摧毁比特币,攻击者需要付出极大的成本,却不会得到任何回报。事实上,即使这样的图谋成功了,网络上的诚实节点也可以及时回滚到攻击发生的区块之前,让网络继续运行起来。然后,攻击者需要继续投入巨大的成本,攻击诚实节点的共识。
在比特币早期,用户运行节点发送自己的交易,同时验证彼此的交易,实际上每个节点既是钱包又是验证者/矿工。但随着时间的推移,这些功能被分开了。现在,ASIC芯片被专门用于验证交易和获取区块奖励(这也是为什么它们常被称作矿机)。节点运营商可以产生无限的钱包,供企业为用户提供方便的钱包服务,让用户不需要运行节点或者花费算力就可以收发比特币。从这个意义上说,比特币虽然不再是纯粹的对等节点之间的点对点网络,但是网络仍然由大量节点构成,网络的运行不依赖任何一方,网络去中心化和分布式的本质完整地保存了下来。此外,正是由于挖矿专业化,才使网络背后的算力成长到今天这样惊人的规模。
在早期,比特币几乎还没有价值的时候,网络曾经很容易被黑客劫持或摧毁,但是随着网络具备了一定的价值,人们就可以免于这种担忧了。比特币网络的价值升高了,可能使其对攻击者更有吸引力,但与此同时,攻击成本的上升也更加明显,结果就是没有任何攻击真的成功。换一个角度看,也许对比特币网络的真正保护是,在任何时候,网络代币的价值完全依赖网络的完整性。任何成功修改了区块链的、盗了币的、双花成功的攻击,都会让网络成员觉得,比特币网络不再安全,从而显著降低使用比特币网络和持币的需求,造成比特币价格的崩溃,攻击者最终得不到好处。换句话说,比特币的护甲不仅是攻击成本高昂,还有很重要的一点是,攻击成功会让攻击者的战利品一文不值。作为一个完全自愿的系统,只有网络是可信的,系统才能运作,不然人们就会丢弃它。
算力的分散、代码的强抗更改性、稳如山的货币政策,是比特币存活下来并成长到今天这个规模的原因。新接触比特币的人很难想象,比特币发展到今天攻克了多少逻辑和安全方面的挑战。互联网为黑客创造了无尽的机会,他们出于兴趣或利益攻击各种网站和网络,世界各地的计算机网络和电子邮件服务器每天都被曝出这样那样的安全漏洞,这些系统能给攻击者提供的不过是数据或政治加分的机会而已,比特币则是价值巨大的资产,这样一想,比特币今天的成就就更惊人了。比特币网络价值巨大但是能够持续安全稳定运行,是因为它从一开始就是在高度敌对的环境中运行,长期面对着无情的试炼。世界各地的程序员和黑客曾试图以各种方法挑战它,但比特币兀自屹立。
失控:为什么没人能改变比特币
“比特币的本质决定了,自0.1版本发行以后,其核心设计便已固定,永远不会被改变。”
——中本聪,2010年6月17日
迄今为止,比特币的抗逆性(resilience)并不仅体现在成功击退了外来的攻击,还体现在有力地抵制了任何改变比特币、更改比特币特性的企图。大多数怀疑论者尚未充分认识到这一表述的力量及其含义。如果将比特币比作一家央行,它将是全球最独立的央行;如果将比特币比作一个国家,它将是世界上主权最高的民族国家。比特币的主权源于这个事实:所有人都知道,比特币的共识规则决定了没有人可以左右它。毫不夸张地说,没有人能控制比特币,人们唯一的选择就是,按原样使用它,或者不使用它。
这种不可变性并不是说比特币软件无法更改,对任何具备编程能力的人来说,改变它轻而易举;这种不可变性源于比特币作为一种货币和网络的经济学效应,改变的难度在于让全网的每一个用户都接受同样的修改。比特币是开源软件,允许个人运行节点连接到比特币网络。比特币最初是由中本聪与已故的哈尔·芬尼和其他一些程序员合作开发出来的。自那时起,任何人都可以自由下载和使用该软件,并对其进行修改。开源属性创造了一个自由竞争的市场,任何人都可以自由地对软件进行修改或改进,并将其提交给用户使用。
长期以来,来自世界各地的数百名计算机程序员自愿花时间改进节点软件,改进单个节点的功能。这些程序员完成了很多不同的实现,其中最受欢迎的被称作“比特币核心”(Bitcoin Core)。除了比特币核心,用户也可以使用其他开发者完成的比特币软件接入比特币网络,也可以自由地修改源代码。节点加入比特币网络的唯一要求是,遵守其他节点共同使用的共识协议。如果违反共识规则,改变区块链结构、交易有效性、区块奖励或任何其他系统参数,该节点提交的交易会被所有其他节点拒绝。
定义比特币参数的过程正是苏格兰哲学家亚当·弗格森(Adam Ferguson)所说的“人类行为的产物,而非人类设计的产物” 的绝佳例子。中本聪和哈尔·芬尼等人在2009年1月完成了比特币的工作模型,但从那以后,比特币又有了长足的发展。通过数千运行节点的选择,数百名开发人员的贡献,比特币代码发生了显著变化。没有中央权威机构决定比特币软件如何发展,也没有哪个程序员能够决定任何结果。实践证明,某项改进被采纳的关键是遵循原始设计的参数。就变化而言,比特币软件的改进更多可以被理解为,改进了单个节点与网络的交互方式,而不是改变了比特币网络或其中某一项共识规则。详细讨论这些超出了本书的主旨,可以简而言之:如果某项改动使某节点与其他节点不一致,则需要所有其他节点均进行更新,发起更改的节点才能继续留在网络上。如果有一批节点集体采用新的共识规则,而其余节点并不跟进,就会出现所谓的硬分叉。
尽管他们很出色,但比特币的开发者并不能控制比特币,只有他们提供的软件获得节点的使用,才能说开发者一定程度上可以影响比特币。不仅开发者不能控制比特币,矿工也不能,无论其掌握多少算力。无论矿工在无效区块上浪费多少算力,也不会获得大多数网络节点的认可。如果矿工试图改变共识规则,他产生的区块只会被其他网络成员忽略,从而白白浪费算力,一无所获。只有矿工按照现有的共识规则打包只包含有效交易的区块,才能说矿工在一定程度上可以影响比特币。
既然开发者和矿工都不行,似乎可以说,运行节点的人控制着比特币。然而,这种判断只在高度理论化的语境下为真。事实上,每个节点运营者只能控制自己的节点,决定自己加入哪一个网络协议,决定自己认为这些交易有效还是无效。节点在选择共识规则时并不能放飞自我,因为如果选择了与全网不一致的共识规则,自己就会被网络拒绝。因此,所有节点的强烈偏好就是保持共识规则不变,并与运行该共识规则的其他节点保持兼容。任何一个节点都无力强迫其他节点更改代码,于是就造成了强烈的维持现有共识规则的集体共识。
总言之,比特币的开发者如果想让他们的代码被接纳,最好保持原来的共识规则不变;比特币矿工如果想获得回报,不浪费挖矿付出的成本,最好的选择也是遵守原有的共识规则;网络用户如果想让自己的交易顺利结算,最好的选择也是维持原有的共识规则不变。任何一个开发者、矿工或节点都不是比特币不可或缺的,如果偏离了共识规则,最可能的结果就是浪费自己的资源。只要比特币网络为参与者提供正向激励,就没有谁不可替代。因此,从这个角度看,这些共识特征就是比特币主权的体现,比特币在多大程度上依然是比特币,正取决于这些特征和规范。比特币这种非常强烈的现状偏好,使改变它的供给或其他重要经济参数极其困难。正是由于这种稳定的均衡,比特币的硬通货属性才获得了认可。如果比特币偏离了这些共识规则,它硬通货的地位也将严重缩水。
据笔者所知,到目前为止还没有试图改变比特币货币政策的重大联合行动,不仅如此,一些更简单、更直接的、试图更改比特币某些技术参数的尝试也都失败了。一些看似无害的技术改进也很难推广,原因就在于比特币网络的分布式特征。需要互不相关甚至利益冲突的各方共同同意,一项改动才能得以实施。参与者越多,越难让大家都能理解一项改动的意义,因此获得共同同意也就越难。对大家来说,现在的状态经过了反复的测试,安全而熟悉、稳定而可靠。比特币的现状可以被理解为稳定的谢林点(Schelling Point),激励所有参与者坚持下去,放弃会带来巨大的损失风险。
如果比特币网络的一些成员决定通过引入新版本的比特币软件,改变比特币代码的某些特征,而这种新的比特币软件又与其他网络成员不兼容,结果将会是分叉,实际上会创造两种不同的货币和网络。只要有人愿意继续使用原来的旧网络,他们就会受益于现有的网络基础设施、挖矿设备、网络效应、知名度等。新的分叉想要取代旧网络,就必须让用户数量、算力以及所有相关的基础设施同时压倒性地迁移过去。如果不能获得压倒性的多数,最有可能的结果是,出现两种比特币。如果分叉背后的人希望胜出,他们就必须卖掉原有网络上的比特币,并且希望所有人都这么做,这样旧网络的比特币就会价格下跌,而新分叉上的代币会价格上升,从而驱动更多的算力和经济活动从旧网络转移到新网络上来。但是,对比特币任何特征的任何修改,都只可能是对一些人有利同时对一些人不利,因此不太可能所有人达成一致,一起转移到新网络上去。从更广义上讲,多数人持有比特币的原因,是比特币自动完成交易且不受第三方的影响。这样的人不太可能冒险,不太可能将对网络进行修改的裁量权交给提交不兼容代码的组织。争辩谁才是多数并无实际意义,重要的是,只要一批坚持原有网络规则的人存在,就能保证现有的系统特性一直保持下去(除非出现不可知的原因破坏了系统的运行)。
除非当前设计出现灾难性的故障,否则可以肯定的是,将有相当大比例的节点选择继续使用现有的比特币实现方式,对任何人来说,这都比使用分叉网络安全得多。使用分叉网络的问题在于,要帮助分叉网络成功,就不得不卖掉你在原来网络上的比特币。任何人都不愿意看到的是,自己卖掉了旧网络上的比特币,来到了新网络,却发现身后的跟随者寥寥无几,新网络上的代币价格暴跌。简而言之,如果没有绝对多数的人愿意集体转移,就不可能有新的共识规则实现,而没有绝对多数共同支持,参与新网络的各方几乎一定会面临经济上灾难性的后果。如果任何新的转向获得成功,都会让这一转向的发起方获得对比特币未来发展方向的极大话语权。不过,想要成功,前提是必须获得广大持币者的支持,而持币者可以说打心眼里就反对比特币出现任何形式的权威,因此他们几乎不可能支持这样的转向。这些持币者群体的存在,使得对任何其他人来说,支持分叉都特别危险。以上分析或许可以解释为什么迄今为止比特币拒绝了所有试图大幅改变它的尝试。协调利益对立的人做出步调一致的行动是非常棘手的,尤其是这中间有很多人出于自身立场极为坚持比特币的不可改变性。除非未来出现什么不可抗力,让人们不得不放弃现行的比特币实现方式。
举例来说,比如某个修改可以增加比特币新币发行的速率,增加矿工得到的挖矿奖励,矿工可能会喜欢这个提议,但是现有的持币者应该不会喜欢,所以持币者不大可能同意这样的修改。与此类似地,如果提议增加比特币网络的区块大小,对矿工是有利的,这样的话,矿工可以在一个区块中打包更多的交易,收到更多的交易手续费,从而使投资挖矿的收益更大。但是,长期持币者不大可能支持这种修改,他们会担心更大的区块会让整个区块链的体积过于庞大,使运行全节点的成本太昂贵,因此降低全网的全节点数量,使网络变得中心化,更加易受攻击。开发者开发比特币节点运行的软件,却无法将改变强加给任何人。他们只能提交代码,用户自由选择下载喜欢的代码和软件版本。跟现行的比特币实现兼容的代码会比不能兼容的代码更容易得到用户的认可和下载,因为不能兼容的代码要等到全网压倒性多数的用户都使用它的时候才能有效。
因此,比特币表现出了极强的现状偏好。迄今为止,发生的都是一些微小的没有争议的更改,每次试图大规模改变比特币的尝试都以彻底失败而告终。这令比特币的长期持币者感到高兴,因为他们最看重的就是比特币的不可改变性和对改变的抵抗力。在这些尝试中,最令人瞩目的就是“扩容”(增加单个区块的大小,以增加网络交易承载量)的尝试。先后有过数个试图扩容的项目,它们争取到不少杰出的和早期的比特币参与者为其摇旗呐喊,也极力争取公众的支持。加文·安德烈森(Gavin Andresen)是与比特币有关的知名度最高的人物之一,他与许多利益相关者(包括一些技术精湛的开发者和财力雄厚的企业家)一起,非常积极地推动了几次让比特币拥有更大区块的尝试。
最初,加文·安德烈森和一名叫麦克·赫恩(Mike Hearn)的程序员于2015年6月提出了“比特币XT”(Bitcoin XT),目的在于将比特币的区块大小上限从当时的1MB增加到8MB。但是,大部分节点更倾向于保持1MB的区块大小,拒绝升级。之后,麦克·赫恩被一个“金融机构区块链联盟” 雇用,以将区块链技术应用于金融市场,同时《纽约时报》上发表了对麦克·赫恩不吝赞美的文章,称他是拼命试图挽救比特币的英雄,由于英雄得不到认可,比特币已经不可挽回地走向失败。赫恩宣称“比特币实验已经失败” ,交易承载能力增长乏力是比特币的致命障碍,并宣布他已经卖出了所有的比特币。当时比特币的价格是350美元,两年过去了,比特币的价格又上涨了40倍不止,而他加入的“区块链联盟”什么都没干出来。
加文·安德烈森并没有善罢甘休,随即提议以“比特币经典”(Bitcoin Classic)之名进行新的分叉,还是要将区块大小提升至8MB。这一尝试同样没有成功。到2016年3月,支持比特币经典的节点数开始减少。接下来,大区块一族在2017年又一次聚集在“比特币无限”(Bitcoin Unlimited)的旗帜下,这一次声势更为浩大,他们中有世界上最大的矿机生产商,有控制着bitcoin.com域名的超级富豪,他们花费了无数资源推动大区块运动。媒体大肆炒作,对所有关注主流媒体和社交媒体上比特币新闻的人来说,危机感扑面未来。然而,事实是,大区块一族依然没有成功,大多数节点继续运行1MB版本的比特币。
最终,2017年8月,大区块一族以“比特币现金”(Bitcoin Cash)之名硬分叉出一个分叉版的比特币。比特币现金生动展示了没有得到极大共识的分叉币的命运。大多数人选择留在原有的比特币网络上,整套经济的基础设施也集中在原有的比特币网络上,比特币的价值远高于比特币现金,比特币现金的价格持续下跌,到2017年11月,不足比特币的5%。比特币现金不仅无法取得经济上的价值,严重的技术问题还使它几乎无法使用。既然新链和比特币使用相同的哈希算法,矿工就可以在两条链上挖矿,从两边获取挖矿奖励。比特币的价值远高于比特币现金,挖比特币的算力比挖比特币现金的算力多得多。但是,一旦比特币现金的挖矿收益率升高,就会有大量的比特币算力切过来。这给比特币现金带来了不幸的两难困境:如果挖矿难度太高,就会算力泄出,长时间无法挖出区块,交易无法获得确认;如果挖矿难度过低,就会算力涌入,挖出区块太快,货币供给增加过快。比特币现金的供给速度快于比特币,将会导致比特币现金的挖矿奖励很快被耗尽,未来无法吸引矿工。更可能的是,将导致比特币现金不得不继续进行硬分叉,调整供给增速,以期获得挖矿激励的可持续性。只有比特币的分叉币会面临这个困境,比特币本身不会。比特币挖矿一直都吸引着最多的算力,随着矿工购入更多的挖矿设备,算力还在持续递增。但是对比特币的分叉币来说,价值较低,挖矿难度也较低,总是很难抵抗来自更高价值链的算力蹂躏。
比特币现金试图发起挑战,证明谁才是真的比特币,它失败了。另一个由活跃在比特币经济圈的很多初创公司协商的,试图将比特币区块大小增大一倍的分叉企图,在2017年11月被取消了,这是因为它的推动者们认识到,他们不大可能获得网络上的压倒性支持,最终极有可能以另一个分叉币和分叉网络收场。经过事实的反复教育,比特币的支持者们开始对这样的企图不屑一顾,他们知道,无论怎样炒作,任何改变比特币共识规则的尝试都将导致另一个山寨比特币的诞生,就像所谓的“竞争币”(Altcoin),不管抄袭了多少细节,都抄不去比特币最重要的特征——不可变性。通过以上分析我们可以认识到,比特币的优势不在于速度、便利性或友好的用户体验,比特币的价值来自无人可以改变的不动如山的货币政策。任何一群人试图改变比特币的某个特征分叉出一个新币,在这个币诞生的那一刻,就失去了比特币最具价值的根本属性——不可变性。
比特币易于使用,但几乎无法改变。使用比特币是完全自愿的,没有人是被强迫使用比特币的,一旦你选择使用比特币,就必须遵守它的规则。比特币几乎不可能发生实质性的改变,任何尝试,都无非是再增加一个毫无意义的假货。比特币就是比特币,你只能完整接受它的一切,遵守它的规则,使用它提供的服务。就所有的实际意图和目的而言,比特币是至高无上的:它按照自己的规则运行,没有外人能改变这些规则。甚至可以把比特币的参数想象成类似于地球、太阳、月亮或星星的旋转,这些都是我们无法控制的力量,它们是存在的,而不是被改变的。
反脆弱性
比特币是纳西姆·塔勒布提出的“反脆弱性”概念的具体体现。所谓反脆弱性,塔勒布将其定义为某种事物能从逆境和混乱中获益的特性。比特币不仅有强大的抗攻击能力,可以说,不论从技术还是从经济角度看,比特币还都具有反脆弱性。迄今为止,所有试图杀死比特币的尝试都失败了。而且,由于这些攻击,开发者得以发现代码中的弱点并加以改进,使比特币变得更强大。每次失败的攻击都是比特币的荣耀,都在向参与攻击的人证明比特币的强大,向围观的人宣传比特币网络的安全。
由有志愿的软件开发人员、代码评审人员和黑客组成的全球团队致力于改进和加强比特币的代码和网络,他们将自身专业上、财务上和智识上的贡献注入其中。在代码中发现的任何漏洞或弱点都将吸引一些开发者的注意,他们会提出解决方案,讨论、测试,然后提交给其他网络成员使用。迄今为止,比特币网络发生的所有改进都是执行层面上的,都只是让网络更有效率,而没有改变比特币运行上的基本特质。比特币的世界不需要利益回避,开发者也可以拥有比特币,因此,出于自身的经济考虑,开发者也会全力保证比特币的发展和成功。一路走来,比特币从胜利走向胜利,这个过程中开发者也获得了经济回报,这些回报让他们可以投入更多的时间和精力维护比特币网络。一些知名的比特币开发者已经通过投资比特币获得了足够的财富,他们可以将比特币作为主要职业,无须为别人打工。
从媒体的角度看,比特币简直是格言“所有新闻都是好新闻”的生动诠释。比特币是一种不易理解的新科技,同很多不易理解的新科技一样,媒体对比特币的报道常常不那么准确,有时候还会完全敌视。网站99bitcoins.com收集了超过200篇近些年出现的宣布比特币死亡的文章。一些作者发现比特币和自己的认知——通常是货币国家理论或者凯恩斯式货币弹性供给的重要性——完全冲突,但是拒绝思考一下有没有可能错的是自己。相反,他们因此得出结论,比特币的存在是错误的,它将会很快死亡。另一些人则坚信,比特币需要变革才能在成功的道路上继续前进,当无法让比特币按照自己希望的方式进行改变时,他们得出结论:比特币一定会死亡。这些人写了攻击比特币的文章,让比特币引起了更多人的注意。讣告越来越多,比特币的算力、交易和市场价值也越来越多。很多比特币爱好者,包括作者本人在内,正是由于看到在媒体的反复唱衰下,比特币非但没死,反而不停再起,其势更烈,才产生了深入了解比特币的兴趣,继而认识到比特币无与伦比的重要性。比特币讣告无力阻止比特币的发展,它们的作用似乎只是为比特币做了更多的宣传,让公众意识到,尽管有这么多负面报道,比特币仍在继续,从而唤起人们的好奇心。
2013年秋天,美国FBI逮捕丝绸之路网站创建者的事件,就是比特币反脆弱性的极佳例子。丝绸之路是一个黑市购物网站,允许用户买卖任何东西,包括非法药物。当时,在公众心目中,比特币总是与毒品、犯罪联系在一起,因此大多数人预测,随着丝绸之路的关闭,比特币将再无用武之地。当天,比特币的价格从120美元左右跌至100美元左右,不过很快就反弹了回去,并且在随后的几个月里开启了一段波澜壮阔的上涨,最后达到1200美元的高位。直到此书写作时,比特币的价格从来没有跌回丝绸之路关闭时的水平。比特币在丝绸之路关闭事件中安然无恙,足以证明比特币绝不是一种只能用于犯罪活动的货币。
比特币具有可扩展性吗
在本书撰写的当下,围绕比特币最热的争议之一就是扩容问题,或者说增加交易承载能力的问题。比特币1MB的区块容量上限意味着每天全网可以处理约50万笔交易。比特币网络的交易量早已达到了这个水平,由于区块大小没有增加,结果就是,手续费水涨船高。一种叫作隔离见证(SegWit)的技术升级可能会使网络处理交易的能力增长4倍,但无论如何,人们越来越清楚地认识到,由于比特币去中心化和分布式的本质,比特币网络处理交易的能力会有上限。每笔比特币交易都会记录在每个比特币全节点上,每个全节点都要存储全完整的交易账本。这种必要性意味着,与任何中心化的解决方案相比,比特币存储交易的成本都高得多,因为中心化的解决方案只需要一份记录和几个备份就够了。最高效的支付处理系统都是中心化的,其优点是:存储一个中心化的记录比存储多个分布式记录便宜得多,而且分布式存储还要操心如何同步更新的问题,这个问题迄今为止只有通过比特币的工作量证明可以解决。
中心化的支付解决方案,比如Visa和万事达卡(MasterCard),使用的是记录所有交易的中心总账和完全隔离的备份系统。Visa每秒可以处理约3200笔交易,折合每年约1008亿笔交易。当前,比特币1MB大小的区块上限意味着每秒最多处理4笔交易,也就是每天35万笔,每年1.2亿笔。如果比特币像Visa那样每年处理1000亿笔交易,每个区块会膨胀到大约800MB,这意味着每10分钟,每个比特币节点需要增加800MB的数据。一年后,每个比特币节点要增加约42TB或42000GB的数据。这个数字完全超出目前或可见的未来消费级计算机的处理能力。普通的消费级计算机,或者一般的外接存储设备,容量大约是1TB,只能存储Visa大约一周的交易数据。换个角度,研究一下Visa处理交易的电脑设备也是有意义的。
2013年的一份报告显示,Visa拥有一个被称作“数字诺克斯堡”的数据中心,其中包含376个服务器、277个交换器、85个路由器、42个防火墙。显而易见,Visa的中心化系统存在出现单点故障的风险,因此它使用大量冗余和备用容量保护自己免受不可预见事件的伤害。对比特币来说,许多对等节点的存在意味着每个节点都不是必不可少的,因此对单个节点的安全性和容量要求没有这么高。倘若每年增加42TB数据,将要求节点配备非常昂贵的计算机,而且所需的网络带宽也是巨大的成本,对一个分布式网络来说,这些要求显然过于复杂和昂贵,是不可行的。
这样的数据中心目前世界上只有为数不多的几个,它们都是Visa、万事达卡和其他支付服务商建立的。假如比特币试图获得这个级别的交易承载能力,就需要建立几千个类似规模的分布式节点,这是不可能的,最后的结果必然是中心化,变成另一个Visa。为了保持比特币的分布式特质,必须保证在比特币网络上运行节点的成本是可控的,成千上万的人可以在个人商用电脑上运行,并且日常的商用带宽可以支持节点之间的数据传输。
让比特币的链上交易规模与中心化支付系统媲美,是不可想象的。正因如此,随着比特币的发展,交易手续费一直在上升,而且极大可能会继续上升下去。比特币最大的扩展空间并非在链上,而是在链下,对小额支付和普通支付来说,有很多更简单的技术可用,而且不会让比特币之所以能够吸引大量算力的两个最重要属性——数字硬通货和数字现金——受到损害。没有其他技术能够实现数字硬通货和数字现金的功能,但是有很多技术可以低成本地实现小额支付和普通支付。技术选择也非常简单,现有的银行技术就可以相对可靠地完成。考虑到比特币交易需要经过几分钟到十几分钟乃至几十分钟才能得到第一次确认,将比特币大规模用于商业支付甚至不太可行。商家和客户不太可能为一笔支付等待那么长的时间。对于一次小额支付来说,双花的风险可以忽略,但是对于每天接受很多笔支付的商家来说,双花的风险不可不防。就像我们将在后面如何攻击比特币的小节中会给出的比特币骰子(BetCoin Dice)的例子。
对于那些将比特币用作长期价值存储的人,或者想避开政府管控进行重要交易的人,较高的手续费是可以接受的。存储本身意味着不需要频繁交易,手续费较高也无大碍。对于无法通过银行系统进行的交易,比如有人想让自己的资金免受通胀和资本控制的影响,比特币较高的交易手续费也是可以接受的成本。尽管当前全社会对比特币的接受程度还比较低,但数字硬通货和数字现金的需求已经推高了比特币的交易手续费,使其在小额支付上与中心化的解决方案(如PayPal或信用卡)相比并无优势,但是,这并没有限制比特币的成长。这说明,比特币的市场需求是其数字现金和数字价值存储的用途驱动的,而不是小额数字支付的用途驱动的。
如果比特币的普及程度继续增加,自然会有一些扩容解决方案浮出水面,这些解决方案不会改变比特币的架构。比如,可以利用比特币的交易构成方式来增加支付笔数。一笔比特币交易可以包含多个输入和输出,使用一种叫作“混币”(CoinJoin)的技术,多笔支付可以被整合进一笔交易中,从而减少对空间的占用。使用这种技术,比特币网络每天支持的交易数量有可能上升到数百万笔。随着交易手续费越来越高,该技术可能会受到更多欢迎。
另一种可能的扩容方式是数字移动USB钱包,这些钱包可以加入物理防篡改机制,能随时核对余额。这种USB硬件可以携带一定数量比特币的私钥,持有者可以随时将钱转出。它们可以被当作物理现金使用,每个持有者都可以随时验证里面的余额。
比特币不断上涨的价格说明,手续费的上升并没有减缓人们对比特币需求的增长,还说明,相对于为交易支付的成本,人们更看重交易本身。交易手续费并没有阻碍比特币的传播,所带来的只是不重要的交易被移到链下,链上的交易更加重要。比特币重要的用途是价值存储,以及支付难以追踪,对这些用途来说,手续费不过是毛毛雨。对长期持币的人来讲,一次性的小额交易费用是意料之中的,与交易佣金和卖方溢价相比,这笔费用通常显得微不足道。对于试图绕开资本管制或者向经济困难的国家输送资金的人来说,这笔手续费就更值了,因为它是唯一的选择。当比特币的普及程度进一步升高,交易手续费上升到影响人们支付行为的程度,经济压力会驱使人们更多地使用上面提到的扩容方法,在不损害网络规则和不导致分叉的前提下,增加比特币网络的交易承载能力。
抛开上面讲的可能的方案不谈,其实,今天大部分比特币交易都是在链下进行的,只是在链上进行最终结算。比特币相关的商业活动,比如交易所、博彩或游戏网站,仅在用户出入金的时候使用一下比特币区块链,用户在平台内的交易都是以比特币计价记录在本地数据库上。由于企业数量庞大、缺乏公开数据以及比特币经济的快速变化,这些交易的数量无从精确估计。保守估计,其数量应该是比特币链上交易的10倍以上。事实上,比特币已经成为比特币经济中大多数交易的储备资产。如果比特币继续增长,那么很自然地,链下交易的增长速度将快于链上交易。
以上分析或许和认为比特币将完全取代银行和银行业的看法相悖。不要说全球数十亿人,即便是区区几百万人,仅仅直接通过比特币网络进行所有的交易也是不现实的,因为这意味着每个网络成员需要记录其他人的所有交易。随着交易数量的增长,记录会越变越大,变成严重的计算负担。此外,比特币作为价值储存手段的独特属性,会使人们对它的需求持续增长,使它很难以纯粹的点对点网络的形态生存下去。比特币要想继续增长,就必须有链下的支付解决方案,当前,这种解决方案正在从竞争激烈的市场中涌现出来。
银行作为一个机构之所以不会消失,还有一个重要原因,就是银行托管的便利。虽然许多资深的比特币爱好者极为珍视财富不依赖金融机构而真正掌握在自己手中的自由,但绝大多数人并不想要这种自由,他们更倾向于不必亲自保管财物,更喜欢免于被盗窃的风险和被绑架的恐惧。如今,尤其是在比特币圈子里,在非常普遍的反银行氛围中,人们很容易忘记,存款银行是一种合法的业务,几百年来,世界各地的人们都需要这种业务。人们很乐意付费把财富安全地储存起来,这样他们只随身带少量的钱就够了,同时也不必担心财富不翼而飞。继而,银行卡普遍取代了现金,人们随身携带的钱更少了,这可能是现代社会更加安全的原因之一,因为大部分潜在的袭击者意识到他们不可能遇到携带大量现金的受害者,盗窃银行卡很可能劳而无功,因为受害人可以及时挂失。
即使比特币网络无须二层处理方案就能每天支持数十亿笔交易,也会有许多(即便不是绝大多数)币量很大的持币者,最终选择将自己的比特币交给比特币安全托管服务者,这样的服务正在越来越多。比特币安全托管服务是一个全新的行业,很可能获得极大的发展,提供不同级别安全性和流动性的存储技术解决方案。无论这个行业采取何种形式,如何发展,它所提供的服务将塑造未来以比特币为基础的银行体系的轮廓。我无法预测未来的服务将会是何种形态,它们将具备何种技术能力,我只知道,为了获得成功,这些服务很可能使用建立在市场声誉之上的密码学证明机制。闪电网络(Lighting Network)是一种可能的技术。闪电网络技术正在开发中,有望显著提高比特币的交易承载能力。闪电网络允许节点运行链下的支付通道,用比特币账本验证有效余额,而不是验证每笔交易。
在2016年和2017年,交易数量达到了比特币网络每日交易处理能力的上限,但没有阻碍比特币的高速发展,第八章的数据清楚地揭示了这一点。比特币正在通过链上交易的价值而不是数量扩容。越来越多的交易发生在链下,发生在包含比特币业务的交易平台和网站上,比特币越来越变成一个结算网络而不是直接支付网络。然而,常见的解读还是错的,这并不代表比特币不再是现金了。“现金”一词今天的意思是用于小额消费交易的货币,但现金的原意是无记名的,价值可以直接转让,无须第三方进行结算或承担责任的货币。在19世纪,现金是指中央银行的黄金储备,现金结算是指银行间实物黄金的转移。尽管比特币链上交易的数量没有很大提升,但价值和链下交易仍在不断增长。因此,比特币最好被理解成经典意义上的现金,与黄金现金储备类似,而不是现代意义上用于小额支付的纸币。
总之,有多种无须改变比特币的现有架构,也无须要求所有节点同时升级,但是可以增加网络交易承载能力的可能性。扩容解决方案来自节点改进向其他网络成员发送比特币交易数据的方式,来自合并交易、链下交易和支付通道。链上扩容方案不大可能满足日益增长的交易需求,因此,二层解决方案的重要性将会越来越显现,也会带来类似于今天银行的新型金融机构的大发展,它们会使用密码学技术,主要在线上运营。
比特币是为犯罪分子发明的吗
从诞生之日起,对比特币最常见的误解就是,这是为犯罪分子和恐怖活动量身定制的工具。很多媒体文章刊登过未经证实的表述,声称恐怖分子或黑帮分子利用比特币获取经济支持。虽然有很多这类文章已经被证伪,但它们却将错误的印象留在了很多人的脑海中,甚至还误导了一些犯罪分子。
事实是,在世界各地都可以获取比特币账本,而且这个账本不可篡改。只要比特币网络还在运行,账本上就会记载发生过的每一笔交易。与其说比特币是匿名的,不如说它是伪匿名(或者说化名或假名)的。虽然不是一定能,但还是有可能在某个比特币地址和某个人的真实身份之间建立联系。一旦联系被建立起来,就可以追踪所有与这个地址有关的交易。当谈到匿名性的话题,将比特币的匿名性与互联网的匿名性做一下比较是很有趣的:它们都取决于你藏的有多好,以及找的人有多认真。不过,在比特币上隐身比在互联网上隐身更困难。你很容易处理掉一个硬件设备、一个电子邮件地址或一个IP地址,再也不使用它,但是你很难完全擦除一个比特币地址上的资金痕迹。就其本质看,比特币的区块链架构根本就不适合隐身遁形。
这就意味着,对于任何有受害者的犯罪行为,罪犯使用比特币都是不明智的。比特币伪匿名的本质意味着地址可以与现实世界的身份联系起来,不管犯罪行为已过去多少年,都不会有最终的安全。即便在多年以后,警察、受害者或任何调查人员还是有可能找到那个地址与某个真人的联系。比特币支付留下的线索已经成为很多线上贩毒者被识别出来的原因,可以说,正是比特币完全匿名的传说让他们失了手。
换句话说,比特币会增加个体自由,但并不会让他们更容易犯罪。比特币不是魔戒,而是和平与繁荣的未来不可分割的一部分。
使用比特币的一种令人瞩目的犯罪类型是勒索病毒:入侵受害者的计算机,加密他的文件,只有受害者支付了赎金(通常是比特币)之后,才能解密。这种犯罪形式在比特币发明之前就有了,比特币的发明只是让这种犯罪实施起来更加方便,很多人认为这是比特币促进犯罪的最好例证。然而,正是计算机安全防护的松懈才让这些这种攻击有机可乘。如果一个公司的电脑系统被黑客锁定,被勒索价值几千美元的比特币赎金,那么这家公司真正暴露出的问题远比这几千美元严重得多。黑客所求可能就是几千美元,但如果公司的竞争对手、客户、供应商拿到了公司的数据,他们的胃口可要比黑客大得多。就实际效果而言,勒索软件会让公司检查和排除电脑安全漏洞。这个过程会让公司采取更好的安全措施,促进安全行业的发展。换句话说,比特币让计算机安全市场货币化,刚开始的时候黑客会从中获利,长期看来,优质企业会掌握最好的安全资源。
如何杀死比特币:新手指南
很多热爱比特币的人对比特币的发展出了准宗教般的信仰,认为无论发生什么事,比特币都会生存下来,庞大的算力和遍布全球的分散节点意味着比特币系统具有极高的稳定性,可以抵抗任何可能的威胁。绝大多数不熟悉比特币的人则往往会认为,比特币终将失败,就像任何数码产品一样,它终有一天会被黑客攻破。一旦了解了比特币系统是如何运作的就会知道,直接“黑掉”比特币是不可能的。但是,对比特币来说,仍旧存在一些潜在的威胁。毕竟,计算机安全是一场永无止境的赛跑,躲在暗处的攻击者总在寻找新的角度。详细罗列并分析所有可能的威胁超出了本书的范围。 这一节我们只分析人们最常提到的,以及与本书的主旨(比特币作为一种健全货币)相关的威胁。
黑客袭击
比特币对攻击的抵抗力源于三个特性:(1)极致简洁的设计;(2)逆天的算力,这些算力除了保护系统的简洁设计,无事可做;(3)分布式的节点,任何改变想要生效,先要取得这些节点的一致同意。想象一下,把美国军队的步兵和装备全部放在一所学校周围,以保护其免受入侵,你就会明白比特币的防御能力有多强。
比特币本质上是一个记载虚拟货币所有权的账本。全世界总共只有2100万比特币,分属几百万个不同的地址,每天会发生不到50万笔导致比特币所有权转移的交易。如果仅仅做一个可以实现以上功能的简易系统,实际上所需的资源非常少。一台100美元的笔记本电脑就能做到,还不耽误上网。比特币之所以没有这么设计,是因为靠一台电脑记录交易的话,就不得不无条件信任电脑的所有者,同时,这台电脑很容易成为攻击的靶子。
所有计算机网络的安全都依赖于,让某些机器无法被攻击者渗透,并将它们的记录作为最终记录。比特币不是这样,它采取了完全不同的做法:它不单独保护所有计算机,并且在所有节点都是恶意攻击者的假设下运行。比特币不建立对任何网络成员的信任,而是验证他们所做的一切。通过工作量证明完成的验证过程要消耗大量算力,这被证明非常有效,因为它将比特币的安全建立在算力的基础上,简单直接,不受任何访问或证书问题的影响。假设每个节点都是不诚实的,无论哪个节点,想要向比特币账本上提交新的区块,都需要付出巨大的成本,如果真有欺诈行为被发现了,付出的成本就将付之东流。比特币的经济激励设计使得不诚实的行为极为昂贵,因此极难成功。
要黑掉比特币,也就是说搞乱交易账本,欺诈性地将某些比特币转到特定账户,或者让比特币账本变得不可用,就需要某个节点在区块链上提交无效区块,并且让网络接受这个无效区块,让区块链在无效区块之后继续延伸。但是,由于在比特币系统中,验证欺诈的成本非常低,而提交区块的成本非常高且持续升高,同时,网络中大多数节点的共同利益是让比特币活下去。所以,这场斗争中,攻击者获胜的概率实在渺茫。随着提交区块的成本继续升高,攻击者获胜的概率愈加渺茫。
比特币设计的核心是,提交新区块的成本和验证区块有效性的成本是极其不对称的。这意味着伪造交易仅仅在理论上可行,在经济激励的面前却寸步难行。因此,比特币区块链构成了迄今为止最无可争议的有效交易账本。
51%攻击
51%攻击是这样一种攻击方式,攻击者使用大量算力,为同一笔比特币生成两笔支付交易,最后,其中一笔交易失效,欺骗收款人。如果某矿工控制着大量算力,他就可以在短时间内率先完成工作量证明。该矿工可以将一笔比特币交易A发送到区块链上,让交易A被打包进比特币区块链,这样,收款人会认为自己收到了款项。同时,他还可以在包含交易A的区块前面分叉比特币区块链,构建一条包含交易B,将同一笔比特币转给另一个地址的分叉链。由于该矿工掌握大量算力,一旦分叉链的长度超过原链,攻击就成功了,交易A的收款人收到的比特币将不翼而飞。
攻击者掌握的算力越多,他让欺诈链超过原链,擦除原有交易并牟利的可能性越大。道理听起来很简单,实际做到却难得多。收款人等待确认的时间越长,攻击者成功的概率越低。如果收款人愿意等待6个确认,攻击者成功的可能性就基本上不存在了。
理论上,51%攻击是可行的,但在实际操作中,比特币系统的经济激励体系让它寸步难行。如果一个矿工成功实施了51%攻击,会严重削弱所有人使用比特币的经济动机和对比特币的需求。现在大量资本被用于挖矿,比特币矿业已经成为资本高度密集的行业,这些资本的回报(比特币)的价值正是取决于网络的完整性,比特币矿业公司会维护自己的长期收益,而不会搬起石头砸自己的脚。迄今为止,从未有任何比特币双花交易得到过确认,更遑论攻击成功了。
针对比特币的最接近成功的双花攻击发生在2013年,当时网站BetCoin Dice,由于双花攻击受到了总额约为1000比特币的损失(按当时的价格折算约为10万美元)。然而,那次攻击之所以成功,很大原因是因为BetCoin Dice接受零确认交易,这样就大大降低了攻击成本。哪怕他们等待一个确认,实施攻击都要困难得多。这也是比特币区块链不适宜大量商业支付的原因:等待新区块以获得一次确认的时间长达10分钟左右。倘若有大型支付服务商为了支付的便捷性,不顾零确认的风险,它又会成为居心不良者利用大算力实施双花攻击的重点目标。
总的来说,如果收款人不多等待几个确认以保证交易的有效性,51%攻击理论上有成功的可能。事实上,在经济激励的作用下,大算力的拥有者不会将自己的算力用于51%攻击。结果就是,所有等待了至少一个确认的人,都没有遭受过51%攻击。
若出于盈利的目的,51%攻击不大可能成功。但这样的攻击未必全是出于盈利的目的,攻击者的目的也有可能就是单纯地摧毁比特币。政府或其他实体也可以修建比特币矿场,获得全网大部分算力,然后用这些设备发起连续的双花攻击,摧毁人们对网络安全的信心。但是,挖矿产业的经济学属性会让这样的攻击无法实现。算力是一个高度竞争的全球市场,比特币挖矿是全世界体量最大、利润最高、增长最快的算力使用场景。攻击者可能会计算一下当前拥有多少算力才能获得51%的算力占比,然后投入相应成本购买矿机。然而,这种大肆购买只会带来设备价格的大幅上涨,现有的矿工会因此获利,在矿业中投入的资本也会更多。大肆采购还会导致矿机生产商加大投资,使单位算力价格降低,全网总算力飙升。作为一个市场的外来者,攻击者不停地购买算力,却永远处在不利位置,因为不属于他的算力增长更快。结果,为攻击比特币而投入的资源越多,比特币的算力增长越快,越难以攻击。因此,还是那句话,尽管技术上有可能,但面对比特币网络的经济属性,攻击成功的可能性基本不存在。
攻击者,尤其某国倾举国之力的那种,可能会试图控制(没收)现有的挖矿设备,用这些设备攻击系统,以降低比特币网络的安全性。但是,这一策略需要世界各国政府的通力协作,比特币挖矿在地理上高度分布式的现实,使这一策略面临极大挑战。更可行的方法不是从物理上,而是通过硬件后门控制这些设备。
硬件后门
另一种扰乱或摧毁比特币网络的可能是,破坏运行比特币软件的硬件设备,让它们被外部侵入。例如,在挖矿的节点安装难以察觉的恶意软件,让外部人可以操纵这些硬件。当51%攻击发生时,这些设备可能被关闭或远程控制。
还有一种可能是,在用户电脑上安装间谍软件,获取用户的私钥从而控制用户的比特币。如果这种攻击大规模泛滥,会严重打击比特币作为一种资产的可信度,降低对比特币的需求。
这两种攻击都有理论上的可行性,而且不像上一小节提到的攻击方式,它们不需要完全成功就能制造足够的混乱,损害比特币的声誉和需求。在只有少数几个矿机设备生产商的情况下,对矿机设备的攻击更有可能成功,这是事关比特币成败的关键点之一。然而,随着比特币挖矿产业的发展,会吸引更多的制造商来制造挖矿设备,降低由于某一制造商的失误对比特币网络造成灾难性影响的可能性。
至于对个人电脑的攻击,这种攻击较少可能造成系统性的影响,因为世界上存在无数的制造商,可以制造各式各样的能访问比特币网络的个人设备。倘若某个生产商出现了问题,结果不过是消费者转投另一家生产商。不仅如此,用户还可以在永不联网的离线电脑上生成私钥和地址,更偏执狂的做法则是在离线设备上生成私钥和地址,随即将此设备毁掉。存在于这些私钥中的比特币将免受任何形式的网络攻击。
对这些攻击尤其重要的防御是深植于比特币爱好者心中的无政府和密码朋克取向,这让他们认为,与其相信,不如验证。比特币爱好者通常比一般大众更具技术能力,会非常小心地检查自己使用的软件和硬件。代码开源同行评议也是应对这类攻击的重要屏障。由于比特币网络分布式的特征,这类攻击通常只会造成某个中招的个体的重大损失,最多给系统造成一时的混乱,但几乎不可能造成整个网络的瘫痪,不可能完全摧毁人们对比特币的需求。应该知道,是经济激励赋予了比特币价值,而不是任何硬件赋予了比特币价值。任何单独的设备都不是比特币运行不可或缺的,都可以被替代。话说回来,如果比特币硬件设备的生产商更加多样化,不让任何一个生产商占据影响全局的重要地位,那么比特币会生存得更好,稳健性(robustness)更强。
互联网和基础设施的攻击
人们对比特币最常见的误解之一是,只要关闭重要的通信基础设施,或者说,关闭互联网,比特币网络就被杀死了。这些误解在于,它们误以为比特币网络是传统意义上由专门的硬件和基础设施构成的网络,有最怕人攻击的罩门。但是,比特币是一个软件协议,分布于全球的几十亿台计算机中的任何一台都可以运行它。比特币没有单点风险,运行比特币协议的任何硬件设备都不是不可或缺的。任何可以联网的计算机都可以将比特币网络运行起来。从这个角度看比特币和互联网类似,是协议让让计算机互相连接,成为互联网,而不是某些硬件设备。传递比特币信息的数据流量并不大,只占互联网总流量的极小部分。比特币区块链只是每10分钟传递1MB的数据,因此它并不像其他网络那样需要大量的基础设施。全世界有无数种有线的或无线的数据传输技术,只要其中有一项可用,比特币节点就可以联通网络。如果想制造一个比特币用户无法互联的世界,就必须彻底破坏全世界信息、数据、联通的基础设施。这显然不可能发生,现代生活在极大程度上依赖信息联通,没有通信基础设施的正常运转,许多至关重要的服务和生死攸关的事情无法完成。试图同时关闭互联网和基础设施,对任何社会都会造成极大伤害,却依然不能阻止比特币的流动,因为分散的机器依然可以使用自身的协议和加密通信互相连接。世界上有太多的计算机和网络,使用它们的人太多了,任何力量都无法使它们同时停止工作。杀死比特币的唯一可能的场景,是出现世界末日式的劫难,在那之后,就没人关心比特币是生是死了。在人们经常提到的针对比特币的各种威胁中,我认为这是最杞人忧天的一种。
节点成本升高,节点数量降低
不用为了杀死比特币进行科幻类的幻想,比如毁灭全人类的电信基础设施,比特币本身面临着比其现实得多的威胁,这些威胁来自比特币的基础设计。比特币供给量无法被篡改的硬通货属性,无须可信第三方免审查的数字现金属性,都是建立在比特币网络难以更改的共识规则尤其是货币供给规则的基础上。就像之前讨论的,之所以达成现在的稳定状态,是因为网络成员若想脱离现在的共识规则,极有可能充满风险且对自身不利。之所以会充满风险且对自身不利,是因为全网节点众多,采取协调一致的行动几无可能。因此,假如运行比特币节点的成本大幅上升,将有越来越多的用户不能运行比特币节点,比特币网络上的节点数量随之下降。一个只有数十个节点的网络是不足以称为去中心化网络的,这时候很有可能出现少数节点共谋,出于私利改变网络规则,甚至蓄意破坏网络。
在我看来,这仍然是比特币在中长期要严肃对待的技术威胁。当前,个人运行比特币节点的主要限制是网络带宽。在区块大小限制在1MB以下的情况下,情况还是可控的。提高区块大小的硬分叉将会升高运行节点的成本,使节点数量下降。不过就像之前提到的几种威胁一样,这种威胁只是存在于理论上,真正实施的可能性不大,因为系统的经济激励不利于这种行为,过去几次增加区块大小的企图都失败了,就是明证。
攻破SHA-256哈希算法
SHA-256哈希算法是比特币系统运行必不可少的部分。简单来说,哈希过程的输入可以是任何数据,通过不可逆的数学计算,得到输出,即固定大小的字符串。换句话说,它可以轻而易举地生成任何数据的哈希值,却不能通过哈希结果逆推原始数据。然而,理论上,如果计算机的计算能力上升到可以破解这些哈希函数,就将使所有的比特币地址面临被攻破的风险。
我们无法预言这一场景是否会发生,何时会发生,但是一旦出现这样的情况,就将对比特币构成严重的技术威胁。比特币的应对之策是换成更强的加密算法,但更换加密算法的棘手之处在于,如何协调绝大部分节点放弃旧的共识规则,转向使用新哈希函数的新的共识规则。之前讨论过的所有分叉比特币的困难都将在这里显现,但此时比特币将面临真正的威胁,继续使用旧共识规则的持币人将面临被攻击的风险,因此,我们可以预期压倒性多数的用户会选择进行硬分叉。还剩一个有趣的问题,就是这次迁移是否会有序进行,用户是否会迁移到同一个新链,还是说,比特币会分裂成几个使用不同加密算法的分支。唯一可以确定的是,一旦SHA-256算法被攻破,网络用户合乎经济理性的选择是切换到一个更强的算法上,而且是同时行动。
回归健全货币
关于比特币如何失败或者被摧毁的讨论,大部分都是聚焦于技术攻击。然而,更加可行的攻击手段是釜底抽薪,减弱人们使用比特币的经济动机。前面所述的任何一种方式,都不太可能成功攻击或摧毁比特币,因为它们与驱动人们使用比特币的经济动机相冲突。就像禁止人们使用轮子和刀具一样,只要这些技术对人们有用,禁令就不可能成功,人们总会找到各种合法或非法的方式继续使用它们。让人们放弃使用一项技术的方式不是禁止它,而是发明更好的替代品,消除人们对它的需求。我们无法通过禁令或立法淘汰打字机,是个人电脑的兴起淘汰了它。
对比特币的需求源于世界各地人们的需要,人们需要进行一些绕开政治管控的交易,人们需要拥有抗通胀的价值储存手段。只要政治当局禁止和限制人们的资金转移,只要政府货币是可以根据政客的妄想随意增发的软通货,对比特币的需求就会存在。不断放缓的供给会使比特币的价值不断升值,吸引更多的人用比特币来存储财富。
假设全世界的银行和货币体系一夜之间回到19世纪末的金本位制度,个人自由和硬通货是至高无上的原则,那么对比特币的需求可能会大幅降低。剧情可能会是这样,世界转向金本位,对比特币的需求大幅降低,导致比特币价格显著下降,给比特币持有者带来了较大伤害,从而进一步增加了比特币价格的波动性,让比特币的发展倒退很多年。由于比特币的波动性升高,同时出现的国际货币本位是可靠和相对稳定的硬通货,人们使用比特币的动机严重下降了。在政府管控一切的欲望和通胀的欲望都受到金本位严格限制的世界里,黄金的先发优势和相对稳定的购买力会构成比特币难以逾越的障碍,比特币很难快速有大量用户,因此也就无法成长到足够大的体量,从而获得任何形式上稳定的价格。
然而,全球回归健全货币和自由政府的可能性微乎其微,这些概念在很大程度上与世界上绝大多数的政治家和选民格格不入,在几代人的时间里,他们一直被灌输的观念是,政府对货币和道德的控制是任何社会运转所必需的。此外,即使这样的政治和货币转型是可能的,由于比特币的供给增长率不断递减,它仍会是对许多人颇具吸引力的投机标的,而这本身就会导致比特币进一步增长,并获得更大的货币角色。在我看来,全球货币回归黄金可能是比特币面临的最大威胁,但这既不太可能发生,也不太可能彻底摧毁比特币。
另一种消灭比特币的可能性是,发明另一种优于比特币的健全货币。似乎有很多人认为,其他模仿比特币的加密货币可以做到这一点。但我坚信,任何模仿比特币设计的加密货币都无法与之竞争,原因我们会在接下来的一个小节详细论述,简单地说就是:比特币是唯一真正去中心化的电子货币,自发地形成了矿工、开发者和用户之间的精妙平衡,任何一方都无法控制比特币。基于这样的设计再造一种货币的可行性只存在于理论中。如今比特币的可行性已经显现,任何仿制都必然是自上而下的,必然成为一个中心化控制的网络,永远无法逃脱创立者的掌控。
因此,若说到比特币的结构或技术,任何模仿币种都无法将其取代。只有全新的设计和技术,实现全新的数字现金和硬通货,才有可能与其一较高下。在这种技术诞生之前,我们无法预测它是否以及何时会出现。基于多年来对数字现金发展过程的了解,我们都很清楚,这项发明绝非易事。
竞争币
比特币是第一个点对点的电子现金,但它绝不会是最后一个。一旦中本聪的设计传播开来,比特币有了价值和用户,自然就会有很多人抄袭他的设计,制造类似的产品。域名币(Namecoin)是第一个,它使用了比特币的代码,于2011年4月开始运行。截至2017年2月,根据coinmarket.com上面的数据,至少已经出现了732种电子货币。
常见的观点是,这些货币和比特币存在竞争关系,其中的佼佼者有朝一日有可能取代比特币。实际上,它们无法和比特币竞争,因为它们永远不会获得使比特币成为数字现金和硬通货的那些性质。要想让一个数字系统行使数字现金的功能,就必须免于任何第三方的掌控,能充分实现用户的意愿,不能有任何第三方可以拦截用户的支付行为。到目前为止,模仿比特币的数字货币层出不穷,但是看起来没有任何一个能够重现比特币那样的各方制衡,能够阻止体系内的强势一方制霸系统。
比特币出自一名化名为“中本聪”的神秘人士之手,他的真实身份目前仍然是一个谜。中本聪将比特币的设计发布于一个由爱好密码学的程序员组成的小众邮件组,在邮件组中收到反馈几个月后,中本聪和已故的程序员哈尔·芬尼上线了比特币网络(哈尔·芬尼于2014年8月因渐冻症去世)。中本聪和哈尔·芬尼进行了几天的交易和测试,之后更多的成员加入网络,开始进行交易和挖矿。中本聪从2010年年中开始神隐,声称“转向其他项目”,从那以后中本聪很可能从未出现过。中本聪掌握的比特币很可能有100万之巨,但这些比特币从来没有移动过。中本聪非常谨慎,以确保自己的身份不会暴露。直到今天,依然没有令人信服的证据证明谁是中本聪。如果中本聪想被认出来,他早就走上前台了,如果中本聪留下了任何可以被追踪到真实身份的线索,他也就早被挖出来了。中本聪留下的所有文本和发言都被调查人员和记者反复研究,然而终归无济于事。现在,所有关心比特币的人是时候停止关心中本聪是谁了,我们应该接受,发明者是谁对这项技术并不重要,就像现在,轮子的发明者是谁对轮子能否转动并不重要。
中本聪神隐,哈尔·芬尼去世,比特币的发展方向不是任何权威或领导人的一言堂,也没有人能施加决定性的影响。就算是曾与中本聪有很多联系,在后中本聪时代曾最接近权威的加文·安德烈森,当他试图对比特币的演化方向发挥个人影响时,也一次又一次地遭到失败。媒体经常引用一封据称是中本聪发出的最后一封邮件:“我要做别的事了,加文和大家干得不错。” 安德烈森好几次试图增大比特币区块的大小,但他的提议每次都无法得到节点运营者的支持。
如第八章所述,比特币在所有指标上持续增长和繁荣,相对而言,任何个人或团体的权威都已无足轻重。比特币可以被理解为一段拥有自我主权的代码,没有任何外在权威可以控制它的行为。只有比特币的规则控制着比特币,而保持现状的偏好持续影响着每个参与比特币的人,对比特币的规则做任何实质性的改变都极不现实。
正是这种以工作量证明为后盾的比特币代码的自我主权,让它成功地解决了双花的问题,成为成功的数字现金。其他数字货币无法复制的正是这种无须信任的特质。任何在比特币之后诞生的数字货币,都面临深刻的生存危机:比特币已经存在,它更安全、算力更多、用户基础更牢固,任何希望使用数字现金的人自然会更喜欢比特币,而不是规模更小、更不安全的替代品。复制代码以生成一种新数字货币的成本几乎为零,于是仿制品数量激增,除非有团队积极致力于为某一种新币培育市场、管理市值,重金聘请开发团队持续开发并保护这个系统的安全,否则,任何比特币之后的模仿者都不太可能出现任何形式的显著增长。作为第一个此类发明,比特币展现出来的自身作为数字现金和硬通货的价值,足以确保人们对它的需求不断增长。也正是因为如此,尽管背后只是一个匿名的开发者,尽管未曾花过一分钱做推广,比特币还是成功了。从根本上说,正是因为仿制轻而易举,所以对任何仿制品来讲,真实的需求都非常奢侈,因此必须有团队积极的建立和扩大市场对自己的“需求”。
这就是为什么几乎所有的“竞争币”都有一个团队,他们发起这个项目,推销它,设计营销材料,把新闻稿塞进各路媒体,同时他们还有信息优势,在人们听说他们的项目之前,大量挖掘自己项目的代币。团队成员的信息是公开的,无论怎样努力,都无法让人相信他们不是控制这个“竞争币”的中心。在这种情况下,任何其他币种若是声称自己是免受第三方控制的数字现金,都没什么可信度。换句话说,比特币精灵从瓶子里钻出来以后,若要制造比特币的替代品,就必须投入重金精心培育这个币种,而这种行为,恰恰将项目方变成了不可或缺的控制中心。只要有某个项目方掌握着控制权,这种数字货币就不可能成为数字现金。相反,它只是一种中介支付形式,而且是效率很低的中介支付形式。
这让“竞争币”的设计者陷入两难:若没有开发团队或营销团队的积极管理,他们的币种就无法从1000多种币里面杀出重围,吸引人们或资本的关注,但是,如果存在开发团队或营销团队的积极管理,又无法让人相信该币种不是处于这些人的掌控之中。如果开发者团队掌握着该币的大部分数量、算力和编码实现,这种币实际上就是中心化的,团队偏好决定着未来的发展路径。我并不是说中心化是数字货币的原罪,在自由市场上,比特币可能正需要这样的竞争者。我是说,“竞争币”深层次和根本性的错误在于,若是中心化的货币,就不该采用类似于比特币这种笨重而低效的设计,这种设计的唯一目的只是避免单点故障。
对于通过首次币发行(Initial Coin Offering,ICO)起步的数字货币来说,这个问题更加严重。这些ICO项目,开发团队高度公开,直接与投资者勾兑,使整个项目完全成为中心化的。以太坊(Ethereum)是市值上仅次于比特币的数字货币,它的经历生动地证明了这一点。
去中心化自组织(Decentralized Autonomous Organization,DAO)是以太坊智能合约首次较大规模的实践,在这个智能合约吸引了超过1.5亿美元的投资之后,一个攻击者通过其代码漏洞将接近1/3的资金转移到了自己的账户。将这次攻击表述为盗窃可能不那么准确,因为在转入资金之前,所有人都接受这样的前提,即这些资金由智能合约代码控制,代码即法律,再无其他。攻击者的所作所为并没有超出DAO代码的范围。事后,以太坊的开发者决定硬分叉出新的以太坊版本,将这个令人尴尬的错误抹去,没收攻击者的资金,返还给受害者。这种主观人力管理,与以代码为法律的目标格格不入,本身就是对智能合约整个理论基础的质疑。
如果算力第二大的区块链网络都因为开发团队的影响力,修改开发团队认为应该修改的交易,那么,任何竞争币宣称自己的管理是基于算力和既定规则都是站不住脚的。持币分布、算力分布、开发能力都集中于同一批人之手,这些人还是同一个团队的合作伙伴,这样的形态与采用区块链架构的目的完全南辕北辙。
还有,如果背后的团队纤毫毕现的暴露于世人面前,很难想象这样的私人发行货币能够取得全球货币的地位。如果它大幅升值,背后的创始小团队会变成巨富,并获得收取铸币税的权力。在现代世界,铸币税是民族国家垄断的权力。央行和各国政府不会容忍对它们权威的挑衅。对央行来说,扼杀或取缔这样的项目,让它不再与国家货币竞争,并非难事。没有任何“竞争币”表现出接近比特币的抗逆性,这种抗逆性来自比特币真正的去中心化本质,来自由于经济激励,每个成员都有强烈的维持现有规则的偏好。比特币在没有任何权威控制的情况下,在互联网的荒野中发展了9年,并击退了很多有组织有预谋有资金支持的改变比特币运行规则的图谋。与此相反,“竞争币”是明确无误的友好文化,一帮人共同致力于一个团队项目。这种模式适合创业公司,但是若要让世人相信该“竞争币”的货币政策永远不会改变,这一模式无异于诅咒。任何“竞争币”背后的团队想要改变该币的货币政策,都轻而易举。以以太坊为例,以太坊至今没有明确未来的货币政策是怎样的,这个问题只是留给社区进行讨论。这种讨论可能对以太坊的社区精神有所帮助,却完全无助于建立一种全球性的硬通货。当然,话说回来,以太坊也从未说过要成为一种硬通货。不管是因为意识到了这种根本的不可能性,还是为了避免与政治权威发生冲突,又或者是单纯为了制造营销噱头,绝大多数“竞争币”并不声称自己是比特币的竞争对手,而是声称自己与比特币赛道不同。
比特币固然从设计上就不适宜其他“竞争币”宣称可以实现的种种功能,但那些币,抛开宣传的噱头,也不曾真正实现任何比特币不具备的功能和特征。这些项目都有自己的内生货币,这些货币对在其复杂系统上执行某些在线应用不可或缺(如以太坊上的以太币)。
但是,要求新应用使用自己的去中心化货币,这种理念实在太过幼稚,这等于制造出一堆与我们在第一章所述的基本需求不匹配的问题,还幻想在实践中可以成功。真实的商业行为中,没有哪个商家会发行自己的货币,没有人愿意持有用途单一的货币。人们持有货币的目的在于持有流动性,可以随时随地很方便地在各种地方使用。只有特定商家接受的货币形式,只能提供很少的流动性,不具备现实的货币意义。人们自然会倾向于持有流动性强的支付方式,任何坚持使用自己发行的货币进行交易的企业,都只是将极高的成本和风险推给了自己的潜在用户。
即使是在业务上需要使用代币的特殊行业,比如游乐园或赌场,其代币的价值也是与流动性更高的货币锚定的,这样消费者可以知道自己手里有多少钱,可以做精确的经济核算。想象一下,假如这些宣称自己如何具有革命性的去中心化货币真的提供了任何在现实世界有价值的应用,消费者必须为每种应用准备对应的货币,这实在麻烦的不可想象。
实际上,通过数年观察,我还不曾看到哪个“竞争币”真的提供了有市场需求的产品或服务。所谓去中心化应用,吹嘘中的未来从未到达。不过,据称对这个未来必不可少的代币,却每月增加几百种。令人不禁怀疑,这些号称革命性的货币,唯一的作用就是让它们的创造者盆满钵满吧。
除了比特币,没有任何其他币可以宣称自己不受任何人的控制,正因如此,它们照搬支撑比特币的复杂架构没有任何意义。抄袭比特币的设计并制造出一个略有不同的山寨货,既没什么创新,也没什么难度,现在已有上千个糟粕在前。随着时间的推移,我们还将看到更多的山寨诞生,稀释“竞争币”这个品牌。总的来说,比特币之外的数字货币,都是软通货。没有哪个“竞争币”有自己独特的优点可言,它们都是千人一面,供给和设计都很容易改弦更张,唯有比特币的货币政策真正不变。
未来,这些“竞争币”是否能够在比特币之外提供有市场需求的服务尚不能断言,但是清楚的是,在成为免信任的数字现金方面,它们无法与比特币竞争。它们都模仿比特币的内容或仪式,同时假装在解决比特币没有解决的问题,这并没有让人们对它们充满信心,认为它们除了让自己的创始人富有以外,真的能达成了什么成就。成百上千的山寨货本身就是对中本聪最真诚的恭维,但他们并没有比中本聪走得更远,哪怕一步,这是对中本聪非凡成就最有力的证明。对比特币设计唯一有价值的改善是由更能干而无私的程序员志愿完成的,他们花了很长时间让比特币代码变得更好。同时,有很多不那么能干的程序员通过重新包装中本聪的设计,通过市场营销和无意义的吹嘘让自己变得富有,却未能添加任何存在真实需求的功能。如果脱离了政府宽松的货币政策导致大量资金不当投资,堆出大量泡沫的现实语境,就无法理解这些“竞争币”的所谓发展。
区块链技术
比特币的价值迅速上涨,吸引了很多人的注意,同时它的运行机理和技术理解起来有一定的门槛,因此很多人对比特币存在大量误解。或许最深和流传最广的误解是,比特币运行机制的一部分——将交易打包进区块,再将区块按时间顺序连接起来的账本形式——可以用于解决或改善一些社会或经济问题,甚至是“革新”。这种声音和我们这个时代对每种新发明的过分宣传如出一辙。“比特币并不重要,背后的区块链技术才是未来。”2014~2017年,这种声音在银行高管、记者、政界人士的口中不断传递和重复,这些人有一个共同特征:不知道比特币实际上是如何运行的(见图10-1)。
图10-1 区块链决策图示
这种对区块链技术的追捧正是“草包族科学”的极佳范例。“草包族科学”的概念是物理学家理查德·费曼(Richard Feynman)提出并流传开来的。故事是这样的,在第二次世界大战期间,美国军方在南太平洋的一个岛屿上修建飞机跑道,以协助军事行动。飞机经常给岛上的土著居民带来礼物,他们非常喜欢。战争结束后,这个岛上不再有飞机降落,也不再有礼物从天而降。为了让飞机或礼物回来,岛上的居民想尽了办法。他们会模仿之前机场地面控制人员的行为,认为他们如果像过去那样,把一名带天线的男子放在一间小屋里,点燃一堆火,就会有飞机降落并给他们带来礼物。这种策略显然不会奏效,地面人员的行为并不会凭空制造出飞机。从飞机制造厂出产,到飞离基地,再到降落在岛上,飞机落地是一个复杂的过程。地面人员的行为只是这个复杂过程中的一部分,而南太平洋上的岛民无法理解这一点。
与这些岛民一样,那些鼓吹区块链技术本身就能产生经济效益的人,也失之于盲人摸象。比特币建立账户真实性和有效性的机制极其复杂,但目的明确:发行一种货币,在线上转移价值,无须可信第三方。从这个角度看,“区块链技术”并不是一种高效、廉价、迅速的在线交易方案。事实上与中心化的解决方案比,区块链是低效和缓慢的。它的唯一优势是免除了对第三方的信任。使用这种技术的唯一场景是,对于最终用户来说,免除对第三方的信任十分重要,以至于可以忍受成本的增加和效率的降低。它仅仅可以免除一个环节对第三方的信任,这个环节就是自身网络上的代币转移的过程,区块链代码对除此之外的事情没有任何约束力。
做一个对比就能知道,比特币作为一种记录交易的方法多么低效。如果我们不管去中心化、工作量证明、挖矿、去信任化等这些事,只运行一个中心化版本的比特币,它本质上只包含一个生成币的算法,以及一个每天处理约30万笔交易的数据库。这样的任务对任何一台现代社会的个人电脑都是小菜一碟。事实上,一台普通的消费级笔记本电脑每秒就可以处理约1.4万笔交易,20秒就可以处理完比特币网络现在一天的交易。要处理比特币全年的交易量,一台个人笔记本电脑只需要2个小时多一点。
显然,在个人笔记本电脑上运行货币系统的问题在于,人们要相信这台电脑的拥有者,要相信这台电脑的安全性可以抵抗网络攻击。为了让这个“微不足道”的软件系统摆脱对任何人的信任,没人可以篡改交易记录,没人可以改变货币的发行速率,人们经过长期探索,得到的唯一可行的设计就是比特币,就是去中心化的点对点网络加上工作量证明验证。这不是一个微不足道的软件问题,在发现确实可行的设计之前,计算机程序员花费了几十年时间尝试不同的设计。今天,一个较好的消费级笔记本电脑的算力约为10M,而比特币网络的总算力约为20E,约等于2万亿台笔记本电脑。并不是生成货币或者记录交易需要这么庞大的算力,而是整个系统的去信任化要求这么庞大的算力。如果任何其他计算过程也想基于区块链技术运行,它需要满足两个标准:
第一,去中心化的收益必须足够大,这样区块链带来的额外成本才是合理的。如果在全过程中,某个阶段还是需要某种形式的可信第三方,那么去中心化的额外负担就没有意义。比如,在司法管辖下执行现实世界中的商业合约,这些合约的执行仍然受到法律的监督,法律可能会推翻网络共识,去中心化的额外成本就是多余的。同样的例子还有金融机构的去中心化数据库,在实际运行中,这些数据库仍然充当机构之间或它们客户的可信第三方。
第二,本身需要足够简单,以确保有很多节点可以运行这个分布式账本,区块链不会变得太过庞大而无法成为分布式系统。否则,随着时间的推移,区块链的体积会持续增长,并让分布的节点越来越难以记录整个账本,最终只有少数大型计算机可以运行该系统,去中心化的初衷也就无从实现了。提醒读者注意,我们在第八章曾讲述了记录全账本的全节点与专注于挖矿的矿工之间的区别:矿工需要掌握巨大的算力,以竞争向账本上提交交易的权力,而全节点只需要付出很少的成本,存储和更新账本副本,验证矿工提交的交易的有效性。这就是为什么一个矿工掌握的算力往往抵得上成百上千台个人电脑,但是个人电脑还可以运行全节点。如果账本本身变得太过复杂,个人电脑就不能运行全节点了,得准备大型服务器才行,这就摧毁了去中心化的可行性。
比特币区块链有1M的区块大小限制,这限制了区块链体积增长的速度。由于这个限制的存在,普通的电脑依然可以运行全节点。假如区块变大,又或者,假如比特币区块链如一些区块链爱好者鼓吹的那样,在区块链上运行一些复杂的过程,那么区块链很快会增大到个人电脑无法运行的程度,系统会缩到几个由大型机构拥有和经营的节点上,去中心化无从谈起。
到目前为止,去信任的数字现金是区块链技术唯一成功的应用,这恰恰是因为现金业务清晰、简单,因此账本大小的增速相对缓慢。对于世界上大部分地区的家用电脑和带宽而言,加入比特币网络都是可行的。可预测的可控通胀过程本身也不消耗什么算力,但这个去中心化和去信任化的过程最终赋予用户巨大的价值。今天,所有其他的货币媒介都被人控制,控制者可以增加货币供给,从中取利。法币和贱金属如此,黄金也不例外。大量黄金被央行持有,央行可以借此操纵黄金市场,避免金价上涨过快,避免黄金排挤法币。从金本位被废除直到今天,比特币第一次让全世界希望持有健全货币的人可以得偿所愿,而且可以比较方便地得偿所愿。轻量级的电脑负载、重大的经济意义,这种不常见的组合正是比特币网络发展为史上算力最大的单用途网络的原因。过去几年的实践已经证明,找不出有同等价值的其他案例,既有必要将网络分布到上千个节点上,同时自身又足够简单,可以实行去中心化。
以上分析告诉我们,任何会增加区块链体积的比特币改进提议都不大可能获得通过,原因不仅有我们之前提到的比特币的不可变性,还有区块链一旦变得更庞大,将有很多节点运行者无法继续运行节点。这些节点运行者可以自行决定运行哪种比特币版本,因此,我们可以预见,必然总是有相当部分的节点运行者会坚守当前的版本,持有当前的比特币,从而使增大区块的努力最多不过收获另一个毫无意义的“竞争币”。
以上分析还告诉我们,任何被吹捧为要颠覆银行或数据库的区块链技术“应用”,都注定要失败,它们最多止步于一些概念演示,永远不会在真实世界中发挥实效。因为对于本身就是可信第三方的实体来说,用区块链承载业务太过低效。绝无这种可能:专用于消除可信第三方的技术,最终被可信第三方所用,并且还能发挥实效。
有很多更简单、更轻便的方式记录交易,但区块链是唯一可以免于第三方信任的方案。一笔交易被成功提交到区块链上,是因为有很多验证者出于自身利益争相进行了验证。交易的完成不需要信任或依赖验证者,任何欺诈行为都会立刻被其他网络成员揪出来,这些网络成员有强烈的动机确保网络的完整性。换句话说,比特币系统建立在笨重和昂贵的验证的基础之上,所以它才能免于各方之间的信任——比特币只需100%的验证和0%的信任。
与那些围绕比特币的浮夸宣传相反,并不是对于商业或生活的所有方面,免于第三方信任都是毋庸置疑的好事。一旦理解了比特币的运行机制,就可以看得很清楚,运行一个免于第三方信任的系统之前,你需要权衡利弊。优势在于区块链赋予的个人主权、抗审查性好、货币供给和技术参数不可改变。劣势则在于,执行同样的工作量,这样的系统需要消耗大得多的成本。没有理由天真地认为这种利弊权衡的结果是利大于弊。也许,唯一利大于弊的场景是,运行一个超越国家主权的全球性的同质健全货币系统。原因有两个:一个是,全球外汇市场现在高达80万亿美元之巨,该系统会逐步减少外汇市场的规模,这一收益可以覆盖系统本身的巨大成本;另一个是,前面已解释过,健全货币的本质恰恰在于没有人可以控制它,因此一个可预测但不可改变的算法正好适合这一任务。经数年思考,我没有在任何其他领域发现类似的场景,既足够重要,值得承担去中介化的高额成本,又足够简单,消除了人类的所有主观因素。
和汽车业做一个类比很有启发意义。1885年,卡尔·本茨在一辆三轮车上安装了内燃机,制造了第一辆汽车,发明汽车的明确目的是把马从马车上卸下来,让人们免于不停地处理马粪的辛劳。本茨安装发动机的目的并不是让马跑得更快。加装沉重的发动机不会让马跑得更快,只会让马跑得更慢,同时不会减少马车产生的粪便量。与此类似,就像第八章解释过的,比特币系统所需的庞大算力是为了消除对可信第三方的依赖,保护既有的货币政策不被改变。如果有人试图给第三方机构加装区块链发动机,那么消耗的算力就只是无意义的电力浪费。
只有时间能告诉我们,比特币模式是否会更加流行甚至被广泛接受。可能比特币会继续发展进而取代很多金融中介机构,也有可能会停滞、失败甚至消失。但不可能的是,比特币区块链有益于它旨在摆脱的第三方机构。
对于任何需要处理支付、交易或记录保存业务的第三方机构来说,区块链都是一项极其昂贵而低效的技术。非比特币区块链结合了双方的缺点:区块链昂贵笨重的结构和可信第三方的安全风险。因此并不奇怪的是,在发明8年后,除了量身打造的比特币以外,区块链技术还没有突出重围,市场上还没有出现获得成功的区块链商业应用。
虽然如此,围绕区块链技术的潜力,出现了大量的宣传、会议和高调讨论,媒体、政府、学术界、工业界莫不卷入其中。政府和机构被炒作迷惑,一笔笔巨额投资被用于风投、研究和市场营销,却没有什么实际的产出。
区块链咨询公司已经为股票交易、资产注册、投票和支付清算建立了区块链解决方案原型。但是,这些方案没有一个真正得到了大规模的商业化部署。原因很简单,正如佛蒙特州政府最近得出的结论:区块链解决方案比基于现有数据库和软件技术的解决方案贵太多了。
还有,银行业从不是一个积极采纳新技术的行业。摩根大通的CEO杰米·戴蒙(Jamie Dimon)2016年1月在达沃斯兜售区块链技术时,他自己银行的开放金融交易接口——一种1997年就有的为聚合服务商提供客户资料中心数据库的技术,已经宕机两个月了。
形成鲜明对比的是,在中本聪展示了区块链设计两个月后,比特币网络就诞生了。从诞生直到今天,比特币网络一直在不间断地运行,比特币的价值已经增长到1500亿美元以上。区块链是电子现金的技术解决方案。尽管中本聪匿名工作,在神隐之前也只是通过电子邮件等方式和外界简单沟通,但是由于这种解决方案真实有效,所以这并不妨碍比特币的快速发展。比特币不需要风投、会议和广告。
总而言之,“区块链技术”这个概念是存在的,但要说部署区块链可以解决某一个具体问题,就表示怀疑了。将区块链结构理解为比特币、比特币测试网络及比特币的模仿者运行中不可或缺的一部分,要准确得多。区块链技术这个术语在解释中常被简化,下一部分我们将探讨一下最常被吹捧的区块链技术应用领域,随后将说明这些应用的主要障碍。
区块链技术的潜在应用
概览一下当前与区块链相关的创业企业和研究项目,可以看出,区块链技术潜在的应用领域主要可以划分为三类。
电子支付
当前,支付清算业务还是依赖记录了所有交易和账户余额的中心化账本。从本质上讲,交易的过程是这样的:交易双方向中介机构提交信息,中介机构检查交易的有效性,然后相应调整两个账户的余额。如果使用区块链技术,交易要提交到每一个网络节点,会要求更多的传输、更多的处理能力和更多的时间。同时,交易也会成为区块链的一部分,复制添加到每一台成员电脑上。区块链的处理方式比中心化清算更缓慢也更昂贵,这也是为什么Visa和万事达卡每秒可以处理2000笔交易,而比特币每秒只能处理4笔。比特币使用区块链绝不是为了使交易更快捷、更便宜,而是为了免于对第三方中介机构的信任:交易完成是因为网络节点竞相验证了交易的有效性,系统不需要单独信任任何节点。无法想象,第三方中介机构使用一种为了免于信任第三方而牺牲效率和速度的技术,还能提高自己的业绩。对任何处于某一群体控制之下的货币来说,对交易进行中心化的记录总是更高效的选择。无论如何,有一点是清楚的,区块链支付应用至少要处理基于区块链技术的去中心化货币,处理现有的被中心化控制的货币是别扭的。
合约(合同)
当前,合同是一种律师起草、法庭判决、警察强力保证执行的东西。智能合约加密系统,用以太坊上的智能合约举例,是将合约编码进区块链,让合约自动执行,这样,无法上诉或撤销,同时法庭和警察也无从管辖。“代码即法律”是智能合约开发者的座右铭。这个概念的问题在于,与律师用来起草合同的语言相比,智能合约编写者使用的代码语言更少人能够理解。全世界可能只有几百人具备充分理解一份智能合约的技术能力,即便如此,这些人还是有可能发现不了智能合约中存在的漏洞(bug)。即使越来越多的人开始精通这些合约使用的编程语言,最精通这些语言的少数人还是会继续对其他人形成优势。所有人都是平等的,代码能力更强的更加平等。
以太坊网络上第一个智能合约去中心化自组织(Decentralized Autono-mous Organization,DAO)部署的时候,这些问题都浮出了水面。DAO吸引了超过1.5亿美元的投资,之后,一个攻击者通过某种方式执行代码,把约1/3的钱转到了自己的账户中。将这次攻击称为盗窃可能并不准确,因为所有的投资人都认可这样的前提,即他们投入的资金完全由代码控制,再无其他。这位攻击者所做的,并没有超出执行这些投资人认可的代码的范围。DAO攻击发生之后,以太坊开发者分叉出新版本的以太坊,在新的以太坊上,这个令人尴尬的错误被抹去了。这种主观管理的重新加入,与“代码即法律”的目标背道而驰,也令人怀疑智能合约的整个逻辑是否可行。
以太坊是仅次于比特币的第二大区块链网络,以太坊区块链回滚的现实说明,任何小于比特币的区块链网络事实上都是人为控制之下的中心化数据库。事实证明,代码并不真的是法律,因为这些合约的“经营者”可以推翻结果。智能合约并没有用代码取代法庭,它只是用缺乏仲裁经验、法律知识和事后问责的软件开发者取代了法庭。这些事情带来的后果仍在发展之中,真正的法庭和律师是否依旧袖手旁观,也有待观察。
DAO是第一个也是迄今为止唯一一个在区块链上运行的复杂的智能合约,DAO的教训表明,哪怕智能合约真的有一天可以实现,这一天也是在遥远的未来。当前所有其他的智能合约都以简化的形态存在。也许未来有一天,人们的代码素养普遍很好,合约代码也更加可靠,智能合约可能会流行开来。但是,只要智能合约增加了成本,却还是依赖区块链工程师的编辑、分叉和判决,那整个过程除了制造流行语和大肆宣传以外,实在没什么用处。智能合约更可能的命运是,它们将存在于安全的中央计算机上,可信的第三方负责运行这些合约,并拥有最后的否决权。这样,区块链智能合约正式变成可编辑的,还可以降低运行成本,减少面临的攻击维度。
对于实际的区块链运营来说,只有代码易于验证和理解的简单合约才有市场。在区块链而不是在中心化的计算机系统上运行这些合约的唯一理由是,这些合约需要以某种形式使用基于区块链的货币形式。若没有这个原因,基于中心化计算机的合约更便于执行和监督,同时还不用承担区块链分布式系统的额外负担。目前唯一有意义的区块链合约应用是简单的定时付款和多签名钱包,它们都基于区块链自身的货币形式,而且主要应用在比特币网络上。
数据库和记录管理
区块链是一个可信赖的数据库和资产登记系统,但仅限于记录区块链原生货币,而且还需要该币种的价值足够高,这样网络才会吸引到足够的算力以抵御攻击。对于其他任何资产,无论是实物的还是数字的,区块链是否可靠,完全取决于该资产与区块链的连接是否可靠。使用私有链并不会增加任何效率或透明度,区块链的可靠性取决于获得授权在区块链上写入数据的组织的可靠性。私有链不使用工作量证明,将区块链引入保存记录的过程,只会降低效率,同时不会增加什么安全和防篡改的特性。对第三方中介机构的信任不会豁免,同时运行数据库所需的时间和硬件成本大幅升高。有原生货币的区块链或许可以用于公证服务,其中合同或文档被哈希到交易区块上,任何一方都可以访问区块链,确保自己得到的版本是当前哈希的版本。由于区块空间的稀缺,这样的服务会衍生出一个市场,但是对任何无币区块链来说,这也是行不通的。
区块链技术的经济学弱点
通过前面对区块链技术三个潜在应用领域的讨论之后,我们可以看到阻碍区块链技术广泛应用的五大障碍。
冗余
让每一位网络成员都记录区块链上的每一笔交易,是非常冗余和昂贵的设计,这种设计的唯一目的是摆脱第三方中介。对于任何第三方机构来说,无论是金融行业的还是法律行业的,只要自己还是一家第三方机构,增加这样的冗余性就不合逻辑。银行没有道理想要和其他银行共享交易记录,也没有道理消耗资源和电力互相记录其他机构的交易。对它们来说,这种冗余性除了增加成本,并不会带来可见的收益。
扩容
一个所有节点记录所有交易的分布式网络,其公共交易账本的增长速度将比网络成员的增长速度快得多。分布式网络成员的存储和计算负担远远大于相同体量的中心化网络。这个问题始终是区块链要面对的扩容障碍,这也是为什么比特币开发者一直在寻找扩容的解决方案,他们正在脱离纯粹的去中心化区块链模型,转而尝试在二层网络上执行支付清算,比如闪电网络,或者在区块链以外借助第三方中介。显而易见,扩容和去中心化之间存在着权衡取舍。如果区块链要容纳更大的交易量,区块就会变大,这会提高加入区块链网络的成本,减少节点数量。这样,网络就会趋向中心化。当中心化到只剩一个节点时,效率也就最高了。
合规
像比特币这种有自己内生货币的区块链,现有法律是无从干预的,任何政府当局都无法影响或改变比特币的运行。美联储主席甚至说过,美联储根本没有权力监管比特币。几乎每过10分钟,就会有一个包含这10分钟所发生的正确交易的区块被添加到比特币区块链上。如果交易是正确的,就会通过验证写入账本,如果交易不正确,就不会通过验证,这就是全部,监管者无力推翻比特币网络给出的共识。如果将区块链技术应用于高度监管的、使用其他货币而不是比特币的行业,比如法律或金融行业,将带来大量监管和法律上的问题。这些监管规则是为完全不同于区块链的行业形态制定的,无法适应区块链这种将所有交易公开给每一个网络成员的运作方式。而且,一个区块链可能会横跨多个不同的司法管辖区,面对不同的监管规则,因此难以实现同时遵守所有的监管规则。
不可逆性
基于中介机构的支付、合约或数据库业务,通过申诉,可以很容易地纠正人为错误或软件错误。如果使用区块链,事情要复杂得多。一旦一个区块被确认,新区块在它后面产生,那么,要推翻其中的任何一笔交易,都必须发动51%算力攻击,回滚整个网络。这意味着51%的节点一致同意同时移动到修改后的区块链上,同时,剩下的49%也会随后加入而不会分叉出去。网络越大,逆转任何交易就越困难。归根结底,区块链技术的目的是在线上复制现金交易,其中就包括现金交易的不可逆性,允许中介机构对交易进行修订或逆转没有任何好处。在银行业,人为错误或软件错误时常发生,假如采用区块链架构,只会使修正错误的成本大幅升高。DAO事件向我们表明,区块链的逆转是多么昂贵和漫长,即使是以太坊,也需要数周时间的编码和公关活动才能说服网络成员采用更新的软件。即便如此,旧链也还存在,并且分散了整个以太坊网络的算力和价值。结果是出现了两个不同的网络,在一个网络上,DAO攻击成功了,在另一个网络上,DAO攻击没有成功。
如果在算力第二大的区块链网络上,当开发团队不喜欢某个交易时,都可以修改区块链交易记录,那其他任何区块链防篡改的特性都站不住脚。如果货币分布、算力持有、开发能力都集中在一起,那实施区块链这种复杂的架构就没有意义。
正如在第九章讨论过的,比特币网络几乎不可能发生这种逆转,只有同意现有的共识规则,比特币各参与方才会加入网络。生态系统中各方的利益并不一致,这意味着只有接受愿意接受共识规则的人,接受他们的自愿贡献,网络才能成长。对比特币来说,共识规则是恒定不变的,用户自由选择加入还是离开。其他区块链项目是模仿比特币来成立的,都有某个团队设定系统规则,因此这个团队也有能力改变规则。比特币是通过围绕既定共识规则的人类自发行为发展起来的,其他项目都是通过创始团队的设计和积极管理获得发展的。数年屹立,比特币赢得了不可变的声誉,其他区块链项目都没有这个资格。
在工程学上,可编辑的区块链是毫无意义的诡辩:区块链通过复杂和昂贵的方法达成了无须第三方的清算,建立了不可变性,然后可编辑的区块链又赋予中介机构推翻这种不可变性的能力。目前修正既有行为的最佳实践是法律和监管部门赋予的监督和可逆性,只不过它们采用了更经济更快速更高效的方式。
安全性
区块链数据库的安全性完全依赖于验证交易和工作量证明的算力支出。可以这么理解,区块链就是一项将电力转化为可核实的、无可争议的所有权和交易记录的技术。为了保证安全,必须对验证者进行补偿,而且补偿方式必须是该系统自身的货币,这样才能让经济激励与网络的健康步调一致。假设比特币矿工收到的奖励不是比特币,而是其他货币,那么比特币区块链实质上就是给矿工发放奖励的人私有的交易账本,系统的安全性取决于资助矿工的实体的安全性,但是由于该系统采用了共享账本,因此平白添加了许多安全威胁。对于建立在算力验证的基础上的开放的去中心化系统,它越开放,参与验证的网络成员越多,系统越安全。对于依赖单点的中心化系统,可以在区块链写入数据的网络成员越多,系统越不安全,因为每个网络成员都是潜在的安全威胁。
区块链技术作为一种制造电子现金的机制
迄今为止,区块链技术唯一成功的商业应用是电子现金,具体地说,是比特币。那些常被吹捧的区块链技术的潜在应用领域——支付、合约、资产登记,只有在使用基于区块链的去中心化货币时,才可能行得通。所有的无币区块链与市场上现有的解决方案相比都没有竞争力,无法从产品原型走向商业落地。比特币的设计一直在网上公开,开发者可以自由地复制和改进它,以开发新的商业商品,但9年过去了,这样的产品未曾出现。
市场检验表明,冗余的交易记录和工作量证明机制只适合于建立无须第三方中介的电子现金和支付网络。记录电子现金的所有权和交易只需很少的数据。其他需要更多数据的经济案例,比如大量的小额支付和合约,在区块链模型中会变得异常笨重。对于很多需要第三方中介才能完成的应用场景,区块链提供的解决方案毫无竞争力。在需要第三方中介的行业,区块链不可能被广泛采用,因为中介本身使运行区块链的一切意义和成本自相矛盾。对于区块链技术应用来说,只有在过程中使用电子现金,而且使用去中介化的电子现金带来的经济收益大于常规的货币和支付方式时,才可能具备现实的商业意义。
好设计的第一步是,要解决的问题是清晰的,然后找出问题的最优解决方案。最优解决方案不仅仅是解决问题,所谓最优,就是不能包含任何无关或多余的部分。比特币创造者的动机是创造一种“点对点的电子现金”,他为此完成了整套设计。除了对比特币机制的无知,没有理由期望这套设计适用于其他功能。经过9年和数百万用户的检验,我们可以说,中本聪的设计成功地制造出了数字现金,而且,不必意外,这套设计不附带任何赠品。电子现金可以有商业和电子应用,但是这并不意味着,将区块链技术当作可以在多个领域广泛应用的技术创新来讨论有何意义。更好的理解方式是,有一部机器制造出了确定性很强的点对点的电子现金,区块链是这部机器中不可缺少的一个齿轮。
致谢
本书得益于比特币开发者戴维·哈丁(David Harding)的帮助、指导和技术专长,他深入浅出地解释了一些复杂的技术问题,令人钦佩。感谢纳西姆·尼古拉斯·塔勒布答应为本书撰写推荐序,并帮我联系出版社。在与Wiley出版社的合作中,我有幸与编辑比尔·法伦(Bill Falloon)合作,他欣赏我的作品,并不知疲倦地督促我改进。同时也感谢整个Wiley团队的专业和高效,感谢雷切尔·丘吉尔(Rachael Churchill)细致和快速的校对。
还要感谢很多阅读了本书的初稿并提出宝贵反馈的朋友,这些人包括Ahmad Ammous、Stegano Bertolo、Afshin Bigdeli、Andrea Borto-lameazzi、Michael Byrne、Napoleon Cole、Adolfo Contreras、Rani Geha、Benjamin Geva、Michael Hartl、Alan Krassowski、Russell Lamberti、Parker Lewis、Alex Millar、Joshua Mattettore、Daniel Oliver、Thomas Schellen、Valentin Schmit、Omar Shams、Jimmy Song、Luis Torras和Hachem Yassine。
本书是我多年学习的结晶,在此期间,我有幸向一些非常聪明的人学习。我要特别感谢Tuur Demeester、Ryan Dickherber、Peter Sushenski、Michel Fahed、Akin Fernandez、Viktor Geller、Michael Goldstein、Konrad Graf、Pontus Lindblom、Mircea Popescu、Pierre Rochard、Nick Szabo、Kyle Torpey和Curtis Yarvin,感谢那些对我理解比特币有帮助的文章和讨论。
本书的研究和编辑离不开我非常能干的研究助理Rebecca Daher、Ghida Hajj Diab、Maghy Farah、Bill Falloon Sadim Sbeity和Racha Khayat。同时,非常感谢乔治·霍尔(George Hall)教授慷慨地与我分享了他的研究数据。
最后,若没有致力于完善和维护比特币协议的志愿开发者不知疲倦的工作,无论本书还是比特币都没有今日。感谢他们对这个项目的无私贡献。
相关文章:
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》前言
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》序言
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》第一章 货币
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》第二章 原始货币
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》第八章 数字货币
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》的译者序(被枪毙了)
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》第三章 金属货币
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》第四章 政府货币
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》推荐序一:比特币是什么?
- 《the Bitcoin Standard》(比特币本位)简体中文版《货币未来:从金本位到区块链》第九章 比特币的优势在哪里