Author

Topic: Mining calculator - need advices about simulating a long-term mining scenario (Read 312 times)

legendary
Activity: 2436
Merit: 6643
be constructive or S.T.F.U
I concluded that some minor and hidden variable is missing. I must add, that differences between various online calculators are also common. These are 15-20% differences (mine included). These contradictions are not relevant enough to assume that the nature of the problem is algorithmic, but not insignificant enough not to frustrate myself.

I think I understand where the confusion comes from, here are some factors affecting the profitability in FIAT in different calculators.

1-Bitcoin price ( The way they get it, from where, when, how)
2-Block fees estimates ( how they estimate something that is never fixed)
3-Pool fees ( Pools have different fees, which one they pick)

We know that profitability BTC wise is the same for every 2016 blocks, it does not matter what price that is, it does not even matter if the hash rate has gone up 100 times during that 2016 period, so if happens that you find two calculators which give you two different results in fiat, that's completely normal, but any difference in the profitability BITCOIN wise - then one of them is FOUNDEMANTLY wrong, and I have yet to see that.

Here an example

hashrate :1000 TH
Power usage = 0
Pool fees = 0
Block fees = 0

Calculator                                               - Profit 24hrs

www.cryptocompare.com                         0.01807
www.coinwarz.com                                  0.01807415
www.whattomine.com                             0.018074

They all show the EXACT same results, except for that the first and the last one display fewer digits, however, if you were to use www.whattomine.com default page where it has all other values entered, they actually estimate block rewards of 12.65 BTC and average block time of 9m 54s based on whatever "internal" calculations they come up with, probably taking the current hash rate into account and the fact that philipma1957 mentioned here.

We are under 10 minutes since 2009.  Maybe closer to 9 minutes then 10 minutes per block.

Also, bitcoin price is subjective, some might use the current price at CMC, some may use Binance alone, some may use the average of 20 different exchanges, some may use the average hourly price and etc.

Also, some calculators have a certain pool fee by default, so all those factors combined together can very well cause the 15-20% you talk about, but all of those factors ignored, you will always get the same exact result if you apply the formula posted above by mocacinno.

Now, if you want to provide the easy to read profit in $ ( I assume most people want to see that as opposed to anything else) I suggest you follow www.whattomine.com way of doing it.



Their average price of bitcoin seems more averagely accurate than many other calculators, their block fees estimates are not that bad, there are a lot of things that I would love to see changed in the calculator, but since you are not trying to develop one,  there is no point in stating them here, but I still suggest you follow their way of calculating profitability as I personally find it the most reasonable.
legendary
Activity: 4326
Merit: 8950
'The right to privacy matters'
you may want to do a range for block times.

We are under 10 minutes since 2009.  Maybe closer to 9 minutes then 10 minutes per block.

I suspect that  26 x 2016 = 52,416 blocks a year.

And we started in 2009 Jan 3

so Jan 3 2020 = 11 years


11 x 52,416 = 576576 should be were we where on Jan 3 2020  yet we were 611042 to 611200

that is 611200 - 576576 = 34624 after then 10 minutes

you could write it as

576576/611200 x 10 =  9.4335 minutes a block   for those 11 years.

you want more fun

611200 last block on jan 3 2020

623273 last block on mar 27 2020


that is 31 + 29 + 23 = 83 days x 144 = 11952 blocks would be every 10 minutes yet 12073  where made

so   11952/12073 x 10 = 9.89977 minutes per block  and price was 6940 jan 3 2020   and it is 6700 march 27.

So do yearly breakdowns

with efficiency
time per block almost always under 10 minutes

knock yourself out have fun with it.

Study flat difficulty periods and try to figure why  they happen.
legendary
Activity: 3612
Merit: 5297
https://merel.mobi => buy facemasks with BTC/LTC
The formula for average daily income in BTC is pretty simple:

