ASIC wars: the last algo, an equihash mining guide
The CryptoNight battle
You may have seen a recent back and forth between Riccardo Spagni and Bitmain regarding their new ASIC Antminer X3. Bitmain recently announced a new miner targeted for the CryptoNight proof of work algorithm which Monero (among others) leverages.
This announcement is on the heels of Baikal Miner announcing their Giant N ASIC for the same purpose.
These announcements prompted a bit of backlash from the mining community due to fears that GPU mining will further die off leading to more centralized control of mining.
Riccardo (the lead of Monero) responded to Bitmains announcement on twitter stating the new ASIC will simply not work to mine Monero. This resulted in Riccardo being blocked from the Bitmain twitter account.
So what can you, as a small time miner do? Fortunately there are still some algorithms which have been holding their ground against ASIC, primarily Equihash due to it’s dependency on memory intensive operations.
Equihash mining
1. Choosing a coin
A quick search of whattomine gives you a few options:
- Zcash
- Zencash
- Bitcoin Gold
- Komodo
- Hush
Not on the list but recent fork, Bitcoin Private, is also an option. A deeper search will reveal some viable, smaller altcoins.
These coins move around a bit in terms of profitability, and going for a smaller altcoin may be a long term play but a good stable option might be to start with Zcash, which this guide will focus on.
2. Set up a wallet
You have a few options for Zcash, however WinZEC (previously Zcash4Win) is the recommended Windows local wallet.
- Download from the link above, launch the installer and Install
- Launch WinZEC, you will see it download a “large file” and a proving key. Let this finish
- Click the Own address tab
- Click New T (Transparent) address
- Next you will want to store your private key somewhere safe
- Click Wallet -> Show private key
- Finally you want to create a backup
- Click Wallet -> Backup
- This can be anywhere and it’s suggested to be an external USB drive, cloud storage, anywhere you consider a safe backup
- This backup + your private key will allow you to recover in case of any kind of failure
This last step may or may not be required for WinZEC but was an important step in Zcash4Win. You will have a difficult time finding documentation on this one elsewhere.
Built into the wallet is a automatic forced upgrade, in that once the Zcash blockchain reaches a certain height, the wallet is automatically considered out of date and will not launch. The developers idea was it would force people to stay on a current version. The problem is he did not keep up with the dev cycle so despite the wallet being out of date there was no new version released.
- The workaround was to disable this forced upgrade
- Navigate to C:\Users*USER*\AppData\Roaming\Zcash
- Substitute USER with your Windows user account
- Open zcash.conf in a text editor such as notepad
- Add the following line to the end of the conf file
disabledeprecation=1.0.12
In the future you may need to modify the version number to the current version as new versions of WinZEC are released
3. Overclocking your GPU
Nvidia cards perform better when mining equihash due to the more efficient power to speed ratio of the latest gen Pascal cards. AMD cards work well but will have lower Sol/s.
The steps below are Nvidia specific, if you plan to use an AMD card you should be able to find several overclocking guides online.
Obviously, physically install your GPU and install / upgdate to the latest Nvidia drivers
- Install MSI Afterburner software
- There are others but Afterburner works well
- Once launched you want to detach your graph as it contains important stats about your GPU
- Once detached you will see a popout window containing all your graphs
- Click the gear icon on the main Afterburner window and select the Monitoring tab
- The middle window contains all the metrics available, you can drag and re-order to see important data. I suggest the following in order of importance:
- GPU temperature
- GPU usage
- GPU core clock
- GPU memory clock
- GPU fan speed
- GPU power
- CPU temperature
Now it’s time to overclock your GPU. Overclocking for GPU mining is a bit different than overclocking for gaming. When gaming you are typically looking for maximum performance regardless of power consumption. When mining you are looking for maximum efficiency.
- Set core voltage to 0
- This is just an offset to the base voltage so setting to 0 just means you are adding 0% to the base
- Set power limit between 65 – 70
- Set your temp limit no higher than 80
- If you have poor airflow in your PC rig then maybe set this lower to about 70
- Unlink the power limit and temp limit by clicking the chain link between them
Core clock and Memory clock are going to vary. One important note is that most guides or forums you read for overclocking will give an offset number such as +400 or +600. You will often see people bragging they can hit some specific offset number. This offset number is somewhat meaningless, what is important is the final speed of your clock and memory.
Many higher end GPUs come already overclocked which means you may not need to set your offset as high to achieve the same effective speed. Let’s look at some examples:
| Model | Base Clock | Boost Clock | Memory |
|---|---|---|---|
| ASUS GTX 1070 Founders Edition | 1506 MHz | 1683 MHz | 2002 MHz |
| ASUS STRIX GTX 1070 GAMING OC | 1633 MHz | 1835 MHz | 2002 MHz |
| GIGABYTE GTX 1070 XTREME Gaming | 1670 MHz | 1873 MHz | 2042 MHz |
You can see varied base speeds and the difference between a Founders Edition and Gigabyte XTREME Gaming is almost +200 MHz core clock and +40 MHz memory clock.
- Memory overclock is more important for equihash mining and you should shoot for +400 to +600 offset based on your particular card. This holds true for pretty much all the popular models (1060, 1070, 1070ti, 1080, 1080ti)
- Look for +100 to +200 for core clock, again based on your card.
- The last step is to set up a custom fan curve
- Enter settings by using the gear icon again
- Ramp up your fan at around 60 degrees
4. Choosing a mining pool
Directly mining a coin is a difficult task unless you are picking something brand new. If you are going for Zcash then joining a mining pool is your option. You have several choices and considerations would be the size of the pool (hashing power), payout rate and fees.
For mining Zcash, flypool is a decent choice. No account creation is required, you simply point your miner to their server and start mining. They also offer decent monitoring tools and a fairly standard 1% fee.
5. Install and start your miner
Here again you have several choices. EWBF is a stable choice so we will choose it here. Another choice is bminer.
- Download the ZEC miner .zip since we are focused on Windows in this guide
- Navigate to the location you downloaded and unzip the file to a location (such as C:\EWBF)
- You should now see miner.exe and a bunch of .bat files
- Open a command prompt by clicking Windows Start -> Run -> Cmd
- Right click Cmd.exe and Run as Administrator
- In the black and white command window type
CD C:\EWBF - Now you are ready to start your miner by typing or copying the following command, then press enter but making sure to substitute your wallet address from step 2
miner --server us1-zcash.flypool.org --port 3333 --user t1QTdiqnTyKnrPbmgQQSreoKQafDG8Qy6XZ.RigX --pass x --fee 0 --api 127.0.0.1:42000
Description of the command
- miner – the mining program
- –server us1-zcash.flypool.org – the flypool US stratum server
- –port 3333 – the flypool stratum server port
- –user t1QTdiqnTyKnrPbmgQQSreoKQafDG8Qy6XZ.RigX – ZEC wallet address.(dot) whatever name you want to give your worker.
- –pass x – Just generic password, doesn’t do anything but needs a value
- –fee 0 – disables the mining fee for EWBF. If you don’t disable then a very small percentage goes to the creator of EWBF. You can leave it on if you feel generous
- –api – Will give you a stats page so you can see how your card is performing. Once running the URL will be http://127.0.0.1:42000/
You should see output similar to the following. you are looking for an Accepted share and an output of your hashing speed. The below output is from a gtx 970 thus the relatively low Sol/s
- A 1070 would give roughly 450 Sol/s while a 1080 should show about 520 Sol/s
- You can check whattomine for other expected solution rates by card type
Now you are mining. Go back to your Afterburner graphs and you should see:
- GPU usage now go to 100% and stay there.
- Core clock may go up a little
- GPU temp rising. (Anything below 75 is OK long term)
- Your fan speed ramping up
Two extra tips for small boosts in performance
- Download Nvidia Profile Inspector. Launch it then look for sesction 5 – Common. Change the value for CUDA – Force P2 State to Off. Click Apply changes at the top.
- Manually set your Windows page file to 16GB instead of auto manage
6. Monitoring and payout
You can verify everything by going to https://zcash.flypool.org/miners/t1QTdiqnTyKnrPbmgQQSreoKQafDG8Qy6XZ
Again, substitute your wallet address in the URL. It may take up to 1 hour for you to start seeing anything so be patient here. You will start to see your hash rate, workers & current Zcash balance.
You’ll want click on the settings tab and enter an email address & payout threshold. 0.01 is the minimum payout, however you want to set it higher because there is a small transaction fee to receive your payout. Depending on your mining capacity you can determine what is an appropriate payout timeframe
Lastly, you probably want to do something with you mined Zcash coin. Several exchanges support Zcash (ZEC).
You can send Zcash from your WinZEC wallet to an exchange. From there you can take multiple paths:
- Convert to Bitcoin or Ethereum and look to cash out in FIAT
- Hold your Zcash and wait for the market to increase
For more crypto news, charts and information visit http://www.seems-legit.com/
Coins mentioned in post: