第八章 聊聊区块链的几个数字

第八章 聊聊区块链的几个数字

  • 1、概述
  • 2、2100W
  • 3、每个区块10分钟
  • 4、挖矿奖励4年递减1次
  • 5、区块确认6次永久生效
  • 6、51%算力攻击
    • 6.1 币安黑客事件
  • 参考资料

1、概述

在学习区块链过程中,会发现一些数字,心里不断问自己,为什么会有这些奇妙的数字,它们是如何被定义出来的:

  • 比特币总数量为2100W个
  • 挖矿奖励每4年递减1次
  • 每个区块10分钟
  • 6次确认后交易永久生效
  • 51%攻击

本章的目的就是揭示这些数字背后的深层的原理。

这一章,可以说即快乐,又痛苦。
本身解谜就是一种很有乐趣的事情,痛苦的是这几个问题都没有标准答案。就算是自己的一种思考吧。

2、2100W

首先看看区块链为什么设置一个总量?目的是为了控制通胀,也就是货币贬值。

那为什么设置总量为2100W比特币,这个没有明确答案,我觉得可以从以下几个方面考虑:

  • 总量需要满足一个条件:能支撑全球的经济总量要求。2019年全球的GDP总量约为86.6万亿美元,2100W能支撑全球经济总量的长期发展。
  • 不能超过编程语言的对于整数的限制:比特币的最小单位是“聪”,1比特=1亿聪。所以比特币的总量等价于2100W亿,也就是2的50.899次方。这个数字比java中的整数2的64次方减1要小的多,但是在某些编程语言中,比如js,精确整数的最大范围就是2的52次方。
  • 为什么要设置比“比特币”更小的单位“聪”:货币的一个特性是可拆分,比如人民币有100、50、20、10、5、1的面额,可以支持小额交易。

3、每个区块10分钟

为什么生成每个区块大概间隔10分钟,这个问题,也没有标准答案,可以试着从以下几个方面分析:

  • 交易效率的考虑:每产生一个区块,区块中的交易就得到了确认。设置为10分钟,意味着每10分钟,新交易就可以确认一次。如果太长的话,就会降低交易效率。
  • 降低分叉的概率:间隔时间是通过目标值的难度系数控制的,难度系数越低,则时间越短。由于难度系数降低,矿工同时成功的几率会大大增加,这就增大了分叉的概率。
  • 网络延迟:网络中的新交易广播到全网,以及矿工挖矿成功后把区块广播到全网,需要一定的延迟时间,如果时间太短,不能保证大部分节点都能收到。

上面的分析,只证明了每个区块的生成需要一定的时间,但是为什么是10分钟,可能是进行了一些模拟测试,从众多的数字中得到的一个结果。

4、挖矿奖励4年递减1次

结合第二节我们知道,比特币的总数量应该有一个限制,但是就算有限制,那为么什么奖励要递减,不递减也可以达到这个总量呀,为什么是4年,不是2年,也不是8年呢?

因为每个区块大概为10分钟,每21W个区块后奖励减半,所以问题可以转换为:为什么是21W个区块后减半?

这个问题实在是难以解答,有一个黄金论,试着解释一下吧。太牵强了。

世界上的黄金储量是有限的,总计大概为21W吨,目前大部分已经开采完毕,剩余储量很少,每年的开采量都是有计划的,正是由于黄金是稀有的金属,才会在人类社会几千年的历史中,始终作为价值的代表。

比特币,如果想跟黄金一样成为一种持续有价值的货币,发行数量需要在一个相对较短的时间,追赶上已经发布的黄金数量。如下图所示,在2020年,比特币的发行量将达到总量的87.5%。另外,在初期设置较高的奖励,也有助于促进矿工积极参与挖矿。
随着时间流逝,社会对比特币的认知越来越深,比特币的网络也已经比较网络,慢慢的把奖励取消也不会造成矿工的积极性减退。
第八章 聊聊区块链的几个数字_第1张图片

5、区块确认6次永久生效

6次永久生效,只是一种模糊的描述,不可能永久生效,只是造假的概率足够低而已。

在中本聪的《比特币:一种点对点的电子现金系统》一文中,对攻击者的成功概率进行了模拟计算,详情可以参考这篇文章。

q表示攻击者算力所占的比例,z代表区块的数量,意思是当在当前算力下,需要至少多少个块,才能使造假概率低于0.1%。

q=0.10 z=5
q=0.15 z=8
q=0.20 z=11
q=0.25 z=15
q=0.30 z=24
q=0.35 z=41
q=0.40 z=89
q=0.45 z=340

6、51%算力攻击

假设小黑转给小白100BTC,小黑控制了全网51%的算力。则会推断出小黑在竞争最新区块时获胜的概率非常大,甚至在可以完全掌控后面区块的生成。
攻击的过程是:小黑重新创建第N个块,把转给小白的记录从中删除,然后重建之后所有的区块,使新创建的链成为最长链。
这样的结果就是小黑转给小白100BTC的交易失效。

第八章 聊聊区块链的几个数字_第2张图片
综上发现,小黑只能把自己转给其它人的比特币取消而已,不能凭空创建比特币,也不能把其它人的比特币占为己有。网络节点不会把一笔无效交易当作支付,而诚实节点也永远不会接受一个包含这种支付的区块。攻击者最多只能修改属于他自己的交易,进而试图取回他已经花出去的钱。

况且,如果小黑已经拥有了51%的算力,为什么不通过挖矿、手续费等方式合理获取收益,而是要通过这种破坏比特币规则的方式来获取呢?

所以,51%攻击从理论上看可能,但是从经济学角度上看,并不可行。

6.1 币安黑客事件

币安交易所用户被盗比特币7000余枚。

经分析,黑客是通过钓鱼、木马等方式,获取了大量币安注册用户 API 密钥(身份验证,控制访问)、谷歌验证 2FA 码以及其他相关信息,从而进行提款操作。

所以在比特币上,如何保护私钥、保护密码、验证码可能是每一个用户更重要的课题,而不用去担心51%攻击的问题。

参考资料

比特币的总量为什么只有2100万,不能更多吗?
为什么比特币设定的是 2100 万枚的上限?
比特币转账为什么一定要等6个确认才能到账?| 白话区块链入门129

你可能感兴趣的:(区块链)