4

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?

4

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

  • This answer completely misses the question. You discuss block rewards and difficulty adjustment, neither of which is relevant to the actual question: "How many hashes are needed to solve a Monero block of difficulty 1?" – jtgrassie Sep 2 at 9:16
1

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
  • This answer completely misses the question. You discuss block rewards and difficulty adjustment, neither of which is relevant to the actual question: "How many hashes are needed to solve a Monero block of difficulty 1?" – jtgrassie Sep 2 at 9:18
1

Answering your actual questions:

How many hashes are needed to solve a Monero block of difficulty 1? ... Or, more simply, the average number of hashes (total, across the whole network) required to solve a Monero block of difficulty 1?

The answer is 1. Any valid ("valid" being the correct hashing algorithm), hash will solve for a difficulty of 1.

This is because the difficulty of a hash can be defined: DH = M / H where M is the maximum difficulty, 2^256-1, and H is the hash (a 256 bit number). If the difficulty of your hash (DH) is equal to or greater than the block difficulty (you defined as 1), you would meet the difficulty to solve the block. Per the calculation, any valid hash (correct algorithm, positive 256 bit number), will yield a difficulty greater than or equal to 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?

No, it's not linear. Using your example above of block difficulty 1, any single hash will meet the difficulty requirement. Increasing the block difficulty to say 20, still, almost any single hash will meet the the difficulty requirement. Same goes for difficulty of 9 and 3, the huge likelihood is only one hash would be needed to meet those difficulties.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.