I won't bore with the usual response of "There is no such thing as free electricity". That point will eventually be made to you one way or another. It will most certainly not be
"virtually unlimited" as you mention.
I will however try and temper your expectations a bit. In case you haven't visited the website:
https://bitcoinwisdom.com/bitcoin/difficultyWhile it's a bit dense, if you were to put together a 1 Terhash (i.e. 1000 GH) miner, it could earn about $17 in a week, for the next week. The difficulty is looking to go up before your weeks is done, and your income will probably be reduced by about 3%. This of course assumes the value of BTC doesn't change (in terms of USD). Nobody can accurately predict what will happen to the difficulty every two weeks for the next year, since it's entirely dependent on what all the miners in world do in terms of adding or removing hashrate. While the last 3-4 months have had a little increase in difficulty, I expect that situation will not last for more than another month or two. We know that a variety of manufacturers are working on next generation ASIC, and they will almost certainly manifest in terms of hashrate increases. If you scroll down on the above website, you'll see past difficulty adjustments and when they happened. There is also a little calculator you can use to get an idea of how quickly your mining hardware will, or won't, get paid off.
And just to top it all off, sometime in the first half of 2016, your income stream will get cut in half. That's when the block reward, currently 25 BTC in a block, gets cut in half to 12.5 BTC. This happens for everybody, and it can't be stopped. It's all baked in the Bitcoin mining protocol.
While it looks like mining is "printing money", it really doesn't print it very quickly, and most attempts to speed it up are negated by difficulty increases.
If you already know all this, then you can just dismiss as cynical old guy.
I am open to and welcome any and all advice, comments, and criticism.
I know that the power will cost me no more than 0.0048 USD per kWh, and that this number in practice will be effectively 0.0002 USD per kWh. That is a known. What is unknown is the infrastructure, but I am confident I can get access to at least 100amp service to start, if not 200amp. So while it is certainly not FREE and obviously I would need industrial grade power for an industrial sized rig, I consider it low enough to be a non/small factor for startup.
As for the difficulty and block halving, its certainly a concern. Does 5% monthly seem reasonable for a prediction?
Furthermore I certainly expect the network to expand again with the next gen of asics, but I don't think it can expand much faster after this round. We are pushing the limits of the fab houses.
I have been working on a little python script to evaluate the ROI on equipment. Code posted below if you care to look, I am sure its not accurate yet, this was my first draft:
#BTC monthly return calculator
ghrate = 1000 #rate in GH of equipment
cost = 300 #cost of one unit
pcons = 1000 #power consumption in Watts
detail = 24 #number of months to detail
annual = 1 #flag to set if you want to see monthly report or annual report
mdelay = 2 #number of months till the unit will see service
currentdif = 47589591154 #get todays difficulty
prediction = 1.05 #constant percentage for monthly difficulty increase (THIS IS IMPORTANT)
erate = 0.0048 #cost in KWH of electricty
m2g = 15 #of months till next block halving
brs = 25 #starting block reward
b2d = 220 #dollars per bitcoin
bpred = 1 #bitcoin conversion prediction rate
mreturn = 0 #container for monthly return
mprofit = 0 #container for monthly profit
oprofit = 0 #overall profit
oreturn = 0 #overall return
tdiff = currentdif
trate = b2d
oreturn = oreturn - cost #factor in cost
mpcost = (pcons/1000)*erate*24*30 #caluclate fixed monthly energy cost
print("Monthly Power Cost =",mpcost)
tpower = 0
if(annual == 0): #if annual is zero, show monthly details
for i in range(1,1200000000): #just a large for loop, arbitrary upper limit
if(i == m2g): brs /= 2 #if we are past the block halving period, cut the reward in half
if(i > 1): #if its been more than a month, up the difficulty
tdiff *= prediction #multiply the difficulty by our predicition
trate *= bpred #same for bitcoin rate
if(i > mdelay): #if we are passed the delay to implement the hardware, start counting
mreturn = (b2d * ((30 * brs * (ghrate*1000000000) * 86400) / (tdiff * 2**32))) - mpcost #prediction line
oreturn = oreturn + mreturn
if(i < detail): #if we are past the range of detail we want to see, start counting till we are no longer profitable
if(mreturn > 0):
print("Month:",i,"Return:","%.2f" % mreturn,"Overall:","%.2f" % oreturn,"Difficulty (B):","%.2f" % (tdiff/1000000000),"BR:",brs,"BRE","%.2f" % trate)
if(mreturn < 0):
print("Month:",i,"Return:","%.2f" % mreturn,"Overall:","%.2f" % oreturn,"Difficulty:","%.2f" % (tdiff/1000000000),"BR:",brs,"BRE","%.2f" % trate)
print("Total return after",i,"months was:","%.2f" % oreturn,"Total power cost:","%.2f" % (mpcost*(i-mdelay)))
break
elif(mreturn < 0):
print("Total return after",i,"months was:","%.2f" % oreturn,"Total power cost:","%.2f" % (mpcost*(i-mdelay)))
break
else: #show it as an annual breakdown
annual = []
atemp = 0
breakeven = 0
for i in range(1,1200000000):
if(i == m2g): brs /= 2 #if we are past the block halving period, cut the reward in half
if(i > 1):
tdiff *= prediction #multiply the difficulty by our predicition
trate *= bpred #same for bitcoin rate
if(i > mdelay): #if we are passed the delay to implement the hardware, start counting
mreturn = (b2d * ((30 * brs * (ghrate*1000000000) * 86400) / (tdiff * 2**32))) - mpcost
oreturn = oreturn + mreturn
if(breakeven == 0 and oreturn > 0): breakeven = 1
atemp = atemp + mreturn
if((i%12) == 0):
annual.append(atemp)
atemp = 0
if(mreturn < 0):
break
print("Break even in",breakeven,"months. Total ROI will be","%.2f" % oreturn,"in",i,"months","Total power cost:","%.2f" % (mpcost*(i-mdelay)))
for i in range(0,len(annual)):
print("Year",i+1,"return:","%.2f" % annual)
I am not a programmer so please excuse the dirty code
And sidehack, I appreciate the offer and when I am in the procurement phase I will definitely be in touch, I would like to run as much of my purchases as I can through people like you who are actually contributing to the community.