(((((Hashrate (hashes/sec) * average block reward * 600 * 65535) / 2^48) / Difficulty) * 6 * 24)

This is the same for every calculator... However, some things might differ:

the block reward
do you count the block reward, or the block reward + sum(fees)
if you include the sum of the fees, do you use a sliding window, the sum of the fees of the latest block, the average fee over the previous diff retarget?

Network difficulty
Some calculators already guess the next diff adjustment(s) and already incorporate different diff's in their longterm projections

Exchange rate
Did you use bid, ask, avg??? Did you take the average rate over several exchanges?

Power consumption
Theoretical, or at the wall? Different PSU's might result in a slightly different power draw.

Pool fee
Did you include a pool fee?
newbie
Activity: 2
Merit: 15
Thank you for the answers / insights, guys.

Your excel was really helpful, mikeywith!



If blocks are completely full for a longer period of time, it might fuel a fee bidding war, thus increase the average fee... What do you mean by mining capacity? The difficulty is not adjusted in relation to the number of transactions or fees, nor is the block size... So i'd say that there is no correlation between them, altough i don't think this was your actual question...

At first glance it was trivial for me as well. But I compared my calculator with public calculators and differences occured, though I used the exact same input datas.

ASIC hashrate
Network difficulty
Exchange rate
Power consumption
Cost / kWh

I concluded that some minor and hidden variable is missing. I must add, that differences between various online calculators are also common. These are 15-20% differences (mine included). These contradictions are not relevant enough to assume that the nature of the problem is algorithmic, but not insignificant enough not to frustrate myself.

If you believe in bitcoin, you can probably take a little bit bigger risk, if you don't believe in bitcoin you should play it safe...

I have an ongoing research / experiment. I want to use the Bitcoin concept as a method of proof. My personal views are not relevant, though the technological aspect of the protocol fascinates me.
legendary
Activity: 2436
Merit: 6643
be constructive or S.T.F.U
3) Despite the 'spreads' between block validations, in the long term the protocol adjusts to the average 600 s block time, so I suppose that it is unnecessary - even wrong - to use a block time variable other than 10 mins. Is that correct?

You are correct, using 10 mins block time is the only accurate number.

1) Beside the network difficulty (i), the mining hash rate (ii), and the block time (iii), the certain exchange rates (iv), and the power consumption indicators (v) is there any other parameter that could increase the precision of a real-time mining calculator?

Indeed, there is the most important factor in regards to mining which is "PRICE", in fact nearly everything aside from bitcoin price is nearly irrelevant as far as mining profitably is concerned, the only way for the latter be wrong is if we could increase the block rewards.

To elaborate more, assuming the rewards are 1BTC per block and bitcoin worth $110,000, mining profitability would be the same as it is now with rewards at 12.5BTC per block and price ranging around 8800$, and since mining rewards don't increase, it's safe to assume that prices make up to 99% of the factors involved.

Based on that, I sadly have to tell you that whatever you are trying to do is pretty much useless, unless you have a crystal ball that tells you what will bitcoin price be in the future.

I have made a similar thread 'For how long can we actually mine' where I made a simple calculation showing what should the price of bitcoin be at every coming halving for mining to be as profitable as it is at the time of writing the topic, you can use the excel sheet in that topic to get the dates and rewards of all remaining halvings.

For instance, in 2033 where block rewards will be 0.78BTC per block - price per bitcoin should be $122,000 for mining to be as profitable, but we don't know the price of bitcoin in 2033, we also don't know the difficulty which can also be ignored because difficulty is purely based on price ( or at least this is what I think).

I hope my comment won't let you down, but what you are trying to do is actually speculate, you CAN"T calculate something you don't know.
legendary
Activity: 3612
Merit: 5297
https://merel.mobi => buy facemasks with BTC/LTC
1) Beside the network difficulty (i), the mining hash rate (ii), and the block time (iii), the certain exchange rates (iv), and the power consumption indicators (v) is there any other parameter that could increase the precision of a real-time mining calculator?

