I've read somewhere that the Monero network hashrate is only an estimation based on the current network difficulty. Is this different than the conventional (bitcoin-like) network hashrate measurements, and if so, why?
1 Answer
Bitcoin uses a different difficulty adjustment algorithm than Monero, which consequently leads to a different estimation of the network hashrate. More specifically, Bitcoin uses a fixed window of 2016 blocks, which should take approximately 2 weeks with 10 minute blocks. After this window the difficulty is retargeted such that, on average, the block time (the time it, on average, takes to mine a block) is 10 minutes. That is, if the window took less than 2 weeks to complete, the difficulty will be adjusted upwards and vice-versa.
By contrast, Monero uses a rolling window of the last 720 blocks. In essence, for each new block the difficulty is being retargeted based on the last 720 blocks. Thus, for example, block 1000720 will take blocks 1000000 to 1000720 for the difficulty calculation, whereas block 1000721 will take blocks 1000001 to 1000721. In addition, to mitigate the effect of dishonest and inaccurate timestamps, 20% of the outliers are cut-off for the calculation¹.
A rolling window will reduce the variance of block time, because the network is able to adjust the difficulty every block. By contrast, with Bitcoin it would be possible to push out 5 minute blocks for a week or 1 hour blocks for 12 weeks until the difficulty retargets.
Sources: