比特币之前就有了很多电子货币了,但是都失败了。因为它们都没有能达成去中心化,抗攻击和自带内在价值的目标。直到2008年,中本聪发明了比特币,通过中本聪共识的方式达成了这些目标。中本聪共识是包括 POW 机制在内的几个游戏规则的结合体,让比特币成了一个无需信任的电子现金系统。
中本聪共识解决了公开系统上的拜占庭将军问题。
拜占庭将军问题指的是如果一组人想要通过投票就一个事情达成共识,但是大家不能集中到一起,只能互相联系。那么显然,如果这个过程中有太多人乱投票,共识就达不成了。根据数学推导,得出的数据是只要有三分之一的人捣乱,就不可能达成共识了,这就是拜占庭将军问题。
中本聪共识诞生之前,拜占庭将军问题的各种解决方案都是通过对整个 P2P 网络添加限制。一个添加了限制条件的 P2P 网络有时候也是有用的,例如实现分布式的数据库。但是要在真正的节点之间都互相不认识不信任的条件下实现一个真金白银的转账系统,是不行的。
而中本聪共识的出现,解决了这个难题。
中本聪共识有四个组成部分:工作量证明 ,选择出块人,时间戳服务器以及激励。通过这些机制,只要网络上算力的50%以上没有协同起来去攻击网络,那么共识就是可以达成的。
中本聪共识的核心是工作量证明,英文叫做 POW 。这里的 POW ,不单单是工作量证明本身,因为工作量证明本身可以认为就是一串数字,是经过很多运算工作量之后获得的一个数学问题的答案,因为这个答案可以被用来证明答案提供者的确付出了一定的工作量,所以被叫做工作量证明。但是通常在比特币的语境下,POW 指的是基于工作量证明的一系列的为了达成共识而采用的策略的总和,也就是本文的题目所说的中本聪共识,也可以叫做 POW 共识。后面的三个组成部分,其实都跟 POW 紧密相关的。
再来说第二点,选择出块人。中本聪共识通过让所有参与者竞争运算 POW ,形成了一种随机选择独裁者,也就是出块人的类似抽奖的机制。每个参与者,实际上就是一个 CPU ,都会拼命去运算一个数学问题的答案,也就是运算 POW ,这个过程是有随机性的,算力强的 CPU 也不一定能先算出结果,所以说类似一个抽奖过程。谁抽到大奖就会成为下一个出块人,或者说是下一轮游戏的独裁者。但是中本聪共识的特点是,最终的共识产生在最长链上,所以如果有攻击者侥幸获得了某一次的出块权,那么对网络的安全是没有影响的,因为最长链是一个多轮博弈的结果。POW 机制保障了只要攻击者没有持有超过50%的算力,那么他就不可能通过一己之力生成最长链。这样也意味着,攻击比特币网络是有真金白银的消耗的,因为需要购买大量 CPU 和电力,这可以说是比特币安全的经济角度的暴力屏障,也是终极安全屏障。
再说第三点,时间戳服务器。POW 对于比特币系统的核心作用是防止双花。UTXO 中所带的数字签名只能保证比特币的所有者是谁,但是却不能防止所有者对这个币多次使用,也就是进行双花。而基于 POW ,比特币形成了自己独一无二的去中心化的时间戳服务器,实现了了有效的交易排序,也避免了双花的可能。
最后一点,激励。中本聪共识的另外一个层面是,在网络上生成有”内在价值“的货币,让大家有动力去参与网络。运算工作量证明是要耗电的,是要花费法币的,这样就给了比特币本身以内在的固有的价值。网络设置了2100万的发行上限,保证了比特币的稀缺性。于是矿工才会自发的去参与中本聪共识这个游戏中来,换句话说就是来挖矿。这样导致两个结果,首先,挖矿过程不需要有一个强大的第三方组织去发放货币激励,比特币本身是在挖矿过程中由每一个获得了出块权的矿工发行的,同时比特币有自己的内在价值,可以直接作为矿工的奖励,不需要依赖第三方这保证了比特币的纯粹的去中心化。第二,参与的矿工越多,网络算力越大,整个网络就会越安全,因为攻击者要凑够50%的算力,就需要花更多的钱。
以上四点就是中本聪共识的核心组件了:POW ,选择出块人,时间戳服务器和激励。
中本聪共识的意义有两点。
首先,解决了开放系统上的拜占庭将军问题。开放的去中心化的系统上,没有人有权力限制他人进入游戏中来,也就是说网络是无准入门槛的,是 permission-less 的,各个节点地位平等且保持匿名。这样的前提下,传统的拜占庭将军问题的解决方案都是无效的。中本聪共识破天荒的解决了这个问题,是人类科技的一个突破。
其次,中本聪共识形成的是一个自激励系统。这个系统是无需强势第三方去激励和推动的,于是就避免了被中心化控制的可能。当然,比特币网络也不是不用加油就能跑的永动机,加油的人是每一个网络节点,或者说是每一个参与者,是一个去中心化的加油过程,具体做法就是通过购买电力,花费发币,来给系统生成的比特币以一定的内在价值。
中本聪共识的最终意义就是通过共识达成了不可篡改的数据,构建了无需信任的电子现金系统。
目前比特币核心开发团队的领袖 Adam Back 说
伟大的设计看起来都是非常简单的,但是设计它的过程其实是极其复杂的。
中本聪共识就符合这样一个标准,乍一看上去是非常简单的,但是展开来讲,不仅仅涉及到计算机科学的很多知识,还引入了经济学和博弈论。通过这些技巧的综合运用,中本聪共识最终解决了开放系统下的拜占庭将军问题,实现了去中心化的电子现金系统。
参考: