秒懂区块链背后的经济机制设计 6.22 记——区块链技术知识

1. 矿池 VS 矿池(一)

而当有矿池掌握了 51% 以上的算力之后,就可以发起双花,因为它拥有了篡改交易历史的权利,比如:把之前所花费过的一笔交易,给回滚回去,再次进行支出,这样就可以非法得利,这也是目前比特币最大的风险所在。不过虽然这样的攻击在技术上是可行的,但我们可以通过博弈论来分析一下,发起这样的 51% 攻击值不值。

首先来说,通过这样的攻击唯一能获得的收益就是双花。它不能去改变别人的交易,更不能无中生有的去创造另一笔交易,因此双花成了 51% 攻击之后唯一能做的事情。但这对于所花费的 51% 算力成本来说,所获得的回报简直微不足道。而且这样的攻击很容易就会被其他矿池所发现,随之而来的就是为数众多的惩罚措施。其他矿池可以采用种种手段屏蔽掉你的 51% 攻击,甚至可以去修改算法,矿池里的旷工们还可以投票离开你的矿池去别的矿池等等,做这些的最终目的无非之后一个:把你抛弃。也就是说,发起攻击收益是十分有限的,但风险却是极其巨大的。因此这也那个的攻击行为绝对不是一种纳什均衡,任何一个理性的矿池都不会去选择进行这样的攻击。即使有这样的能力也不会去那么做。

_
_

2. 矿池 VS 矿池(二)

除了上述所说了 51% 攻击之外,矿池之间其实还存在着第二种博弈,叫做:** 自私挖矿。** 当矿池的算力达到 33% 时候,就可以进行自私挖矿。简单来说就是:当自己挖到一个新区块链之后不对外公布,然后自己偷偷去挖第二个块。由于算力已经占到了三分之一以上,因此有极大的概率可以在其他矿池之前挖到第二个区块。那这个时候,它再把第二个区块公布出来,自己就成了最长链,其他旷工就会切换到我的链上,这样就可以获得类似于 51% 攻击的双花收益。

这个从技术上也是可行的,没有问题。但这样的攻击和 51% 攻击一样,是非常容易被发现的。它也是一个风险大,收益小的获利手段,也不是一个纳什均衡,因此也不会有任何一个矿池会进行这样的攻击。这就跟我们开始说的囚徒困境有很重要的关联,之前我们有说到过,静态博弈与动态博弈的使用场景是完全不一样的,而挖矿明显不是一次性的,它是一个常态工作,所以挖矿的博弈其实是一个动态博弈。在动态博弈的过程中,矿池就一定会选择诚实守信,而不是发动攻击。所以最终的结果就是:即便矿池有能力,也不会去发动这样的攻击。这也是为什么算力攻击被发现至今却从未被实施过的重要原因之一。

_
_

3. 矿池 VS 矿池(三)

矿池与矿池之间其实还存在着第三种博弈:** 扣块攻击。** 假设现在有两个矿池:一个 A 矿池和一个 B 矿池,各自都拥有 50% 的算力,一半一半。那 A 矿池可以先将自己 25% 的算力有意投放到 B 矿池中去,这样 B 矿池就有了 75% 的算力。但 A 矿池投过去的这 25% 的算力其实是一个不诚实的算力,当我挖到新区块的时候,正常的旷工要向矿池上报,但 A 矿池的 25% 算力不会那么做,他们会将新区块扣留下来,也就是说,B 矿池名义上拥有 75% 的算力,但其实还是只有 50%,另外那 25% 的算力是卧底。

现在 A 矿池只有 25% 的算力,而 B 有 50%,也就是说,B 矿池可以挖到 3 分二的区块,而 A 矿池只能挖到三分之一。从表面上来看,A 矿池是吃亏的,但你要知道,B 矿池所挖到的所有区块链奖励,都要均摊给那 75% 的旷工。这么一算,B 矿池中诚实的 50% 旷工,其实只得到了:三分之二乘三分之二等于九分之四的区块奖励,剩下的九分之五的区块奖励全被 A 矿池夺走了。也就是说,A 矿池从 B 矿池那里额外获得了九分之一的奖励。毫无疑问,这也是一种矿池之间不正当的竞争。那这样的扣块攻击是否值得去做呢?其实作为旷工来说,应该考虑到更多实际情况,当除了 A 和 B 之外,还有其他矿池存在的时候,那当 A 矿池向 B 矿池发起扣块攻击时,获利的不仅仅是他自己,其他的矿池会获得同样比例的收益。也就是说,A 矿池的收益要远远低于我们刚才所分析的收益值。跟之前的 51% 攻击其实是同一个道理:投入很巨大,但是收益却很小,发起这样的攻击是非常不值得的。而且这样的攻击一旦被 B 矿池所发现,那 B 矿池完全可以将同样的算力再放到其他矿池里去,这样最终受损的只有 A 矿池自己。所以如果 A 矿池考虑到了这个问题,自然不会选择发起攻击。

_
_

4. 未来

说到这里,所有比特币系统中的博弈机制就都讲完了。正是因为有了这些设计精妙的博弈机制,才能使得区块链网络能够正常运转。从 2009 年至今,所有参与者们很积极的自发维护着整个比特币网络的运转,接下来还会有越来越多的用户会投入到这样的机制当中去持有比特币,参与交易与挖矿等。由于比特币系统的博弈机制已经稳定运行多年,因此在之后的很多区块链项目中,都参考了比特币系统的机制设计,并做出了一系列改进。比如以太坊,首先在手续费的模型上引入了 GAS 机制。通过 GAS 的价格来引导交易市场的运转,比比特币的手续费机制设计的更加精细。而且 GAS 手续费的价格与以太币有一定脱钩,不太受以太币价格的影响。

另外以太坊还在 CASPER 共识算法中引入了很多类似于工作量证明这样的惩罚机制。使得记账者不能说谎,不然他们所投入的资金就会被全数没收。在很多 ICO 项目里面也采用了很多这样的机制,利用 ICO 的模式可以让开发者在很短时间内就能得到高回报高收益,也最终解决了数字货币从发行到最后使用的一个闭环过程,让 ETH 所发行的代币有了流通性。当然,后来的结果大家也都看到了,很多开发者在拿到大笔资金后就开始不求上进了,甚至很多都跑路不管用户死活了,这怎么能行?因此后来就出现了 DAICO 延迟奖励机制,通过延迟发放代币来约束开发者们能够老老实实的工作,稍高一些歪门邪道。

以上就是简单的以比特币为例,简单的介绍了一下数字货币和机制的激励是如何建立的。在众多的参与者之间,是如何通过相互之间的博弈来达到一个纳什均衡的。我们未来在设计区块链产品的时候,一定要以这样的机制设计理念为指导,多从用户角度出发去解决实际问题,而不是只想着如何获利。要让各方的利益均衡,这样才能使我们的区块链技术能够长期有效的运转下去。