小明开了一家公司,有人来买货,开出一张一万元的支票,小明横看竖看,确认这张支票是真的,书写和印章都没问题,打电话问开户行,得知对方公司账上有钱。
于是小明把支票留下,把货交给对方,但当他把支票带去银行取款时,却遭遇晴天霹雳。
柜员告诉他:“这是一张空头支票,对方余额不足,无法取现。因为就在你进门之前,有人刚刚把这一万元取走。”
小明被双重支付了一次。
根据维基百科的定义,双重支付(Double Spending)是指一种货币设计的潜在缺陷,这种缺陷使得某些货币能够支付一次以上。一个人买东西付完钱,这钱就不再属于他,他就不能再用这钱买其他东西——这是再正常不过的逻辑,否则就是偷、骗、抢。
任何货币支付体系都不可避免地面临双重支付问题的挑战,防范双重支付有两种解决方案:中心化和去中心化。
创建一个可信任的第三方机构,用来鉴别每一笔钱到底有没有被支付过。
银行就是这样一个第三方机构,小明可以先到银行进行现场验证,确认入账后再交货。
中心化的解决方案有一个问题:如果这个中心本身不权威,整个系统就容易失灵。例如,小明要验证能否凭票收款,就得带着支票去银行,如果他懒得跑,那就得冒损失一万元的风险。
空头支票只是双重支付中的一种,更厉害、波及范围更大的另一种双重支付是货币增发。
有一种加密技术,可以用来避免用第三方来验证交易,因为每笔交易都被实时记录在一个全公开的账本上。
当别人与你进行一笔交易,只要这笔交易被大多数人记录到,大家就都认为这笔交易合法,你的账上就有无法撼动的钱。这种技术让双重支付变得不可能。
这种方案的另一种名称是比特币(Bitcoin),以后不管你看到什么样的新闻,记住比特币的用处是使用去中心化的P2P技术解决了双重支付问题。
比特币的创始人化名为中本聪,他在比特币白皮书里写道:
我们提出一种使用点对点网络解决双重支付的解决方案。该网络通过哈希(Hashing )对全部交易加上时间戳(Timestamps),将它们合并入一个不断延伸、基于哈希(Hash-based)的工作量证明 (Proof of Work)链条作为交易记录,除非重做全部工作量证明,否则交易记录一旦形成,将不可更改。
你别看都是专业术语,但其实中本聪的意思是:如果这个世界有一个账务完全公开的银行就好了,可惜没有,那好吧,我就建一个只管记账的去中心化银行。但是发行货币这事我可不管,全让算法来。
于是,就有了比特币。
那这家搞比特币的银行厉害在哪里呢?
它把没必要的业务全部砍掉,只专注一件事,一件只靠计算机就能完成的事:账务公开地发行货币。而账务公开的意思是:持续、公开、正确地记账。
就是这样。
由此我们看出,防范双重支付风险有两条路可以走:中心化和去中心化。
以前我们“选择”中心化的道路,是因为没有去中心化的技术,我们不得不做出中心化的“选择”,但现在已不同。
2009年,比特币一出现,就注定改变世界。十年后的今天,比特币已经日益成熟并且强悍到价格一度戳破了天花板。
但你知道,这只是一个起点。