Like many thousands of others, I made my entry into the world of cryptocurrencies by renting out my GPU hash power using NiceHash. It is a great service for beginners, because it removes the risk and difficulty of determining which coin to mine and pays out directly in Bitcoins.
From a GPU hash power seller perspective, using NiceHash made a lot of sense — until they got hacked in early December 2017 and I had to look for alternatives. During my first months of using this service, I couldn’t even begin to understand how it made money to hash power buyers. It simply looked weird that somebody would be willing to pay in Bitcoins for mining another coin.
Since NiceHash got hacked, I’ve been using my own rig to mine for Zcash. I’ve decided to convert my ZEC earnings into Bitcoins for long-term storage, which means that I also had to start monitoring BTC:ZEC exchange rates. Because mining one currency and exchanging into another exposes the user to a new set of risks and costs, I had to figure these out. I think that as a result of this I finally have the necessary experience to try and test the profit model behind buying hash power from others.
I am using this blog post as a notepad that stores my assumptions, results and questions. Based on how this goes, I will likely modify it heavily. So if it feels even less coherent than my usual writings, please bear with me and revisit later. Or, if you’ve been down this road before and care to tell me where I am right or wrong, please do so!
In order to make my calculations easy, I expanded my mining rig a little bit. I am now using the following cards:
- 3 pcs Gigabyte GeForce GTX1070 Gaming G1 (+150 CPU +500 MEM @70% power)
- 1 pce MSI GeForce GTX 970 4GD5T OC (+150 CPU +500 MEM @70% power)
- 1 pce Palit GeForce GTX1080 (+150 GPU +650 MEM @70% power)
[amazon_link asins=’B01H0WU884,B01GXOX2BU,B076Q62TDF,B01HHED116,B01GGBPXI0′ template=’ProductGrid’ store=’minerzinfo-20′ marketplace=’US’ link_id=’eadfa57b-e9bf-11e7-a27a-416fbd81b7bc’]This set as configured provides 2,000 sol/s in steady state (over 24 hours or more) and consumes approx. 600W. At present it yields around 0.01 ZEC every 9 hours on average (figure depends on pool hash rate and luck, but this average number is calculated over a period of 2 weeks, so it is more or less adequate).
These round numbers allow me to (1) compare my ZEC yield against hash power purchased via NiceHash and (2) deduct my power costs when comparing the two results.
Observations & Assumptions
There is a substantial difference in payout calculation for NiceHash sellers and Flypool miners.
NiceHash uses a PPS (pay per share) system which awards all work as it comes. Your GPUs mine, you get paid; your GPUs stop, you don’t. It is very easy to understand and is perfect for somebody who wants to earn a few bucks on the side.
Flypool uses a PPLNS (pay per last N shares) system, which is designed to reward miners who stay on the pool long time, and to discourage those who switch between pools. This is a fair solution for miners, but less so for hash rate buyers. The Flypool PPLNS requires 24 hours to converge average hash rate (the value on which you’re getting paid) and current hash rate. So, in order to make any meaningful comparison between mining with my own rig and buying hash power from the NiceHash marketplace, I need to plan payments for 24 hours (to achieve steady state) plus whatever time I can afford.
This inflexibility exposes hash rate buyers to an exchange rate risk. Let’s say I start to mine with a contract for 10,000 sol/s and in 12 hours suddenly ZEC depreciates 20% against BTC for whatever reason. Unless I know that ZEC will bounce back, I may be tempted to stop my hash rate purchase order in order to stop spending BTC to earn 20% less ZEC. But because of the way PPLNS counts contributions, I will waste the hash rate I’ve directed: I am paying to NiceHash for every minute I am renting these 10,000 sols, yet it will take up to 24 hours for Flypool to acknowledge that I am really contributing 10,000 sols. It will take even longer to get my payouts, because all earnings have a 4-5 hour maturation period (110 transactions).
So my reaction to any sharp BTC:ZEC market change is delayed by as much as 30 hours. This could be good (in case the ZEC recovers from the notional 20% drop I mentioned above) or bad (in case the drop is permanent).
So here is one important difference between a NiceHash seller and a NiceHash buyer. Until there are buyers, a NiceHash seller gets paid in Bitcoins no matter what. A NiceHash buyer is likely to be facing majors drop in their target currency and is always presented with two choices: (1) keep paying for the hash rate, hoping that the exchange rate will become more favorable or (2) stop paying and cut losses.
There is two optional choice: (3) modify the purchase rate to pay less for the hash power. But while it can minimize losses, it can’t offset them completely (if purchase price is set too low, the order will stall, because the NiceHash service will switch its miners to a different algorithm that pays better.) and (4) fulfill the order as originally planned, but delay converting ZEC into BTC until a more favorable exchange rate appears.
Because of this, I have decided to test the system for 50 hours initially (assuming 0.1 ZEC every 1.8 hours for 30 rounds), evaluate profits and extend further if outcome is favorable. The smallest amount of Equihash hash power I can buy at present is 10,000 sols at a cost of 0.0055 Ƀ per day, plus 0.0001 Ƀ plus 3% (0.012862125 Ƀ total). In order to be profitable, this order must yield a minimum of 0.34117 ZEC*.
If I reach this target, I will have achieved better ROI than mining myself, because I will have spared electricity cost (10,000 sols = 3 kW, approx. 18 USD for 54 hours) and hardware amortization cost. Am I up to this?
* The above statement is an oversimplification, because I haven’t taken into account at least two other important numbers. (1) the network fee I have to pay to send Bitcoins to my NiceHash account, and (2) the exchange and network fee to convert the ZEC into BTC again. Because of the high BTC transaction costs relative to the order volume, it seems that any potential profit will be eaten by the network. Perhaps I should double or triple the purchase order to minimize this cost. Let me think about this some more.