David Chaum无疑是一个天才。这位杰出的计算机科学家与密码学家,于1983年最早发表了
把加密技术运用于现金上的想法。可以举个例子以助理解:我向人们发放带有我签名的卡
片,拿到卡片的人可以来找我兑换一定数量的人民币。如果人们相信我一定会履行兑换责
任,同时相信我的签名不会被别人伪造,他们就可以像支票一样在社会中流通我的签名卡片
——Chaum做的事情就是将这种卡片和签名进行了电子化。
但很快Chaum就遇到一个比较棘手的问题:恶意的“双重支付”。如果有人技术水平足够高
超,可以复制其他用户电子化的资产数据并且成功地模仿了签名,然后将这个复制的赝品卖
给一个倒霉蛋——例如你的老板——虽然听起来似乎不错——但从超越良心的层次上来说,
你该怎么维护老板的合法权益?
其实解决的方法也很简单:只需要在电子卡片上加上一个特殊的序列号。
在老板接受这笔交易之前,可以打电话给卡片发行方,报上序列号以查询这张卡
片有没有被交易过。
若是没有,老板便可以放心地“收下”卡片。
需要注意的是,“收下”这个过程本身就是一次交易,所以一旦老板完成“收
下”行为,就需要将这张卡片交还给发行方,发行方记录这段序列号已被交易。
发卡方重新发放一张等值但带有不同序列号的卡片给老板。
这样的方法即可避免双重支付。然而如此一来又会带来一个很重要的问题:个人信息和序列
号势必都会被卡片发行者记录在案,用户丝毫没有隐私可言——这显然违背了加密货币的初
衷。
此时Chaum的聪明才智就得到了最大的发挥。
�
所谓盲签
技术,可简述为:
1. 付款方选择一个盲化函数将信息盲化发送给银行,银行进行签名,将结果发回给付
款方。此过程中因为信息被盲化,银行无法得知信息内容。
2. 付款方用对应的去盲函数,剥掉当时由自己加上的盲化函数,从而得到一个干净的
银行签名。
3. 付款方在验证确实是银行签名并没有被别人拦截篡改后, 将银行签名发给收款方;
4. 收款方在使用对应的函数确定信息内容属实、银行签名属实后,将银行签名发回给
银行。
5. 银行收到签名后再次进行确认,并确保此次交易没被重复记录。
6. 银行进行相应操作。
在此过程中,银行
�
看到消息的内容,
�
将收款方和付款方发送的签名对应起
来,即银行并不知道自己在整个过程中的签名都是何次签署——这无疑双重保护了在线交易
用户的交易匿名性。如果对上面的过程依然觉得疑惑,无需担心,后面的章节里会详细解释
加密技术。
Chaum于1989年创立了DigiCash,将这个想法用Ecash付诸了商业化的实现。这是第一个真正
意义上的电子货币方案。但由于
,加之Chaum偏执的性格令公司内部产生了种种矛盾,外部银行的政策又进行了变相的打
压,导致Ecash最终没有得到大范围的推广。
不过无论如何,“盲签技术”的提出无疑非常具有前瞻意义。此后出现的各类数字货币的加
密算法都依存于盲签技术的进阶升级。这便是数字货币的重要特性之一:匿名性灵感的来
源。
就在Ecash因为过于依赖第三方机构(中心化问题)而陷入瓶颈时,一个名为Dai wei的华裔
软件工程师于1998年发布了B-money白皮书。
戴伟 Wei Dai,华裔工程师,密码朋克的狂热追随者。密码朋克是一群倡导使用强密码术以保护隐私的活
动家。在互联网的十字路口前,左边是“弱者要隐私,强者要透明”的未来,右边是被各组织机构控制的
极权世界。
在B-money的白皮书中,Wei Dai提出了“用工作量证明 (Proof of work) 来创造货币”的
理念:任何人都可以通过计算一个数学问题,并广而告之他的计算结果(即工作量证明)来
创造货币。这个概念在数字货币中十分重要,在此后的章节里会进行详细具体的解释。其实
早在B-money白皮书发布的前一年,工程师亚当·贝克就在一个名为哈希现金(Hashcash)
的体系中采用过类似设计。所以通过解决数学计算来赋予虚拟货币价值,B-money并不是首
创。
不过B-money最具里程碑意义的价值
�
。分布式思想(去中心化)是比
特币最重要的特性,而B-money被广泛认为是这一特性的启蒙者:B-money跟比特币类似,同
样具有点对点的网络,每个节点都在维护一个数据库账本。
但它不同于如今的区块链,B-money的每个节点并不能记录全部交易信息,而是记录它们各
自认为准确的记录,这就导致了全体节点无法对“工作量证明”达成一致,继而导致“造
币”过程难以实现。Wei Dai为此设计了复杂的奖惩机制以防止作弊,但没有从根本上解决
问题,这也是B-money最终没有普及的重要原因。
2005年,一个名为尼克·萨博的人提出了比特黄金的设想。以下是他发布在博客里的主要步
骤:
1. 首先一条公开的字符串——“谜题”被创建。
2. Alice在她的计算机上使用某个标准函数进行解密,并生成她的“工作量证明”(即
她的计算结果)。
3. 工作量证明会被加盖一个时间戳。加盖过程应该在一个分布式的时间戳服务里运
行,而不是依赖于某个特定的时间戳服务商。
4. Alice将“谜题”和带有时间戳的工作量证明,添加到一个分布式的注册表以获得
Bitgold。在这里,依然不存在任何特定的单一服务器来存储注册表。
5. 下一条公开字符串——“谜题2.0”被创建。
6. 为了验证Alice是该Bitgold的所有者,Bob会在注册表中检查Alice所留下的无法伪
造的信息。
7. 为了验证该Bitgold的是否有价值,Bob会检查并验证“谜题”与工作量证明、时间
戳的正确性。
此时的Bitgold已经非常接近于比特币的体系构造,因此尼克·萨博也一直被认为是中本聪
的候选人,虽然萨博早就做出了否认。不过由于萨博缺乏具体代码实现的能力,也迟迟没有
招募到相关人才,Bitgold最终遗憾地没能成为“创世货币”。
维基百科曾一度认为比特币不值一提,甚至准备删除比特币的相关词条。中本聪为了让维基
百科接受它,对比特币做出了这样的描述:“比特币是Wei Dai在网络朋克中所提到的B-
Money构想和尼克·萨博提出的Bitgold的具体实现。”
很显然,虽然这些货币都没有获得真正的成功,但它们的出现与迭代都直接促进了比特币的
面世,它的出现绝不仅仅是一个偶然。中本聪正是在前人们的基础上,用他卓越的智慧克服
了重重困难,创造了现如今改变全球数字货币格局的比特币。
不过比特币与B-money币、比特黄金依旧有很多重要的不同之处,例如B-money和Bitgold是
通过数学计算来直接创造货币——答案即货币;但在比特币体系中,比特币其实是为了维持
住区块链的持续稳定与生态健康,而间接产生的一种奖励。