硅基信任(2)

81 阅读7分钟

你如何判断亚马逊雨林中央是否有棵大树倒了?除非你去过那个地方,并亲眼见到一棵大树倒在亚马逊雨林中央。当然,你也可以退而求其次,看到某人拍的一张照片,里面有倒在亚马逊雨林中央的大树,那么你也可以相信这件事。如果这个人是个权威的媒体或者政府机构,可信度直逼你亲眼所见。但08年的灾难让中本聪在内的很多人,不再信任这种权威的背书。经济体不是拍照片这么简单的事情,它过于复杂,以至于不存在拍照片这种近乎完美的背书形式。可能是出于对政府的失望,可能是想进行一场社会实验。总之,比特币诞生了。

原始比特币的经济属性其实仅仅相当于简单的货币,不涵盖任何的借贷、利息等概念。这让比特币的应用变得极其单调,就像海边的贝壳,只能交换。在这种程度上,比特币又不像货币,因为它没有货币那种连带的庞大的金融体系支撑。不过中本聪最初的论文也仅仅称比特币为点对点的账本系统,这个定语还是相当精准的。是的,比特币只是个简单的账本系统。下面,我们也就从简单账本的角度分析比特币的技术原理和其产生信任的根基。

“比特币的信任来源于哪?”针对此问题的回答大都会归咎到其狂热信徒的非理性盲目崇拜,因此,这一点也是诸多诟病和看空比特币者的核心理由。他们最常用的比喻就是郁金香泡沫和密西西比泡沫,预示并乐于见证比特币的暴跌,信徒们一夜之间倾家荡产,不得不说,建立在痛苦之上的快乐是极具一种权利征服感的。

如果你问我,比特币是不是一场泡沫?我会说是的,确实是泡沫,但与郁金香泡沫不同的是泡沫之下也存在一些坚实的地基。并且构建这些“地基”的信任是我们先前从未见过的。为什么说比特币是一场泡沫?多数人的回答均是:价格虚高、不存在实际价值、整个过程看起来像庞氏骗局等等。这些观点都对,但都没有切中要害,或者说,最根本的视角和看法有问题。他们的观念的潜台词或核心思想是:比特币没有信任价值,毫无意义,从长远来看,其价格会回归价值,并趋近于0。我要反驳的正是这一观点,在我看来,比特币的信任价值是存在的,并且以一种我们从未见过的全新模式存在,这也让很多人误判觉得其毫无价值。

要清晰地解释我的反驳,得从比特币的基本逻辑层层剖析,可能需要一定的计算机理论基础,我尽量用简明的案例和比喻来说明,现在让我们开始吧。

作为分布式账本,比特币账本中记录了全网的所有BTC交易信息,并且这些信息被一份份地完整拷贝在各个节点中(全节点)。这是为什么?为何相同的账本要被多次备份?难道像银行系统那样不行吗?我们所有人的交易信息都存储在银行的服务器中。答案就是:交易信息就好像亚马逊雨林中的树,在一个无人可信的网络中,我们只有将其存储在本地,才能放心地验证它是否正确。也就像开头提到的,我们只有亲眼见到这棵树,才能说“一棵大树倒在亚马逊雨林中央”。你告诉我,ALice给你转了100元,我无法相信,除非你把转账记录带上Alice的(数字)签名给我看(在我的本地机器上运行验证并通过),我才能相信。

只是全网备份这一点还不足够描述比特币和区块链。另一个创新的特征是“挖矿”(在广义上,应该称之为“共识过程”),这也是被曲解和误解最多的一个点。我记得知乎上有一个问题是“矿工挖矿的意义到底是什么?”,一些回答说是为了选出leader,这是挖矿的结果但绝不是其根本目的,因为抛开这种极其耗费算力和电力的方式,还有很多可以很方便地选出leader的算法。挖矿的本质目的是提升分区容忍性。因为账本这种应用不同于许多数据库应用,其是不允许非一致性的出现的,也即具有强一致性。可能我们直观上对此性质没有很强烈的感受,拿身边的例子来解释会比较容易理解。首先我们有没有遇到过:某条微博信息已经被北京的朋友刷到了,然后和你说了,你登陆微博(ip地址在广州)想去看这条信息,却发现这条微博并没有发布,过了几分钟后终于刷出来了。再来看另外一个例子,我们经常使用移动支付,但绝对不会出现一个朋友A在北京查看我的账户余额是a,而另外一个朋友B在广州查看我的账户余额是b(a≠b)。这两个例子就是不需要强一致性的应用(微博)和强一致性应用(移动支付)的区别。回到比特币,显然其是一种需要强一致性的应用,那么这和挖矿有什么关系呢?

首先,如何保证一致性?一种简单天然的做法是,在执行操作时(修改余额、查询余额等),都要将不同的分布式数据库中的相关数据进行一致性处理。例如,我花费了100元,那么在北京的服务器和在广州的服务器都要及时地对我的数据进行修改以保证一致性。那么在区块链链中,如何做到这一点,通常的做法是选出一个leader,然后leader进行全网广播,然后全网的节点根据广播的信息来进行相应的操作(记录区块)。如果网络一直理想且通畅还好,若出现网络中断或者大面积网络分区(例如:极端情况下,北京的服务器连不上广州的服务器了),那么就会出现问题:北京的信息更新了无法同步到广州,从而产生不一致。这时,挖矿算法就开始发挥其本质作用了,在这种情况下,北京和广州的两个网络分区中会分别选出两个leader,并主导分区内的工作继续进行,直到两个分区重新畅通,这时会根据最长链原则,淘汰掉一个leader主导的内容(即,所谓的回滚)。从而保证整个网络的最终一致性。

由于支付系统一般是要永久性保证系统的正确性和一致性的,因此,挖矿这种算法类似一种“兜底机制”,是为了防止网络最差的情况下,任然能保证系统的正确性和一致性。又因为挖矿的本质是hash的计算,因此最终记账权力是根据算力来分配的。

算力保障了比特币账本的基本安全和一致性,也赋予了比特币作为账本的能力。和我们常用的网上银行、支付宝、微信支付不同,其记账权是完全基于背后的运营公司甚至是国家信用,而非依赖于机器本身。即使有黑客破坏了支付宝在某地的服务器,那么支付宝也能够快速从其他地区的服务器备份中恢复出用户数据。但若整个支付宝公司出现了道德风险问题,那么可能很多数据是完全无法追回的。