第三节:比特币挖矿续

你好

欢迎来到蜡笔小胖的区块链学习课堂

首先感谢中本聪

今天是比特币的第三节课

1.挖矿补充

通过上一节课的学习我们大概了解了什么是比特币挖矿,以及一些比特币的基础知识。

我们知道挖矿就是争夺记账权。在比特币的网络里面每个节点都在不停的计算符合要求的哈希值,来抢夺记账权,然后第一个抢到记账权的人就会凭空得到50个比特币作为奖励,然后这个奖励是每四年减半,它的总量不会超过2100万个。那有人问,把矿挖完了就没有人挖矿了,怎么办呢,实际上矿是挖不完的,奖励每四年减半,直到最后挖出来的比特币几乎是零,比如说可能是0.000000000001个比特币,这也相当于几乎挖不出矿了。实际上在挖矿的时候,除了无中生有产生的比特币之外,矿工还可以得每笔交易的交易费,这就好比你去银行给别人转了100块钱,你需要给银行交手续费一样,交易比特币的时候也需要支付手续费,也就是矿工费,矿工在打包你的交易记录的时候就会拿走你支付的矿工费,这个交易费是你自愿给的,当然你也可以不给。

因为矿工在打包的时候会优先选择打包那些付出交易费比较高的交易,所以如果你不给交易费,那你的交易可能会很长很长时间打包不了。也因为总有人的交易比较着急,总有人会支付比较高的矿工费,所以当挖矿几乎挖完的时候,矿工是通过收取矿工费来维持记账的。

我们再来看一看,比特挖矿的这套机制,就有点儿像开采地球上的黄金,假设地区球上的黄金总量是一定的,那么开始开采的都是比较容易的,每次开采出来的黄金就比较多。后来越来越难开采,开采出来的就比较少,但是最后开采出来的总量就会无限接近于地球上的存储量。

2.如果出现多条链怎么办

我们知道挖矿就是争夺记账权,那会不会出现两个矿工或者多个矿工同时抢到记账权,并且在系统中广播自己的记账区块呢?这种情况是会存在的,如果出现这种情况,区块链会将这两个甚至多个区块都平行的链接起来,即区块链此时被切分为两条链或者多条链(打开文稿,我给你画出了切分为两条区块链的示意图,上面的链比较长,下面的链比较短)。这个时候其他矿工会任选其中一个作为分支,继续进行新的区块的计算,不同矿工会选择不同的分支。然后新区块被计算出来就连接到该矿任意选择的链上面,由于矿工的选择是随机的,而且区块计算也有很大的不确定性,因此在各个链条上新增1~2个区块后必然会出现某一个分支上的区块数量更多,长度也比其它分支要长的多的情况。

当出现某一个长链后,全网的矿工都能看的到,于是所有的矿工都会选择更长的那条区块链进行下一轮区块计算。于是长链更长,短链不再更新,原来的短链就会被删除掉。区块链又回到了一条主链上面的情形,所以短链上记录的交易也就没有了,比如短链上面挖出来的矿也就没有了。顺便提一句,根据比特币的历史经验,曾经发生过的最多的平行区块链是6层,即两条链上各有6个区块同时继续,这种情况只出现过一次。

以文稿中的图为例,如果从第三个区块开始出现了上下两条链,然后直到第五个区块开始,上面这条链才变的比较长,那下面这条链会被矿工弃掉,就会被删除掉。

3.每笔交易需要6个区块确认才是安全的

由于可能经常出现这种平行链的情况,所以一般来说一笔交易通过6个区块的确认才能被完全确认。如文稿里面的图所示:假如我们的交易被打包在了第二行的区块3’里面,如果这个区块后面继续链接确认打包了5个区块,那么区块3’里面的交易才是安全的,不能被更改的。但是如果像我们刚才所说的,它的链比较短,被删除了,那打包在区块3’里面的交易就不存在了,那我们的交易就是无效的。

4.比特币每秒的平均交易量只有7笔是怎么算出来的

中本聪开始设计比特币的时候,将一个区块的容量设置为1M(兆字节)(1G=1024M),而一笔交易是250字节甚至更多,有些交易现在也基本达到了500字节。

1M=1024KB=1048576字节

那么一个区块包含的交易总数为:1048576/250≈4194.3(笔)

一个区块的确认的时间大概是10分钟,也就是600秒

那么一个区块每秒能处理的交易数目大约为:4194.3/600≈7(个)

今天的课程就到此为止,通过今天的课程你了解到了如下知识点:

1、把矿挖完了,矿工为什么还可以挖矿

2、比特币挖矿出现多条链的时候会怎么办

3、为什么每笔交易需要六个确认区块才是安全的

4、比特币每秒的平均交易量只有7笔是怎么算出来的

感谢你的收听,我们下节课再见

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180320G1VGW100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券