DigiByte:为什么高于难度的份额没有成为区块

你的 DigiByte 份额超过了网络难度却一无所获。MultiShield 每隔几秒就会移动 SHA-256 目标值。已用矿池的真实日志验证。

DigiByte 的 MultiShield 每当五种算法中任意一种出块时,都会重新计算 SHA-256 挖矿目标值——平均每 15 秒一次。你在区块浏览器、仪表盘或挖矿报告上看到的网络难度,是一张已经过时的快照。超过该数值的份额,只有在超过它到达矿池那一秒生效的目标值时,才是有效区块。这正是 DigiByte 单人矿工看到创纪录的份额却一无所获的最常见原因。

要点

  • 在 DigiByte 上,SHA-256 目标值每当五种算法中任意一种出块时都会重新计算,而不只是在找到 SHA-256 区块时。
  • 在一个 90 分钟窗口内,SHA-256 区块难度在 4.18 亿到 11.2 亿之间——相差 2.7 倍。
  • 在短短两分钟的一段里,生效的目标值上涨了 75%,从 7.48 亿升到 13.1 亿。
  • 份额的价值取决于它到达那一秒的目标值。同一个份额可能在某一刻差一点,而一两分钟后却能胜出。
  • 这一切都不意味着丢失了区块。低于生效目标值的份额从不会作为区块发送,所以没有什么可以变成孤块、被拒绝或被隐藏。

为什么我的份额超过了网络难度,却没有找到区块?

一位 DigiByte 单人矿工给我们发来了一份细致、调查充分的报告。他的矿机产出了一个难度约 9.97 亿的份额。大约一小时后生成的挖矿报告显示网络难度为 5.31 亿——这意味着该份额几乎是目标值的两倍。然而区块并没有出现。他查看了矿池的 API,确认份额已被接收并接受,也没有发现任何拒绝或过期份额的记录。按他能看到的每一个数字来看,这本应是一个区块。

他看到的数字都是真实的。只是那些并不是该看的数字。

我们在矿池日志中追踪了这个份额。它于 2026 年 10 月 4 日 06:26:31 到 06:27:31 UTC 之间到达。在那一分钟里,网络要求的不是 5.31 亿,而是 11.3 亿〜12.1 亿。该份额达到了所需数值的 82.7%〜88.1%。

5.31 亿这个数字,是飙升过去一小时后的难度。而从 06:28:37 起——也就是份额到达一两分钟后——目标值就降到了 9.97 亿以下。同一个份额如果晚到一两分钟,就会成为区块。

为什么 DigiByte 的难度波动这么大?

DigiByte 把出块分配给五种相互独立的挖矿算法——SHA-256、Scrypt、Skein、Qubit 和 Odocrypt——每种大约挖出五分之一的区块,各自拥有独立的难度。整条链的目标是每 15 秒一个区块,因此 SHA-256 通道平均每 75 秒出一个区块。

每条通道的难度由 MultiShield 管理,它是 DigiByte 于 2014 年推出的 DigiShield 多算法扩展。比特币每 2,016 个区块才调整一次,而 MultiShield 在每一个区块上都会重新计算难度。

让矿工措手不及的细节是:它在每个区块上都会重新计算所有通道,而不只是找到该区块的那条。DigiByte 的共识代码在难度参数上方的注释中明确写道:当另一种算法解出区块时,某种算法的难度可能会下降。因此,SHA-256 目标值在两个 SHA-256 区块之间并不会静止不动。在 Scrypt、Skein、Qubit 或 Odocrypt 上找到的每一个区块也都会移动它,结果就是目标值大约每 15 秒变化一次。完整的算法请参阅我们直接从共识代码解读的 DigiByte 详解。

那一分钟里,目标值实际上是怎么变化的?

每当新区块到达,矿池都会构建一个新的挖矿任务,并记录该任务必须达到的目标值。以下是矿池日志在这个份额前后记录的确切数值:

时间(UTC)生效的 SHA-256 目标值
06:24:07748,086,882
06:24:35919,283,054
06:25:361,128,075,706
06:25:481,078,654,901
06:26:021,312,633,757
06:26:101,262,143,768
06:26:181,205,245,749
06:26:551,130,849,418
06:27:311,087,355,545
06:28:301,039,941,926
06:28:37989,362,566
06:28:49942,584,060

份额于 06:26:31 到 06:27:31 之间到达,当时目标值先是 1,205,245,749,随后是 1,130,849,418。数值为 996,739,624 的份额达到了要求的 82.7%〜88.1%。目标值首次降到该份额以下是在 06:28:37。

一旦加入链在同一窗口内实际产出的 SHA-256 区块,造成这股波动的原因就一目了然了:

区块挖出时间(UTC)难度
24,323,73906:24:11748,086,882
24,323,74006:24:35919,283,054
24,323,74206:25:501,078,654,901
24,323,75206:30:14857,977,528

