LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 晓说区块链 | 比特币区块的产生速度为何被设定为10分钟?

晓说区块链 | 比特币区块的产生速度为何被设定为10分钟?

2019-10-16 维基链WICC 来源:区块链网络

rbq2AaaCMOs028pAC9PGdixvp3NcNqDfzHdhzdIO.jpeg

我们知道,比特币的block产生速度被设定为了10分钟。按照官方Wiki所述,每一个节点需要一些时间来确认block(<10mins),但为什么是10分钟?

本期《晓说区块链》,陈晓东先生(维基链首席技术官)将围绕这个话题,为大家解读。

维基链CTO陈晓东:比特币选择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分钟波动的,而且不会有太大的偏差,也就是实现了一种统计学上的守衡。

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

webp

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

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

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

webp

也就是说,平均全网每个节点获得一个新块的时间在12.6秒。比特币有10分钟的块产生间隔,也就是远大于广播覆盖全网节点的时间,这也是必须的。

2)共识确立时间:如果块间隔时间短,难度系数必须变小才能确保更短的出块时间。这样在同样的算力下,会有更多的矿工在上一个块的基础上产生一个新块,从而增加更多的分叉现象,也会导致有更多的无效块在网络中广播,导致每个参与节点需要做更多的计算来处理分叉。

3)空块率大小:在没有交易的时候区块链也会产生空块,这种相对属于一种机制上的浪费,而且无法避免。那么如果间块隔时间过短,空块生成几率越高,从而产生的浪费也就越大。

为了形象地展示整个网络节点挖矿过程,用下图给大家一个说明:

假如全网总共有三个比特币矿工在挖矿,其中绿色的路线是分别挖矿成功的节点迁移轨迹。

webp

但是,具体从一个矿工节点的角度看,在先后两个块的间隔时间里面分为:

webp

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

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

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

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

联系信息

官网:
https://www.waykichain.com/
官方微信号:
WaykichainHelen
微信公众号:
维基WICC
新浪微博:
https://m.weibo.cn/u/5919542529 sudaref=login.sina.com.cn
Twitter:
twitter.com/wayki_chain
Facebook:
facebook.com/waykichainofficial/
Telegram:
t.me/waykichainchinese
Github:
https://github.com/WaykiChain/WaykiChain

—-

编译者/作者:维基链WICC

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...