我第一次认真看比特币的时候,我觉得这个设计实在是很精妙——抗审查、总量固定、不需要任何银行和政府就能运转。在此之前,没有一个支付系统能同时做到这几件事。
我当时想,中本聪如果是个人(而不是个团队),他得聪明成什么样才能搞出这种东西?
不过后来学习得多了才知道,比特币并不是他拍脑袋想出来的。在这之前,已经有好几个人花了十几年做类似的尝试,只是都没成而已。
首先登场的是 DigiCash/eCash,这个是密码学家 David Chaum 于上世纪八九十年代发明的。
David 当时最重要的创举是盲签名(Blind Signature),这玩意儿有啥用我举个例子,大家就清楚了。
比如说,你想让银行给你一张 10 美元的数字钞票,但你不想让银行知道这张钞票的序列号,不然的话银行就能追踪到你把钱花在哪了。
那怎么办?
可以这样,你把序列号放进一个带碳纸的信封,封好口递给银行。银行在外面签名,确保碳纸把签名拓印到里面的文件上。之后银行把信封还给你,你打开信封,就得到一张银行已经签名、但银行从未看过内容的钞票。
这个就是盲签名的机制。银行验证了数字钞票,但不知道最终是谁花了这笔钱,用户获得了和现金相同的匿名性。
这个项目听着很好,怎么后来就黄了呢?
关键问题还是出在中心化上。
eCash 必须由一家银行作为被信任的铸币机构来发行和验证钞票。银行可以被监管施压、可以被政府关闭,这个是所有中心化产品永久的痛。 eCash 最后也是由于美国政府的施压,导致没有银行敢采用 eCash 而破产。
1997年,Adam Back 提出了 Hashcash,它的核心机制是工作量证明(PoW):发件人在发送邮件前需要完成一道计算题,证明自己付出了计算资源。
这套机制的设计目的是遏制垃圾邮件,与货币无关。中本聪后来将 PoW 移植到比特币中,作为网络安全的基石。
1998年,Wei Dai 发布了 b-money 方案,这是第一个去中心化数字货币的完整框架。比特币白皮书在引言部分的第一个脚注就是给的他。
b-money 它提出了“集体记账”的思路,但留下了一个未解的问题:当两份账本产生冲突时,节点依据什么规则选择其中一份?没有最终裁决机制,系统就无法自发收敛到同一条历史线。
2008 年,中本聪在发布白皮书前,联系了 Wei Dai 和 Adam Back 两人,请求审阅草稿。Dai 没有回复中本聪。他后来在采访中表示遗憾,他觉得他应该要回复中本聪的,不然的话,他或许可以说服中本聪不要采用固定货币供应。因为在他看来,比特币的通缩模型(总量固定)是个缺陷,他倾向于稳定价值模型,也就是要盯住一篮子商品,他认为这种更好。
距比特币最近的尝试,是 Nick Szabo 的比特黄金(Bit Gold,1998-2005)。链式 PoW、时间戳、分布式记录——比特币的基本骨架它全部具备。
Nick 是想过要把比特黄金付诸实践的,但是落地还缺少两块拼图。
第一,没有共识机制。 Bit Gold 有分布式产权登记簿,但当两个人同时解出难题、同时试图登记时,登记簿没有规则来决定哪个记录有效。在开放网络中,这意味着链可以无限分叉——不同的节点持有不同的"权威历史",系统永远无法收敛。
第二,没有经济激励。 Bit Gold 假设有人愿意花计算资源去维护登记簿和验证他人的交易——但它没有给出为什么要这样做的理由。在无需许可的网络中,依赖利他主义是不可持续的。
而这些问题都被后来的比特币给解决了。
比特币用最长链规则解决了第一个问题:所有节点始终选择累计工作量最大的那条链。
而针对第二个问题,比特币加了区块奖励(block subsidy)和交易手续费。矿工打包一个有效区块,获得新产的比特币和区块内所有交易的手续费。只要比特币有市场价值,就永远有人愿意出块维护网络。不需要信任,不需要信仰,激励机制代替了善意。
中本聪正是解决了这样那样的问题,才使得比特币如此的与众不同。
很多人觉得比特币就是炒作的产物,我不这么看。上面这些方案或者产品摆在一起,你会发现比特币身上有前面二十几年密码学实验的积累,每一代人都留下了点什么,最后被一个人都装在了比特币上面。
比特币真的没有价值吗?那这么多人研究的初衷是什么呢?我相信这都是值得思考的问题。