- This topic has 5 replies, 1 voice, and was last updated 2 months ago by cookmanager.
- Tuesday, October 4th, 2022 at 08:35 #386774deritovacParticipant
Miners are locally trying to solve a puzzle and only when they solve it they propagate a hash that represents solution to the network, right? It doesn’t make sense to propagate every hash that represents a try to find the right solution to the puzzle. But without that I don’t see a way how to calculate it because, by definition, the hashrate is “**the number of times per second that computers on the BTC network are hashing data to verify a transaction and perform the encryption that secures the network**”.
My guess is that hashrate is actually never a precise measurement but rather an approximation of it. But even with that in mind I can’t comprehend how it is done. I hope someone can help me with this I would be very grateful 🙂Tuesday, October 4th, 2022 at 09:11 #386775armantheparman
I can explain…
The worldwide hashrate is a probabilistic calculation.
It depends on the difficulty target, and the observed block time.
To get a single leading zero on any hash, the probability is 1 in 16 (assuming a hexadecimal output).
For 2 leading zeros, it’s (1 in 16) to the 2nd power
For 3 leading zeros, it’s to the 3rd power.
As an easy example, imaging only 1 leading zero was required in the target. And imagine it took 10 minutes to find. That would result in an estimated hash rate of 16 hashes every 10 minutes – perhaps there is some probability-math magic, eg some standard deviation manipulation is made to the number 16, not sure (I’m not a statistician) but this is the gist of it.
To understand better, this background reading will help…
👍Tuesday, October 4th, 2022 at 09:13 #386776longonbtc
>My guess is that hashrate is actually never a precise measurement but rather an approximation of it.
You are correct. There’s no way for anybody to know the actual hashrate and all anybody really knows is the current difficulty and how fast blocks are being solved. And this is the information that is used to estimate the hashrate.Tuesday, October 4th, 2022 at 09:21 #386779cookmanager
It cannot. Global hashrate is impliedTuesday, October 4th, 2022 at 09:25 #386777igadjeed
First, your guess is strictly correct. There is no accurate measure of hashrate – either of other individual miners or the global hashrate
The global hashrate reported on sites like bitinfocharts is derived from self-reporting by some mining pools. It is an estimate
On the other side, Bitcoin mining is a probability-driven guessing competition. The winner is the miner who has a block which has a header which has a hash smaller than the current target
The target is adjusted every 2016 blocks using a simple time ratio
New Target = Old Target * (Actual Time of Last 2016 Blocks / 20160 minutes)
Using a time ratio makes the adjustment accurate, without knowing the network’s actual hash rate
The target is a range of values, with a lower bound of zero. The average number of hashes required (all miners) for one miner to win the race is the size of the SHA256 number space ( 2^256 ) divided by the size of the target range
This arithmetic expression makes it possible to infer an accurate estimate of the actual hashrate for each adjustment period
hashes per block = 2^256 / target
hashes per second = 2^256 / target * 2016 / time (in seconds) to mine 2016 blocks
At the pool level, miners submit shares to their pools. A share is a block with a target much higher (easier) target than the current Bitcoin target. The pool target is chosen so that a miner can send several shares per second to the pool. The pool members’ share counts are used by the pool to calculate a fair distribution of mining rewards. The same arithmetic applies to the pool’s share target as to the global target. Therefore, a pool can infer an accurate estimate of each pool member’s hash rate because each member sends a few thousand shares per block. When a pool supplies its hash rate to bitinfocharts and others, it’s supplying a calculation derived from the number of shares and the share targetTuesday, October 4th, 2022 at 09:26 #386778ranamok
I’ll throw my 2 sats in but I’m open to corrections. The hashrate is an estimation based on the difficulty rate and the time it takes to solve blocks. The network (or the Bitcoin core algorithm) “knows” to adjust the difficulty based on how long on average the previous 2016 blocks took. If the average time between blocks was less than 10 minutes then the difficulty increases. Conversely if the time between blocks is greater than 10 minutes on average, the difficulty decreases. This gets repeated approximately every 2 weeks ((10min X 2016 blocks)/60)/24 = 14 days
- You must be logged in to reply to this topic.
Related Forum Topics:
- → Miner Container – 250 Miner Max S19 / L7 – on 4 racks 90,000 Cfm Variable speed/ temp control $85K Natural Gas – Minimum Generator Size – 942.64KW Grid Power Needed : 416 / 240v 3 Phase Total Load 943kW Container Dimensions – 20’ long 8’ wide 9’ tall UL certified electronics [Image]
- → Current Ropsten Hashrate is 0.32Gh/s. To hit Merge TTD on June 8 we need a sustained 18.11Gh/s. At current Hashrate we are running more than 6 months delayed. Devs need to reduce the TTD.
- → If a magician-hacker turned every atom in our solar system into a CPU, they still wouldn’t have enough computing power to crack your ETH private key.