Well, in your "Directive" B, you already ask questions about the block reward.... You'll defenately have to take the halving dates into account, since at those dates, the reward will halve (not including the fees).

2) Are there any 'hidden' correlations between the number of transactions in a block, or the transactions fees and the actual mining capacity?

If blocks are completely full for a longer period of time, it might fuel a fee bidding war, thus increase the average fee... What do you mean by mining capacity? The difficulty is not adjusted in relation to the number of transactions or fees, nor is the block size... So i'd say that there is no correlation between them, altough i don't think this was your actual question...

3) Despite the 'spreads' between block validations, in the long term the protocol adjusts to the average 600 s block time, so I suppose that it is unnecessary - even wrong - to use a block time variable other than 10 mins. Is that correct?

That is correct, the difficulty is adjusted every 2016 blocks, the adjustment is aimed at getting the average time between 2 blocks back to ~10 minutes. If the hashrate keeps on growing (longerm), the average time between 2 blocks might actually be a very little bit under 10 minutes, because it always takes 2016 blocks before the diff is adjusted again.

A) I wish to simulate changes in the network difficulty. I think it wouldn't be wise to use a constantly increasing value. Do you have any suggestions about the actual test values and methods to calculate a realistic network difficulty scenario?

No. If the network hashrate decreases, so does the difficulty (and vice-versa if it increases). No way to tell (or predict).

B) I would like to designate theoretical dates of block reward halving in the following 5 years that are not unrealistic. What do you think? How many halvings are expected in the next 5 years, and approximately when?

This is predefined into the code: the reward halves every 210,000 blocks... ~10 minutes per block (on average), so you should be able to calculate the halving dates up to a couple days/weeks: https://en.bitcoin.it/wiki/Controlled_supply.

C) Finally, the most uncertain variable: the exchange rate of Bitcoin. Do you think that it is a good idea to mark a certain average value (e.g. $8.000) and use it as a constant reference for the entire 5 years period?

I have no idear... Price could be $1 in 5 years, or it could be $100.000 in 5 years... If we would know the price in advance, calculations like yours would be easy and everybody would do them... If you believe in bitcoin, you can probably take a little bit bigger risk, if you don't believe in bitcoin you should play it safe... But never invest more than you can afford to lose.
newbie
Activity: 2
Merit: 15
I created a Bitcoin mining calculator in a form of a google spreadsheet to simulate various long-term (5 year period) mining outcomes:

https://docs.google.com/spreadsheets/d/1wAvS5Pb0jdjvTiypFSDojLF5n8ep12GrWDZPPuysjog/edit?usp=sharing

Specific questions:

1) Beside the network difficulty (i), the mining hash rate (ii), and the block time (iii), the certain exchange rates (iv), and the power consumption indicators (v) is there any other parameter that could increase the precision of a real-time mining calculator?

2) Are there any 'hidden' correlations between the number of transactions in a block, or the transactions fees and the actual mining capacity?

3) Despite the 'spreads' between block validations, in the long term the protocol adjusts to the average 600 s block time, so I suppose that it is unnecessary - even wrong - to use a block time variable other than 10 mins. Is that correct?

Directives / insights

I would like to illustrate a plausible 5 years long mining scenario. I intend to make calculations for each day from today until the end of the 5 year period under investigation.

I know that it is almost impossible to solve the following problems, but I need some advices about the followings:

A) I wish to simulate changes in the network difficulty. I think it wouldn't be wise to use a constantly increasing value. Do you have any suggestions about the actual test values and methods to calculate a realistic network difficulty scenario?

B) I would like to designate theoretical dates of block reward halving in the following 5 years that are not unrealistic. What do you think? How many halvings are expected in the next 5 years, and approximately when?

C) Finally, the most uncertain variable: the exchange rate of Bitcoin. Do you think that it is a good idea to mark a certain average value (e.g. $8.000) and use it as a constant reference for the entire 5 years period?

Thank you very much for your help!
Jump to: