比特币网络的算力涨落

每隔一段时间,关于比特币网络“算力暴涨”或“算力骤降”的话题就会热闹起来。在过去几年中,这是一个非常非常老生常谈的话题,然而反复被大家提起,并产生很多困扰和恐慌,本质上是由于对比特币挖矿和算力统计的误解所造成的。

比特币网络是依靠挖矿的过程而运行的,通过网络共识让比特币区块产生的平均间隔大概稳定在10分钟。虽然通过每2016个区块的挖矿难度调整,使得不论算力实际增加或减少,比特币出块间隔的期望值基本稳定在10分钟。然而对于某一个区块的生成,却是完全随机的,在1分钟内连续生成3个区块,在1小时内都没有区块产出,在比特币网络中都是司空见惯的。

这就造成通过观察短时间内的出块数量来反推全网算力是不准确的,因为样本空间实在太小,任何短暂的运气现象都会对估算值造成影响,不足以反应真实的情况。为了获得更加精确的算力状况,有两个方法可以增加参与统计的样本数量:一是增长观察的时间;二是取小于挖矿难度的数值进行观察。

“增长观察时间”很好理解。如果只观察一天出块,那么期望只有144个,而两周出块的期望是2016个,长期的出块数量会消除随机波动的影响,更加接近期望值,观察到的数值会更接近真实情况。

“取小于挖矿难度的数值进行观察”,这个方法看上去有点难懂,但实际这正是矿池为矿机估算实时算力、矿机自行估算实时算力的方法。因为出块挖矿难度对于单个矿机过于巨大,依靠实际出块是不可能估算到矿机的实际算力值的,所以矿池会把一个巨大难度的任务降解成小难度的任务,通过小难度任务的数量累计来估算实时算力。举一个不算恰当(完全解释清楚“难度”是另外一个问题了)但有助于理解的例子,假如你的老板交给你一个庞大耗时的任务,按照你的工作能力要用两年才能完成,那么在这两年过程中要怎样评估你的工作能力,付给你公允的报酬呢?显然,到两年期限再验收并不合适,因为无法及时评估你的工作能力,并发放相应的报酬;每小时要求你汇报并付时薪也不合适,过大的沟通成本会影响任务的完成。可能比较好的方法是每月汇报验收一次,以此来评估你的工作能力,并支付报酬。

对于全网而言,没有精确算力值。那么更进一步的问题是:对于一台矿机而言,有没有精确算力值一说呢?答:对于一台正在运行的矿机,实际上也是没有的。因为即便把任务难度分割得很小,一台矿机计算出满足这个任务难度的过程也依然是完全随机的,和出块的过程是一样的,这也正是为什么一台硬件软件完全正常的矿机在运行时也同样会出现微小算力涨落的原因。

把视角放宽,如果我们的目光聚焦在比特币网络的不同层面——全网vs矿池、矿池vs矿机、矿机vs计算单元、计算单元vs芯片,前者作为上层为后者提供任务,后者作为下层负责计算任务并将自己的下层细节隐藏起来(全网无需关心矿机的情况,矿池无需关心计算单元的情况等)。虽然它们各自处于系统中的不同层面,但它们之间的关系是很相似的,形成了一个自相似的分形结构[1]。就好像永远无法精确计算一个国家的海岸线长度一样,在不同的尺度观察总会得到不同的值;比特币网络的算力值在不同层面测量,结果也是不同的。再加上随机运气的影响,这个值就更加无法被精确测量出来了。

估算英国的海岸线长度[2]

下图左侧是矿池的预估算力数值,也就是在全网视角下对矿池的观察;右侧是实时算力数值,也就是在矿池视角下对本矿池内全部矿机算力的加总,可见即便对于同一个矿池来说,这两个数值也是有差异的。而且,由于并非所有的矿工都是矿池化挖矿,所以我们也无法通过加总全部矿池的实时算力来获得对应的全网值。

全网视角无法再扩大,无法获得全部细节,在这样的情况下,唯有增长观察时间才能获得更加接近真实的“估算值”。相信明白了这个道理,“算力骤增”或”算力骤降”这样的误读会越来越少了。

OKEX下载,欧易下载,OKX下载

okex交易平台app下载

原创文章,作者:币圈百科,如若转载,请注明出处:https://6684456.com/8904.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注