如何根据数据大小估算工作量证明的长度

How can I estimate the length of Proof of Work based on data size

你能根据数据的大小估计解决工作量证明难题需要多长时间吗?例如,如果您有 5 MB 的数据,您可以估计合适的工作量证明解决时间为 20 秒,10 MB 为 50 秒,等等

类似于比特币的工作证明难题类型与数据大小无关。通俗地说,这个难题是关于尝试在一个形成的块上附加不同的随机值,当散列时,产生一个具有特定位数的摘要作为前缀模式。

形式上,在比特币中,难题是找到一个随机数 r 使得:

H(b||r) < D

其中 b 是要形成的块(包括一组从 mempool 中挑选的交易)并且 D 是 "difficulty" 参数,它在网络中随时间动态变化,以尽可能保持解谜速度稳定。 "difficulty" 对于给定的哈希函数 H(具有特定的摘要大小,以位为单位)和阈值 D,解决难题的方法是相同的,无论块大小 b 是 1KB 还是 1TB。

所以估计的解谜时间最终是根据D和你的系统能做的hashes/second个数。在比特币中,这转化为暴力破解 r 的值。请注意,可能存在不存在此拼图的 r 的情况,因此在这种情况下,必须选择不同的交易集(即更改 b ).