Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 如何根据数据大小估计工作证明的长度_Math_Blockchain_Ethereum_Bitcoin - Fatal编程技术网

Math 如何根据数据大小估计工作证明的长度

Math 如何根据数据大小估计工作证明的长度,math,blockchain,ethereum,bitcoin,Math,Blockchain,Ethereum,Bitcoin,你能根据数据的大小估计出解决工作证明难题需要多长时间吗?例如,如果您有大小为5 mb的数据,您可以估计合适的工作证明解决时间为20秒,10 mb为50秒,等等类似于比特币的工作证明难题类型与数据大小无关。非正式地说,这个谜题是关于尝试在一个形成的块上附加不同的随机值,当对其进行哈希运算时,会产生一个摘要,该摘要具有特定数量的位作为前缀模式 从形式上讲,在比特币中,谜题是找到一个随机数r,以便: H(b|r)

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

类似于比特币的工作证明难题类型与数据大小无关。非正式地说,这个谜题是关于尝试在一个形成的块上附加不同的随机值,当对其进行哈希运算时,会产生一个摘要,该摘要具有特定数量的位作为前缀模式

从形式上讲,在比特币中,谜题是找到一个随机数r,以便:

H(b|r)

其中,b是要形成的块(包括从mempool拾取的一组事务),D是“难度”参数,该参数在网络中随时间动态变化,以尽可能保持谜题解决率的稳定。对于给定的哈希函数H(特定摘要大小以位为单位)和阈值D,无论块大小b是1KB还是1TB,解谜的“难度”是相同的


因此,解决这个难题的估计时间最终是基于D和系统每秒可以执行的哈希数。在比特币中,这转化为暴力,r的值。请注意,可能存在这样一种情况,即此谜题不存在r,因此在这种情况下,必须选择不同的事务集(即更改b)。

确定解决谜题平均需要多少次尝试,例如N。现在,基准测试完成小得多的尝试所需的时间,例如S秒内的K次尝试。那么S/K是每次试验的秒数,因此N*(S/K)是解决工作证明难题平均所需时间的估计值。