作者:StevenLi
来源:IPFS原力区
Filecoin测试网络顺畅运行中,即将开启第二阶段旅程。无论是矿工,工程师还是投资者,对测试网络的数据都非常感兴趣。尤其感兴趣的就是爆块率和算力排名。也有人在拿出块率和算力一起做综合比较。但是,多数人迈入了误区。没有理清其中的关系,本文通过模拟来做一点数据透视,希望提供一些帮助。
要点
Testnet/2并未完全实现按照算力等比例概率获得区块奖励,Testnet/3将补上这个部分
爆块率与区块奖励并非成正比
尽管设置为每个高度期望赢得选举的票数为5,并不意味着平均每一轮平均产生5个区块,理论上,仅在3.38左右
由于孤块的存在,实际爆块率和区块奖励会低于预期
注:本文所采集的是测试网络一个时间段的数据,主要用于理论分析。数据不具有统计意义,不反映测试网的整个状况,也不表明不同矿工的效率。本文不构成投资建议,也不对任何投资决策负责。
爆块数量及爆块比率
下面这张图大家再熟悉不过了。
此图中占据大幅版面的是最近一段时间的每个高度上的区块数量,同时用不同颜色来显示这些区块是由哪一个矿工产生的。此图的右侧是一个平均爆块率排行榜,这个排行榜的计算是依据近一个小时的爆块数据进行统计的。
NEAR和Nansen将合作提供NEAR链上数据分析:4月18日消息,NEAR 基金会宣布与区块链分析公司 Nansen 建立新的合作伙伴关系,为 DApp 开发人员和投资者提供工具。借助 Nansen 的分析平台,NEAR 开发人员、投资者和其他用户可以全面了解 NEAR 区块链活动,这包括交易流、钱包持有量和链上活动。[2023/4/18 14:11:31]
拿第一个矿工举例,其爆块率为0.73,表明在近一个小时之内,有73%的高度上,此矿工有爆块。在Testnet/2中,区块时间为45秒,那么一个小时总共包含60*60/45=80个高度,也就是说,有大约58个高度上有所收获-爆块并获得区块奖励。
有些人注意到了,右侧的数加起来不等于1。是的,不等于1。这是因为每一轮产生的区块数量并不是1。如果我们统计所有矿工的爆块比率,那么所有这些比率加起来应该等于每一轮爆块数量的平均值。这个值就是下面这个图显示的:
拿当前这个例子来说,应该等于3.0。但其实你如果算一下,是小于3.0的。原因在于第一个图中右侧的排行榜仅列出了排名靠前的矿工。
有一些喜欢研究的投资者或工程师有问题了,这个爆块率带来奖励,那么算力高的爆块率高可以理解,但是,似乎爆块率与算力显示不成比例,尤其是大矿工,好像反而比较低,这是怎么回事呢?
有些人一个区块可以得到多份奖励
换句话说,就是不同的区块奖励可能有所不同,从概率上来将,大矿工很可能在一个挖到的区块上获得两倍或者三倍的奖励。但不要误解,从总的概率而言,理论上大家的收益和算力还是成正比的。
区块链数据分析平台 Dune Analytics 推出 Dune Engine V2:金色财经消息,区块链数据分析平台 Dune Analytics 推出 Dune Engine V2,彻底革新了数据架构以使 Dune 更具性能和可扩展性。其中 Dune 将能够更快地整合更多新的区块链网络,同时 Flashbots 集成只能通过 V2 实现,改进的数据管道和工具也将首次支持用户生成的仪表板。[2022/5/31 3:52:21]
这个似乎有点难理解了,谁挖出区块谁就得一份奖励。为什么要设计成不同的区块奖励可以不同呢?这里有比要带大家温习一下Filecoin的区块架构-Tipsets这篇文章。
Filecoin每一轮出的是一个区块集合,成为tipset。这么做的目的是什么呢?答案是尽量减少没有区块的轮次。一个简单的办法就是提高出块数量的预期,这个值目前设计为5。也就是说,如果还是按照原来的方式来出块的话,每一个矿工每轮出块的概率增加到原来的5倍。但是,这样一来,必然会出现一种可能,就是一些矿工在一轮中可能出2个或者更多的块。但是这个就显得多余了,因为你只要出一个块就这一轮就不会跳空了。出多个就是浪费空间和带宽。但是出少了,不是奖励就少了吗?不公平啊。
解决方案就是折衷一下,如果矿工在同一轮中有多个出块权,那么,还是出一个区块,但在区块内表明有几个出块权。只要通过验证,就按照出块权的数量来给予奖励即可。完美解决。
因为出块权与算力成正比,那么算力高的获得出块权的概率就高,在一轮中有多个出块权的概率也大一些。
但是,回到Testnet/2,当前实际上并没有按照出块权来给予区块奖励,这部分实现放到了Testnet/3。也就是说,从Testnet/3开始,你将看到与主网基本一致的区块奖励实现。
富达推出面向机构投资者的数字资产数据分析工具SherlockSM:金融服务公司富达投资周四宣布推出SherlockSM,这是一种面向机构投资者的数字资产数据和分析工具。用户可以通过该工具查看来自区块链、开发生态系统、市场和社交媒体的数据。(The Block)[2021/4/30 21:11:53]
区块奖励与赢得的选票成正比
通过上面的说明,可以理解,一个矿工至少要有一个出块权才可以出块,有多个出块权时,也仅仅出一个区块即可。奖励按照赢得的选票数来分发。
在目前的设计中,每一轮全网所有矿工预期赢得选票数的平均值设为5。那就是每一轮5张选票,谁能拿到,谁就可以出块。
考虑一种理想情况,每一个拿到选票的人都能够出块,而且,所有的区块都能够被网络接收,并进入主链。那么,我们看到的平均区块数量和奖励情况将会是怎样的呢?
我们来模拟一下,根据当前测试网络的运行情况,我们假定:
预期每轮能够赢的选票数为5
假设全网矿工数量为11个,满足二项式分布
网络符合上面提到的理想情况,即所有矿工工作正常,出块正常,没有孤块
经过计算,我们得出下表:
声音 | 数据分析公司GlobalData:区块链技术正应用于全球食品供应链:领先的数据分析公司GlobalData表示,从咖啡、鱼到葡萄酒和橄榄油,数字分类账技术区块链正被应用于全球食品供应链,其方式有望惠及生产商、分销商、零售商和消费者。GlobalData的首席技术分析师Chris Drake表示,有几个特点使区块链技术适合管理供应链,其包括为供应链生产者、分销商、零售商和消费者提供平等透明的访问相同存储信息的能力;存储在区块链中的食品供应链信息可能包括特定产品的原产地或质量,以及运输和存储的方式。[2018/10/25]
此次模拟中,矿工#1占据全网算力的24.61%,基本可以反应当前网络中排名第一的矿工,其算力占比为:758.47T/3.110P=24.39%。
第二列为第一个矿工的理论上的出块概率,分别说明一下:
算力占比:24.61%
无出块权概率:29.13%,也就是说,理论爆块率为70.87%;与第一张图比较,符合预期
包含1,2,3,4,5,6,7份出块权的爆块概率分别为:
36.02%,22.18%,9.07%,2.77%,0.67%,0.14%,0.02%
可以看出,一个算力为24.6%的矿工,有很大的几率在一个区块中包含多个出块权,从而获得比区块数量高的收益。
那么我们换一个角度来看一下,比较一下上述11个矿工他们每一个人的爆块率和出块权票数之间的关系,见下表:
声音 | 区块链数据分析师:很多人持有数字货币但未交易 或将导致价格上涨:据Bitcoin Exchangeguide消息,区块链数据分析师Antoine Le Calves近日发布一则附带一张近八年比特币每年供应量移动变化图的推文,他表示,这些年比特币的供应几乎没啥变动。这表明很多人持有数字货币资产,但未交易,随着对数字货币需求的增加,流通供应减少可能最终会影响比特币的价格,导致其上涨。其他主流币也有类似趋势。[2018/9/28]
还是来看第二列,即第一个矿工的情况,尽管其理论爆块概率仅仅为70.87%,但是其实际出块权选票的获得率为123.05%。也就是说其爆块获取的区块奖励将是只有一个选票的区块的123.05/70.87~=?
1.736?倍。
所以,不要简单地看爆块率,如果不进一步分析,你会被蒙蔽的。
更多的指标:平均区块数量
我们回头看一下,这样的设计能够满足最初的愿景吗?也就是跳空的轮次降到很低。
按照上面的模型,通过推算,我们得出如下网络理论数据:
每轮平均区块数量:3.38233;注意,这个数与定义的预期每轮平均出块权差别不小
出现空块轮次的概率:0.006656;也就是说,在一千个高度中,大约会出现6~7次空块的轮次;还不错了。
每轮出块权的总和平均:5;当然是5了,至少理论上是的。
注意,这里有一个很重要的信息可以和我们前文中的每轮爆块数量的均值图对应起来。首先不要期望这个值能达到5,达到3.38就是理论上的最佳均值了。与上图做一个比较。实际上测试网上的这个值经常在2.5到3.1之间波动,极少到3.2,根本到不了3.38。这是怎么回事呢?无他,这就是理想和现实的差异。
现实没有那么丰满:你的块被弄丢了
因为网络的复杂情况,也因为设备运行故障,也可能因为你就是出块慢了一些,那么,不好意思,你的区块可能就被主链抛弃了。被抛弃的区块被成为孤块。孤块将不能得到奖励,白挖了。
网络中总是有一定的孤块率的,我们希望一个好的网络中孤块率越低越好。但是也希望,即使在孤块率比较高的情况下,网络安全不受影响。
我们通过设置不同的孤块率来模拟不同的网络情况。
理想情况,孤块率=0时
平均区块数量:3.38;空轮率:0.6656%,每轮出块权数:5
孤块率=10%时
平均区块数量:3.044;空轮率:1.4253%,每轮出块权数:4.5
孤块率=20%
平均区块数量:2.706;空轮率:2.7669%,每轮出块权数:4.0
孤块率=30%
平均区块数量:2.368;空轮率:4.9929%,每轮出块权数:3.5
根据上面的数据,参照目前测试网络的平均区块数量值,那么我们可以初步判定目前的孤块率略高于10%,是一个还说得过去的网络状况。
共性与个性:你的孤块率可能很不一样
可以想见,孤块率并不是针对每一个矿工平均分布的。由于网络、系统稳定性和算法等等原因,可能有些矿工的孤块率就要低一些,有些则要高一些。
再次回到我们目前的测试网络,目前孤块率略高于10%。那么我们来具体考察几个矿工,参照下表:
就排名靠前的几个看一下,前面提到了,
第一位:算力占比约为:24.3%,基本符合本文中模拟场景的第一名
第二位:算力占比约为:14.94%,略高于我们模拟网络的第四位
第三位:算力占比约为:11.58%,基本等同与我们的第四位
第四位:算力占比约为:9.17%,略低于我们模拟网路的第四位
这几位的爆块率分别位:73%,44%,38%,45%
分别对应:
理想情况下的理论指标:70.87%,44.42%+x,44.42%,44.42%-x
孤块等于10%的情况下:63.79%,39.98%+x,39.93%,39.98%-x
这里x~=3%。
可以看出,在本次取样中,第一位和第四位矿工基本没有收到孤块率的影响。第二和第三略受影响,但影响度也基本符合预期。由此,可以想见,其他矿工可能受影响大一些。不过,这在测试网络中非常正常。因为程序不稳定,许多人还在调试,不停地有新矿工加入,这样新进入的矿工或处于调试中的矿工自然会拉低平均值。
Testnet/3需要更多的数据
通过上面的分析,我们知道,出块权非常重要,而且拿到出块权后,能不能完成证明也很重要。这一部分由于目前还没有完全实现,所以官方推出的展示板中并没有显示完整。
那么在即将到来的Testnet/3中,最好这一部分能够提供可视化的展示。这里透露一个好消息,据可靠情报,目前已经在为大家服务的filscan.io会在下一阶段加入出块权的显示,给大家更多的分析数据。
最后提一个问题:
在有孤块存在的情况下,Filecoin真的是6年减半吗?想一想。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。