我构建了一个新的工作量证明(PoW)协议,并观察到了一个令人惊讶的早期解决方案。
我最近部署了一个实验性的工作量证明协议,名为Shardhash。这个想法很简单:矿工通过寻找具有特定后缀模式的哈希值进行竞争,奖励与匹配的十六进制数字数量成比例。
在测试过程中发生了一些意外的事情。
一个从未与该协议互动过的钱包提交了一个失败的索赔,随后又提交了一个成功的索赔。成功的解决方案是Tier 10(大约是1/16^10的事件),其nonce值为18。
有趣的是时间的安排:
- 失败的索赔使用了nonce 17,但由于该轮次已过期而被拒绝。
- 失败的索赔是在轮次开始后300秒提交的,尽管提交窗口只有12秒。
- 下一个索赔使用了nonce 18并成功了。
- 成功的索赔是在该轮次开始后480秒提交的(42个以太坊区块后),大约是在失败提交后180秒。
乍一看,这看起来很奇怪,因为满足Tier 10目标的非常低的nonce值在仅测试小的顺序搜索范围时极不可能。
经过调查,更可能的解释是:
- 矿工使用了自定义实现而不是参考矿工,
- 矿工能够进行预计算,因为挑战在轮次开始前就已可用(在提交期开始前有额外的12秒窗口),
- 或者这只是一个罕见的概率事件。
Shardhash合约:
https://etherscan.io/address/0x295121422b9d0fd3cbddc9e203ae9b4a1eff0082
查看原文
I recently deployed an experimental proof-of-work protocol called Shardhash. The idea is simple: miners compete by finding hashes with a required suffix pattern, and rewards scale with the number of matching hex digits.<p>Something unexpected happened during testing.<p>A wallet that had never interacted with the protocol before submitted a failed claim and then a successful claim. The successful solution was Tier 10 (roughly a 1 in 16^10 event), with a nonce value of 18.<p>The interesting part was the timing:<p>- The failed claim used nonce 17 but was rejected because the round had already expired.<p>- The failed claim was submitted 300 seconds after the round started, even though the submission window is only 12 seconds.<p>- The next claim used nonce 18 and succeeded.<p>- The successful claim was submitted 480 seconds after that round started (42 Ethereum blocks later), about 180 seconds after the failed submission.<p>At first glance this looked strange because a very low nonce satisfying a Tier 10 target is extremely unlikely if only a small sequential search range is tested.<p>After investigating, the more likely explanations are:<p>- the miner used a custom implementation rather than the reference miner,<p>- the miner was able to precompute because the challenge became available before the round opened (extra 12 seconds window before submission period starts),<p>- or it was simply a rare probabilistic event.<p>Shardhash contract:
https://etherscan.io/address/0x295121422b9d0fd3cbddc9e203ae9b4a1eff0082