# How many hashes are needed to solve a Monero block of difficulty 1?

For example, for ZCash, it takes, on average, 8192 hashes (aka "solutions") to solve a block of difficulty 1. That number is determined in the source code by a 256-bit target threshold (0x0007ffff00000000000000000000000000000000000000000000000000000000). To find a solution, a hash result must be beneath the target threshold. Since hash results in Zcash are evenly distributed between 0 and 2^32 - 1, the odds of finding a hash result that is beneath the target threshold is equal to the target threshold divided by 2^32, which is approximately 1/8192. Reference

Does anyone know the target threshold for Monero? Or, more simply, the average number of hashes (total, across the whole network) required to solve a Monero block of difficulty 1?

Also, is difficulty linear? i.e. does solving a block of difficulty 9 require three times as many hashes as solving a block of difficulty 3?

One Monero block is (1 << 21) / 16 [Source (Lines 40, 43 and 90): https://github.com/monero-project/monero/blob/master/src/crypto/slow-hash.c#L40 ].

The Monero block reward = (M - A) * 2-20 * 10-12, where A = current circulation. Source: https://monero.stackexchange.com/a/4254/2828 .

With Monero the difficulty is dynamically adjusted so that Blocks are completed in 2 minutes.

"Difficulty is a numerical representation of how long on average it will take to create a valid block that satisfies the Proof-of-Work algorithm being used, it does not represent minutes or time per se. but instead is an integer number that makes the PoW calculation take longer to perform, this is adjusted by the nodes and miners so that on average it ensures the network creates blocks at a generally consistent rate.

This is calculated among all the nodes and miners in accordance with the globally agreed rules in the network, AKA consensus rules.

Miners that do not include this number in their difficulty calculations will not have their block validated and included by the rest of the network." - Source: https://monero.stackexchange.com/a/1494/2828 .

ZCash and Monero use different POW algorithms, comparing blocks solved or chances of success between the two isn't a good means to determine which is more profitable/difficult.

Try https://whattomine.com/ where you can say what equipment you have available and it will estimate your earnings for dozens of Cryptocurrency types simultaneously, including Monero and ZCash.

Example Mining Profitability Calculations:

For Ethereum:

Reward = ((hashrate * block_reward) / current_difficulty) * (1 - pool_fee) * 3600

For CryptoNote-based currencies (Bytecoin, Monero, Quazarcoin, DigitalNote, etc.):

Reward = ((hashrate * block_reward) / current_difficulty) * (1 - pool_fee) * 3600

For Bitcoin-like currencies (Bitcoin, Litecoin):

Reward = ((hashrate * block_reward) / (current_difficulty * 2^32)) * (1 - pool_fee) * 3600

`"<YOUR HASHRATE> / (<YOUR HASHRATE> + <NETWORK HASHRATE>) x <BLOCKS PER 24H> x <BLOCK REWARD>"`

Bitcoin : userHash/(difficulty*(2^32))*blockReward*3600*1000000000(hashFactor)

ETH: (userHash/difficulty)*blockReward*3600*hashFactor

Zcash: userHash/((difficulty)*solsPerDiff)*blockReward*3600*hashFactor (sollsPerDiff = 8192)

Monero: userHash/(difficulty*1e9)*blockReward*3600

According to Minergate:

`Reward = ((hashrate * block_reward) / current_difficulty) * (1 - pool_fee) * 3600`

...where does the 3600 come from? Does anyone know what this formula means or how to use it?

Surely, the reward formula would look more like this :

`Block Reward / Difficulty = Value of 1 share`

Therefore,

`Miner Reward = ((Block Reward / Difficulty) x Number of shares found) - Pool Fee`

All the hashrate does is determine how quickly shares are found, technically it doesn't even need to be included in the formula and it doesn't need to be any more complicated than the above. The 3600 increases the denominator and therefore decreases the reward significantly. Where does it come from? I cannot help but feel that we are being short changed somewhere along the system/chain of events.

~Matt

• 3600 is number of seconds. In the calculation where you're using it, you are calculating hourly profit. – errata Mar 20 at 3:38