How do you calculate the hash rate? I have spent some time trying to understand the various hash rate estimates people come up with. Basically, I've determined that they're all 100% bogus. People like to work from the difficulty using bad/incorrect statistics since that's the most obvious way to get to something in the units of hashes/s, but I can never understand exactly what the process is. I'm genuinely curious to…
The current target hash is "0x000000000000022FBE0000000000000000000000000000000000000000000000"
This means that to solve a block, you must find a SHA-256 hash of that block's transactions + nonce that hash to a value equal or below that target. Since the output of a SHA-256 hash is essentially random, the probability of finding a nonce that evaluates to hash at or below that target is roughly [target]/[possible sha256 outputs] or 3.51e60/2^256, or 3.034e-17. On average, that means it takes 1/3e-17 or 3.3e16 hashes per block. To calculate average hashes per second of the network, we look at number of blocks solved in the last x unit of time (if you want a 24 hour average, take the number of blocks in the past 24 hours). As of the time of this post, 170 blocks have been solved in those 24 hours. This implies an expected 24*3.3e16 or 8e17 hashes have been computed. Divide by 86400 (seconds in a day) and you get 9.26e12, or 9.26 TH/s. The site reports 6.5 TH/s, presumably because it uses a longer window than 24 hours (probably 7 days).
Just because it's a statistical average instead of the exact rate doesn't mean it's 100% bogus. If you want, you can use fairly standard statistical models to find an acceptable error margin.