简要介绍为何比特币10分钟会产生一个区块?

OKX欧意app

欧意交易app是全球排名第一的虚拟货币交易所。

APP下载   官网地址

比特币虽然发展比较好,价格也比较高,但它并不是无限量供应的,根据创始人的构思,比特币将会每四年进行一次区块链减半,并且每十分钟产出一个区块。有些投资者很难理解,比特币投资回报率这么高,为什么要搞的这么复杂,区块链减半主要是为了稳定比特币价格不至于下跌太多,这样就可以保障比特币投资价值,这一点比较好理解,但大多数投资者不清楚的是为何比特币10分钟会产生一个区块?下面币世界小编就给大家简单介绍一下。

简要介绍为何比特币10分钟会产生一个区块?

按着官方所说, 每个节点需要一些时间来确认block(<10mins),但是为什么要10分钟?和hash方程的难度有关么?

比特币选择10分钟来产生区块,也就是1/600 BPS (Blocks/Sec),这个是根据具体设计而制定的,也是人为的选择。而比特币的交易处理速度最高为:7 TPS (Transactions/Sec),这个是整个交易验证机制、共识机制,和P2P通讯机制,以及代码实现后所达到的一个技术上限。相比而言,以太坊目前是1/20 BPS和20 TPS,维基链是1/10 BPS和1000+TPS。

对于POW共识机制的公链来说,BPS是通过变更挖矿的难度系数来动态调节的。然而对于DPOS机制的公链,BPS是恒定的。

那么具体谈一下比特币的BPS设计选择来由:由于比特币采用了POW共识机制,也就是人人都可以成为矿工参与挖矿,而且可以随时退出挖矿。这样就导致了整个网络里面参与挖矿的矿工算力是动态变化的。当参与挖矿人数少的时候,算力低,挖矿难度系数根据算法相应自动降低;反之,当参与挖矿人数增多,算力增强,挖矿难度系数会根据固定算法来自动提升。

通过难度系数的调整来确保相对固定的出块时间。但是由于难度系数不是在实时调整的,而是根据设计和代码实现每隔了2016块调整的,也就是差不多2周的时间(假如说绝对均匀时间出块:2*7天*24小时/天*3600/小时/600秒/块 = 14*24*6=2016)所以调整难度系数有滞后,无法及时掌握总体算力的变化而调整,导致了每次算力调整后出块的时间有长有短,但是总体上是上下围绕10分钟波动的,而且不会有太大的偏差,也就是实现了一种统计学上的守衡。

为了增加感性认识,参见以下网络统计出来的比特币区块生成的花费时间表:

<= 10 分钟

> 10分钟

> 20分钟

> 1 小时

63.2%

36.8%

13.5%

0.25%

那么为什么调节了难度系数可以确保BPS相对守衡呢?因为难度越大,越需要更多的算力参与才能在同样的时间里面算出答案,也就是挖到矿。反过来,要保持同样的时间来挖矿成功,就需要根据算力的总量来调节难度系数了。

但是又为什么一定是10分钟呢?当初中本聪(Satoshi Nakamoto)做这样的选择,并没有明确说明,网络上也有很多的研究,但是并没有一个『官方』或者绝对权威的说法。根据笔者对区块链的研究,认为这个时间的长度是基于以下几个因素考虑的:

1、交易广播时间:所有参与挖矿的矿工都需要获得最新区块的信息并在这个基础上试图挖到连接的下一个块。根据研究表明,从一个节点广播一个消息到P2P全网节点的时间为下表统计所示:

简要介绍为何比特币10分钟会产生一个区块?插图

让:T = t1+t2 的时间就是块间隔时间。t1负责挖矿,t2负责解决冲突和广播挖到的新块。如果有分叉并且t1产生的新块不被接受,那么浪费的时间就是t1。

假如为了控制整体网络节点的计算浪费率控制住10%以内,那么 t1/T = 10%。

如果 t1=1min,那么T=10min。

然而实际上对于绝大多数矿工,出于总体浪费模式挖矿收益大于节约模式挖矿收益的考虑,他们的挖矿程序在t1+t2整个过程都不会停止,这样一旦前面一个块挖矿成功,第二个连续挖矿成功的几率也增加了。虽然其中也产生了更多的废弃区块,最后总体上挖矿成功的几率就大增了。能源浪费问题并没有因为这个10分钟区块间隔的设计而解决,也算是中本聪当年始料未及的吧。

以上内容就是对为何比特币10分钟会产生一个区块?这个问题的简要介绍,矿工根据历史出块时间自动调节难度,若比10分钟短,就加大难度,反之就减小难度,让下一块的出块时间接近10分钟,设定了10分钟预期之后,关于比特币的很多计算就可以简化,10分钟出一块,出块时间太短会导致较多孤块出现,受其他因素影响较大,也不够安全;出块时间太长会导致交易难以确认,等时过长,10分钟合理、合适、好记、好算,但并不是精确计算得出的数字,不是增一分则多减一分则少。

正文完
 

OKX欧意app

欧意交易app是全球排名第一的虚拟货币交易所。

APP下载   官网地址