B-Money,比特币早期雏形
在数字化货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况,这称之为双花。
戴伟(Wei Dai)是一位华裔计算机工程师,对密码学和加密货币的贡献而闻名,他开发了Crypto++ 密码库,创建了B-Money加密货币系统,并共同提出了VMAC消息认证码算法。
早在九十年代初,Dai还是在校的一名计算机学生,对于哲学和政治的好奇使他阅读了Timothy May的密码朋克宣言(Cyberpunks),1998年的B-money中写道:“和其他传统的无政府主义相关的组织不同,在加密学无政府主义中,政府不是被暂时摧毁,而是永久的禁止,而且永远也不需要政府,在这个社区中暴力并没有用,根本不存在暴力,因为这个社会的成员并不知道彼此的真名或真实地址。”
Dai积极参与了Cyberpunks邮件订阅中的许多讨论,诸如“数字声誉系统、博弈论、隐私以及电子现金中的匿名性。还写了一系列提案来推动Cyberpunks的愿景,包括“受信任的时间戳、一个加密TCP隧道工人、一个安全稳定传输系统”等等,这使得Dai在Cyberpunks的名声大噪。
1998年11月,刚刚大学毕业的他在社区提出B-money想法:“有效的合作需要一种交换媒介(金钱)和一种确保合同执行的方法。本文中,我描述了一种协议,通过这些协议使得不可追踪的匿名参与者可以更高效的彼此合作…,我希望这个协议能够推动加密学无政府主义在理论上以及时间上向前迈进。”B-money 的设计目标是是一个匿名,分布式电子现金系统。
典型的电子现金系统会使用中心化的账簿来追踪账户余额,不管是中央银行、商业银行、VISA或者任何其他的支付服务提供商,都需要一个中心控制的数据库来追踪这些钱是属于谁的。
在Cyberpunks社区看来,这种方式的问题在于政府能够通过政策管理来控制金钱的流动,同时要使用这些机构服务(银行或支付宝)需要暴露身份,于是Dai提供了两个替代方案(工作量证明和分布式记账)。
1.工作量证明创造金钱,任何人都可以通过计算一些数学难题,算出答案的人可以广播到全网,每个网络节点验证之后,都在自己的账本上给这个人的账户上添加或销毁工作量等价值的加密货币。
2.分布式记账追踪交易,发送方和接收方都没有真实姓名,都只是公钥。发送方用私钥签名,然后广播交易到全网。每一笔新的交易产生,每个人都更新他们手里的账本,使得没有任何人能够阻止交易,保证所有用户的隐私安全。
3.交易通过合约来执行,在B-money中,交易是通过合约(Contract)来实现的,每一个合约都需要有仲裁人(第三方)参与,Dai为此设计了复杂的奖惩机制以防止作弊。
我们可以看到与比特币之间的关联,通过POW工作量证明来创造金钱,并把记账的工作分配到一个点对点的网络上,所有交易必须通过合约来执行。但是Dai认为他第一个版本的方案无法真正应用到实践中来,“因为它需要一个很大的即时同步、防干扰的匿名广播通道。”换句话说,第一个方案并不能解决双重花费(双花)的问题,而比特币是通过激励解决拜占庭将军问题的。
Dai随后在Cyberpunks社区中解释:“B-money还不是一个完整的可行的方案,我认为B-money最多可以为那些不想或者不能用政府发行的货币或者合约强制执行机制的人提供一个替代解决方案。”
确实,B-money的许多问题一直未得到解决,或者至少是没有被指出。也许最重要的是,它的共识模型并不非常稳健,Dai在提出B-money之后并没有再继续试图解决这些问题,他去了TerraSciences和微软工作。
但他的提案并没有被人忘记,比特币白皮书的第一条参考文献就是B-money,在比特币白皮书发表前不久,Hashcash的Adam Back建议中本聪去读一读B-money,Dai是为数不多中本聪亲自联系过的人之一。但是Dai并没有回复中本聪的邮件,后来回想起时表示感到后悔。
他在LessWrong上写道“这可能有一部分是我的错,因为中本聪给我发邮件询问我对他的稿件的看法时,我没有回复他。不然我可能能够成功劝说他不要用固定货币发行量这个想法。”
B-money是密码朋克社区对研发数字世界中的独立自主的货币的又一次探索,2013年,Vitalik Buterin的以太坊(Ethereum)最小单位Wei,便以他的名字命名。