99 秒内到达了三个 SHA-256 区块——每 33 秒一个,而预期节奏是每 75 秒一个。SHA-256 通道大幅领先于其他四条,MultiShield 随之抬高了它的难度,一直升到 13.1 亿的峰值。随后整整四分二十四秒没有任何 SHA-256 区块到达。随着其他算法上的区块陆续到来,目标值一级一级地回落。份额恰好在峰顶之后到达,那时目标值仍在从峰顶下降。

记录下来的数值是网络的真实要求,而不是估算。上面这四个 SHA-256 区块,每一个都恰好在矿池片刻之前记录的目标值上被挖出,精确到个位。四个区块都可以在任何 DigiByte 区块浏览器上公开核实。

为什么报告中的难度与目标值不一致?

因为报告记录的是一小时之后的时刻,而在 DigiByte 上,一小时已经很长了。

无论你在区块浏览器、矿池仪表盘、挖矿报告还是收益计算器上看到的难度值,都是读取那一刻的数值。在比特币上,这个数值能维持两周。在 DigiByte 上,每当五种算法中任意一种找到区块,SHA-256 目标值都会重新计算,因此 07:34 取到的数值几乎无法说明 06:27 时的要求是多少。

在这个份额前后的九十分钟里,链上 SHA-256 区块的难度在约 4.18 亿到 11.2 亿之间——相差 2.7 倍。一个 9.97 亿的份额,在这个区间的低端绰绰有余地算作区块,在高端则明显不够。

还有一个陷阱。区块浏览器公布的是每个区块被挖出时的难度——也就是适用于获胜者的那个数值。区块之间那几秒里生效的目标值,没有任何公开记录。上面日志中最高的目标值 13.1 亿,不会出现在任何区块浏览器上,因为在它生效期间没有挖出任何 SHA-256 区块。然而,功亏一篑恰恰就发生在这样的时刻。

为什么目标值能跳得比 MultiShield 的 8% 上限还多?

我们的 DigiByte 详解指出,MultiShield 会限制其调整:难度每步最多下降 16%,最多只上升 8%。然而在这个窗口中,三个快速 SHA-256 区块之后,目标值每次都上涨了超过 20%——分别是 22.9%、22.7% 和 21.7%。

这两个事实并不矛盾,因为 MultiShield 通过两种不同的方式移动一条通道。8% 和 16% 的上限约束的是该通道自身的平均化调整。在此之上还有一项按算法 4% 的调整,根据通道是落后还是领先于其他四条来移动它。

在这个窗口里,第二种机制形成了清晰的锯齿形。其他算法每出一个区块,SHA-256 目标值就下降约 4〜5%。而每一个在通道已经领先时到达的 SHA-256 区块,都会再次把目标值猛地推高。带着这个认识重新阅读上面的目标值日志,规律就再明显不过了:每个 SHA-256 区块之后都有一个大台阶向上,共三个,然后是一段长长的阶梯向下。

这和 eCash 的 Real-Time Targeting 有什么不同?

症状完全相同——份额超过了公布的难度却一无所获——但机制不同。

eCash(RTT)DigiByte(MultiShield)
变化的是什么一个出块间隔之内的要求区块之间的目标值
由什么驱动距上一个区块经过的时间五种算法中哪一种找到每个区块
形态每个区块后飙升,约 115 秒内回落快速 SHA-256 区块后上升,其他区块后下降
能否提前预测能,根据经过的时间不能,取决于其他通道

在 eCash 上,份额的命运取决于上一个区块是多久之前到达的;我们在 eCash RTT:为什么你的单人份额没有成为区块 中详细记录了这一点。在 DigiByte 上,它取决于任意算法最近一个区块之后 SHA-256 目标值所处的位置。两者都会产生功亏一篑的份额,从矿工的角度看,就和错过了一个区块一模一样。

比特币或其他 SHA-256 链上也会发生吗?

不会以这种形式发生。在大多数 SHA-256 链上,目标值在整个出块间隔内保持不变,只有当这条链找到下一个区块时才会改变。

链难度调整区块之间的目标值
Bitcoin每 2,016 个区块恒定
Bitcoin CashASERT,每个区块恒定
eCashASERT 加 RTT每个区块后上升,随后回落
DigiByteMultiShield,每个区块,所有算法任意算法出块都会变化

在比特币和比特币现金上,你查到的难度就是你需要超过的难度。在 DigiByte 上,决定你份额命运的目标值只存在了几秒,而且从未在任何地方公布。

区块是不是丢失了、变成孤块了,或被隐藏了?

没有——因为从来就没有区块。

每当份额达到其任务的网络目标值,矿池都会记录一次区块求解事件。这个份额一次也没有。矿池把它与生效的目标值比对,判定不够,于是把它当作普通份额接受。没有组装区块,没有调用 submitblock,也没有向网络发送任何东西。没有什么可以变成孤块、被拒绝或丢失。

