32

I have been trying to calculate hashrates but it is a little confusing.

I just want to get a general idea. What CPU / GPU would be required to solo mine 1 coin a day?

55

This answer will attempt to answer the question at multiple levels, as follows:

  • Section I explains the basics of how to calculate this yourself.
  • Section II provides updated calculations based on Section I.
  • Section III provides an abstracted way to determine this based only on the total network hashrate and the total number of coins in circulation.

Enjoy :)

I. Explaining how to determine this on your own:

Some basics:

  • Monero has an average block time of 2 minutes, meaning that there are approximately 720 blocks per day.
  • Your expected reward is proportional to your share of the network hashrate. The current hashrate is ~23.3 MH/s (http://moneroblocks.info/), or 23300000 H/s.
  • Monero's block reward is decreasing slightly every block. Right now it is a little less than 11 XMR, but I'm going to just use 11.0 in my calculations.
  • To find out the exact reward at any given time, you could go to a block explorer (http://moneroblocks.info/) and click on the most recent block. It will tell you the reward for that block.
  • Disclaimer: The reward changes based on how many transactions are included in a block. For instance, block 1124279 was empty and had a reward of 10.826400000000, while block 1124278 had 4 transactions and a higher reward of 11.078600000000. Nonetheless, you can get a rough idea using this method...

Okay, putting it all together, where your share of the hashrate is "n":

daily reward ≈ (720 * Avg Block Reward * n)/(Network Hashrate)

Since the question was for a reward of 1 XMR per day, using the numbers above:

1 XMR ≈ (720 * 11.0 * n)/(23300000)

and solving for n:

n ≈ 23300000 / (720 * 11.0)
n ≈ 2942 H/s

which is pretty close to @villabacho's answer.

I just want to get a general idea.

Generally speaking, the formula to determine the hashrate needed to mine 1 XMR per day is:

n = (Network Hashrate) / (720 * Avg Block Reward)

What CPU / GPU would be required to solo mine 1 coin a day?

The most energy efficient GPU that I know of for mining XMR is the GTX 750 Ti, which gets approximately 250 H/s for a little more than $100/GPU. 12 of these GPUs would give you 3000 H/s, or a little more than 1 XMR per day at the current mining and reward levels.


II. 20 June 2017 Update to Section 1:

  • Hashrate: ~87.4 MH/s
  • Reward: ~7.22 XMR/block (including fees)

Using our formula n = (Network Hashrate) / (720 * Avg Block Reward):

n = 87400000 / (720 * 7.2)

n = 16812 H/s, or 16.81 kH/s to mine 1 XMR per day.

You would need approximately 67 GTX 750 Ti's at 250 H/s each, OR approximately 28 RX 470's at 600 H/s each, OR approximately 22 RX 480's at 750 H/s each.


III. 20 June 2017 addition abstracting calculation further:

A more general formula can be developed that calculates the Average Block Reward used above from the total coins in circulation.

The base block reward is calculated by

Reward = (M - A) * 2^(-19) * 10^(-12)

where M = 2^64 and A is the current amount of XMR in circulation (in terms of atomic units, where 1 XMR = 10^12 atomic units). We can reduce this for ease of use to be as follows:

Reward = (18446744.073709551616 - a) * 2^(-19)

where a = A * 10^(-12) and represents XMR "coins" in circulation as we traditionally think of them.

From this formula, it should be clear that the base reward for each block is progressively decreasing. However, we can consider it roughly constant in the short term for our purposes here, as over a 720 block period (one day) the reward drops ~0.01 XMR at today's rate. Therefore, we can substitute this Reward value as an approximation of the Avg Block Reward over a relatively short period with an error of much less than 1%. Combining our two formulas:

n = (Network Hashrate) / (720 * Avg Block Reward)

and

Reward = (18446744.073709551616 - Coins in Circulation) * 2^(-19)

and reducing gives

n = (Network Hashrate * 2^19) / (720 * (18446744.073709551616 - Coins in Circulation))

or more simply

n = (728 * Network Hashrate) / (18446744.073709551616 - Coins in Circulation)

According to https://www.monero.how/ at the current block height of 1336863,

  • The network hashrate is 87.4 MH/s or 87400 kH/s
  • There are 14658448 total coins in circulation

Substituting these values into our formula

n = (728 * 87400) / (18446744.073709551616 - 14658448) [kH/s]

and noting that n is in kH/s, we would need 16.796 kH/s of hashing power to mine 1 XMR today.

Note: This calculation does not include fees, so you should actually mine slightly more than 1 XMR today with that hashrate. But you will have to pay pool fees, account for variance, etc, so it's a fairly good approximation still.


TL;DR - Use one of these formulas:

n = (Network Hashrate) / (720 * Avg Block Reward)

or

n = (728 * Network Hashrate) / (18446744.073709551616 - Coins in Circulation)
  • 5
    #theydidthemath – JohnHanks Mar 20 '17 at 6:48
  • 1
    Update: June 18, 2017. You need almost 15.3 KH/s to get one monero a day. – linello Jun 18 '17 at 21:27
  • Ooh yeah, time for another update! I'll do that after I finish editing my next podcast episode today! – bigreddmachine Jun 18 '17 at 21:39
  • Using ROCm on a new dual EPYC gpu server running 8x vega frontier card virtualised to 16 hashing machines should do the trick! 35k H/s!! – G Gr Jul 15 '17 at 12:32
9

According to https://www.cryptocompare.com/mining/calculator/xmr you need 2910 H/s at the moment to mine 1 XMR per day.

Here's a Google doc with a comparison of various hardware (CPU and GPU) for Monero mining: https://docs.google.com/spreadsheets/d/1E0GqJdLhMmeO5BW3RBcIpftMR_BJhnyUS464ZO_EYGQ/edit?pref=2&pli=1#gid=1

From that you can figure out how many cores or GPU's of a specific type you need to get the required hash rate.

  • That doesn't seem like very much. Even a laptop should be able to do that many hashes right? – Lumo5 Aug 29 '16 at 9:39
  • 5
    You cannot compare it with Bitcoin hashrate, because it is a different PoW algorithm. For this algorithm, for more than a few hundred hashes per second you need already high end hardware. But have a look yourself at the Google doc linked above. – villabacho Aug 29 '16 at 10:13
  • 1
    The referenced Google Sheet does not contain any content anymore :( – tanius Jun 26 '18 at 12:44
1

According to mineXMR, you need 58.81 KH/s for 1 XMR per day for their pool. I picked a pool with the greatest aggregate hash rate so that your hashing power is not wasted on unsolved blocks.

Difficulty: 30794551795

Network
 Hash Rate: 256.62 MH/sec
 Block Found: 8 minutes ago

Pool Stats
 Hash Rate: 60.67 MH/sec
 Block Found: 6 minutes ago

protected by Waqar Lim Nov 9 '16 at 9:04

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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