什么是算力速度、接受或拒绝的算力速度及share?
在本文中,我们将阐述挖矿原理、NiceHash工作原理以及矿工获得挖矿收益的机制,同时向您介绍如何查看您的挖矿系统是否优化到位并火力全开,同时学习如何正确阅读NiceHash提供的统计图表数据等信息,通过本文,您将学会如何快速地评估其他挖矿插件,并与NiceHash QuickMiner作对比。
NiceHash平台的加密货币挖矿原理 (简单版本)
加密货币挖矿本质上是执行一种哈希值运算的过程,这是一种简单的单向函数,用于计算输入值Ia后的输出值Xa,每一个输入值Ia都带有一个特殊数值,其包含两部分,即Ns (nonce-server)以及Nm (nonce-miner)。您的矿机将从NiceHash的服务器获得工作任务,工作任务包含Ia以及Ns值,您的矿机将为每一运算过程选定(通常只是++1迭代)Nm值,然后根据以下公式进行运算:
Xa = HASH(Ia + Ns + Nm)
Xa是一个很大的数值,如果该数值小于Ta(目标,工作任务中亦提供了该数值),则您的矿工找到符合要求的share,并将其相应的Nm值发送给NiceHash,作为工作量证明,这个过程说明您的矿机实际上是在寻找合适的随机数,由于HASH是一种单向函数,因此矿工别无选择,只能不断地尝试不同的随机数。60 MH/s的挖矿速度表示您的矿机可以在1秒时间内进行6000万个随机数计算,即每秒进行6000万此的HASH运算。
Shares
当您的而矿机成功地找到合适地随机数Nm时,矿机将其与其工作任务ID捆绑在一起,并作为share向NiceHash的服务器发送,NiceHash随后进行以下操作:
- 接受并标记为有效的share;
- 拒绝并标记为无效的share;
- 拒绝并标记为陈腐share,share发送时间过晚。
已接受的shares
您找到的随机数是正确的(没有计算错误),且share及时达到服务器。通常情况下,您可以在矿机的控制台中找到已接受share的相关信息,控制台的信息通知案例下:
net | daggerhashimoto | Share #114 accepted (31 ms)
而您将可因该share获得一定数量的BTC奖励,奖励的具体数额取决于以下两个因素:
- 工作任务的强度;
- 算力买家当前支付的报酬水平。
在上述两部分影响因素中,我们仅解释第一部分,因为第二部分属于NiceHash自有的机密算法。工作强度由Ta定义,由(1*algo_const)/Da计算得出,Da为网络难度,难度越高,Ta值越小,对于矿工来说,则将越难运算出合适的Xa(需要花费更长的时间),而Xa会比Ta小。事实上,如果我们将难度增加2倍,则Ta的数量就会减少一半,因此您的矿机能找到的share为以前的一半。每个工作任务都有一个附加的Da(由NiceHash服务器定义)。当您的矿工找到Da x2的share时,该份额的工作强度系数也将x2,其报酬价值是Da x1的share的两倍。
NiceHash根据矿工的算力速度情况动态调整Da (难度):
- 如果您的矿机速度较快,提交share的频率比预期的要快,则NiceHash将适当提高难度。
- 如果您的矿机速度比预期的要慢,则NiceHash将适当降低难度。
综上所述,您的矿机能找到多少share并不重要,重要的是能够找到多少平均加权share,该值可用已接受的算力速度的二相图来表达。
假设我们现在拥有以下6台矿机,其算力速度分别为:587 MH/s、409 MH/s、261 MH/s、215 MH/s、214 MH/s 以及121 MH/s,总算力速度为1807 MH/s。
当我们查看较长时间跨度内的平均挖矿算力速度时(多个或大型的矿机至少要几个小时,而小型或单一的矿机至少需要几个小时的时间),其算力速度必须需我们的总的算力速度相匹配,如下图所示,总的已接受速度较低,因为我们需要考虑一个1.14%拒绝率的因素,在约1800 MH/s的总算力速度下,大约需扣除20 MH/s的拒绝算力速度,扣除之后我们可以得到1787 MH/s,而图表数据显示了1791 MH/s的数据,即实际上还高了4 MH/s,这得益于该选取时间段内较好的挖矿运气。数据同时显示,矿机正在正常工作,并诚实地报告正确数据。

重要!NiceHash中,已接受的算力速度是最重要的图表数据,这个数据向您展示了矿机的实际挖矿表现,如果图表显示的数据与矿机在控制台中显示的数字相比出现了大幅度的下降,则很可能您被骗了。众所周知,一些挖矿软件的开发者为了吸引更多的用户,在控制台中虚增挖矿算力速度的数据,且在大多数情况下,开发者并不会因此而降低软件的开发者费用费率。 因此,您可能会觉得自己的矿机可以高速地运行,但是在NiceHash上却得到了一个不一样的速度表现。总而言之,无需太过注重矿机报告的算力速度,但在NiceHash平台中显示了多少的已接受算力速度,您就就将获得多少的挖矿收益。
NiceHash矿机管理器显示以下数据:
- 本地收益情况以及;
- 实际上的收益情况。
本地收益能力:该数值由矿机报告的算力速度值乘以当前的收益能力得出,其数值更加稳定,但如果算力速度数据被人为改动则可能影响准确性。
实际收益能力:该数值由已接受的算力速度乘以当前的收益能力得出,这也为什么它被成为“实际(真实)”的原因,这就是您实际上获得收益。
拒绝的shares - 超目标share
当系统反馈这种类型的拒绝算力share时,则表明您的矿机提供了错误或无效的运算,同时得出了错误的结果。通常情况下,如果您对显卡内存频率进行了超频,显存运行不稳定,就有可能导致这种情况的出现,并发生错误。显然,您无法为这种无效或错误的拒绝share获得报酬。矿工一般不会有多少这种类型的拒绝share。在矿机管理器中,您可以使用过滤器查看这种类型拒绝share所占的平均百分比。
在下图的案例中,我们只获得极少数的超目标拒绝share,如图所示,只有两个峰值出现,四舍五入之后,显示其占比为0.00%,说明该矿机已经经过适当的调整及优化,不会再产生太多的超目标拒绝share。

拒绝的shares - 工作任务未找到 (陈腐)
这种类型的拒绝是不可避免的,其取决于很多因素,包括您选择的NiceHash服务器的网络延迟,这就是为什么您需要选择延迟最低的服务器的原因。其也有可能与您选择的挖矿软件有关,挖矿软件向已失效的工作任务提交旧的share也将产生陈腐share,因此对矿机来说,当工作任务陈腐时迅速切换到新的挖矿工作任务非常重要!在使用现代化的CPU的情况下,Excavator可在1至2毫秒内执行这个操作。
案例中,陈腐share比例为0.97%,这意味着我们会损失大约1%的挖矿收益,在大约1800 MH/s的总挖矿算力速度中,大约有18 MH/s的算力会被浪费。

但是,有人也许会问为什么工作任务会陈腐?因为您的矿工正在为区块链进行工作,区块链中每个几分钟甚至几秒钟就会有新的区块产生,但新的区块产生时,此前的工作任务就会陈腐且不再有任何作用了。在Excavator中,当一个工作任务拥有一个suffix (clean)时,则此前所有工作任务会陈腐。
此外,Share究竟是什么呢?share带有极高的难度,超过区块链网络难度的share,是在区块链中创造一个新区块的解决方案。