在非托管矿池上,这一点可以从外部核实。矿工的支付地址在哈希计算开始之前就写入区块模板的 coinbase 交易,因此任何真实区块都会以矿工自己的名义永久出现在链上。一个从未成为区块的份额不会留下这样的痕迹——而如果真实区块存在过,它也不可能被隐藏。

DigiByte 单人矿工实际上该怎么做?

几乎什么都不用做——但要正确解读你的数据。

  • 把任何难度值都当作快照。 仪表盘或报告上高于难度的最佳份额,并不能证明你错过了区块。它证明的是,你的份额到达时目标值更高。
  • 矿机显示的最佳份额是在本地计算的。 矿机在找到哈希的那一刻、在矿池回应之前就记录下它的难度,而且往往保留一个永不清零的历史最高值。它只说明你的硬件有过一个好时刻,并不说明那一刻是否胜出。
  • 让 vardiff 管理份额难度。 DigiByte 每个区块都会调整,因此适合某一小时的固定份额难度,到下一小时可能就不对了。配置方法请参阅我们的 DigiByte 设置指南。
  • 保持低延迟。 在 15 秒出块的链上,服务器越近,从新任务出现到你的矿机开始处理它之间的间隔就越短。
  • 查看 coinbase,而不是计数器。 想知道自己是否找到了区块,请在链上的 coinbase 交易中查找你的地址。

这些都不会改变你的长期概率。波动会随时间相互抵消,所以基于平均难度的概率——比如我们的 单人挖矿概率计算器 所用的概率——仍然是预期的正确依据。波动只决定哪些功亏一篑的份额会成为区块。

资料来源

本文中的目标值取自矿池 2026 年 10 月 4 日的日志,每当构建新的挖矿任务时都会记录。窗口内挖出的四个 SHA-256 区块——24,323,739、24,323,740、24,323,742 和 24,323,752——都与矿池在各自之前片刻记录的目标值完全一致,这证实了记录下来的数值就是网络的真实要求。文中引用的所有区块难度都可以在任何 DigiByte 区块浏览器上公开核实。

常见问题

为什么我的 DigiByte 份额超过了网络难度,却没有找到区块?

因为你看到的网络难度是一张快照。DigiByte 的 MultiShield 每当五种算法中任意一种出块时,都会重新计算 SHA-256 目标值,大约每 15 秒一次。你的份额只有在超过它到达矿池那一秒生效的目标值时才算区块,而那个目标值可能远高于之后读到的数值。

DigiByte 的难度每个区块都会变吗?

会。MultiShield 在每个区块上重新计算,并更新全部五种算法的难度,而不只是找到该区块的那种算法。DigiByte 自己的源代码注明,当另一种算法找到区块时,某种算法的难度可能会下降。实际上,SHA-256 目标值大约每 15 秒就会变化一次。

DigiByte 的 SHA-256 难度在短时间内能变化多少?

变化非常大。在 2026 年 10 月 4 日的一个 90 分钟窗口内,SHA-256 区块难度在约 4.18 亿到 11.2 亿之间,相差 2.7 倍。在短短两分钟的一段里,生效的目标值从 7.48 亿升到 13.1 亿,上涨了 75%。份额的价值取决于它到达的那一秒。

为什么我仪表盘上的难度和我需要超过的难度不一样?

仪表盘、区块浏览器或挖矿报告显示的是读取那一刻的难度,而在 DigiByte 上,这个数值几秒内就会过时。此外,区块浏览器只公布每个区块被挖出时的难度,从不公布区块之间那几秒里生效的目标值,而功亏一篑恰恰就发生在这段时间里。

这和 eCash 的 Real-Time Targeting 是一回事吗?

症状相同,机制不同。eCash 的 RTT 在每个区块之后抬高要求,并根据经过的时间在约 115 秒内让它回落。DigiByte 的 MultiShield 每当五种算法中任意一种出块时都会移动 SHA-256 目标值,方向取决于 SHA-256 通道是领先还是落后于其他通道。

我的 DigiByte 区块会不会丢失、变成孤块,或被矿池隐藏?

如果份额低于生效的目标值,就不会,因为根本没有生成区块。未达到目标值的份额会作为普通份额被接受,永远不会发送到网络。在非托管矿池中,支付地址在哈希计算开始前就已写入 coinbase,因此任何真实区块都会以你自己的名义显示在链上。

份额在 DigiByte 难度飙升时到达,我会有损失吗?

不会以任何你能干预的方式造成损失。难度波动已经反映在链的实际出块中,所以会随时间相互抵消。它们只决定哪些功亏一篑的份额会成为区块。你的长期概率仍然取决于平均难度和你的算力。

怎样才能避免因难度飙升而错过 DigiByte 区块?

你无法预判目标值的时机,所以没有任何设置能避开飙升。有帮助的是正确解读自己的数据,让矿池的 vardiff 管理份额难度,并连接到附近的服务器,以便在 15 秒出块的链上保持低延迟。要确认区块,请在链上的 coinbase 交易中查找你的地址。