Ethereum mining is the act of accruing ETH tokens by validating transactions on the network. Specifically, it is the participation in validating all transactions that happen to ensure all Ethereum blockchain activity is confirmed. Ethereum mining can be done on pretty much any platform, making it available to the home computer user, not just those with expensive tailored mining rigs. It does tend to be easier if you have a UNIX computer, rather than Windows though, where Ethereum is concerned.
The biggest challenge with mining Ethereum is to generate more value in ETH token than the mining costs in terms of electricity. As a newbie, your very best chance of generating ETH through mining is to get involved in a mining pool and I will talk a little more about those later. If you opt to go down the route of full-fledged mining by yourself though, you will need specific mining hardware:
Right now, the Proof of Stake algorithm that is effective for Bitcoin mining, cannot be used on Ethereum so it is limited to the Graphics Processing Units. This means that Bitcoin ASIC hardware will not work, putting favor firm in the court of the home user and beginner rather than the big investors. This is what you will need to purchase to build your Ethereum mining rig:
Motherboard – allows all the parts of the rig to talk to one another Graphics Card – allows the Proof-of-Stake algorithm to be processed
Storage – either SSD or HDD for storing the blockchain and all transactions that are newly verified
Memory – the mining program needs this to work and as the files are growing, go for a high level, at least 8 GB, if not higher
PSU – the power supply unit to power your rig
Ethernet – for all the new validated transactions to get stored in the blockchain and all the new ones that are completed while you are mining
The graphics card is the most important part of your rig so make sure you don’t skimp on this and get the best your money can buy.
How to Mine Ether
The network keeps on running because of all the computers on the world Ethereum network. Rewards in the form of ETH tokens are given to mines who successfully complete a block and this happens around every 12 seconds or so. Because of the nature of the block generation algorithm, the process of generating the proof of work is random and the rewards paid out are in proportion to the power of each machine.
Using the Command Line for CPU Mining
If you are using a private network and you want to test this out for free, any normal computer with a normal CPU can run this network and can earn test ETH – these can only be redeemed on the network that it was generated on. This is an effective way to get started for private testing or for a small-scale network because, when you go live on the real network, mining will take considerably longer.
Before you get started, you need to set the address your earnings will go to. This only needs to be done once so open the command line on your computer search ‘Command Line” on your PC if you can’t find it) and type the following at the command prompt:
Geth: miner.setEtherbase(eth.accounts) miner.start()
Eth: web3.admin.eth.setMiningBenefactor(web3.eth.accounts) web3.admin.eth.setMining(true)
However, before you can mine a block your computer will need to get through the process of building the DAG (Directed Acyclic Graph) – the is a large structure of data, at least 1 GB in size, that is needed for the mining process and is designed to stop ASIC (Application Specific Integrated Circuits) machines from being manufactured en masse for Ether mining. The goal of the data process is to keep miners like you protected so that you can remain competitive just using your home setup. This process takes about 10 minutes to complete and, once done, Geth will automatically begin mining.
If you manage to mine a block successfully, you will see something like this in the logs:
Mined block #456789
If you want to check on your earnings, type the following to display your balance:
More Mining Information
The algorithm for Proof of Work does not use Sha256 or Scrypt; instead, it uses ETHash, a hybrid of Dagger and Hashimoto. It is hard on the memory so make sure you have plenty of RAM on your rig. The DAG we talked of earlier starts at 1 GB in size and is set to continue growing so an absolute minimum of 2 GB is required, preferably more.
Prowess in mining will be about equal in proportion to the memory bandwidth of your rig. To get the best, go for an AMD GPU; one of the best is the R9 290X.
The mining pools give you a much better chance of getting ETH and the reason for this comes down to the probability of allocation in Ethereum, which is in proportion to the relative productivity across the entire network. By joining up with a large mining pool, your chances of receiving ETH are significantly increased. All revenues rewarded to the pool are divided among the pool participants.
Together with the pool, you will need the mining software and you will need an Ethereum wallet so that you can receive your rewards. One of the recommended wallets for starters is the Ethereum Mist wallet and here’s how to get it:
- Download the latest version of Mist wallet for the system you use
- The download will begin automatically when you click on the link
– it will be a zip file so go to it, unzip it and look for the wallet called Ethereum-Wallet application – click on it
- Allow the installation to complet When full syncing has taken place, you need to choose the network – if you are only testing this, choose the option for ‘Use the Tet Network’, otherwise choose the network you want. Now input your password and make sure you remember it. It must be a very strong password and you must NEVER change it so make it a good one to start with
Open the wallet and you will be on the overview screen. At the top, you will see information that relates to the node sync status. If your node ceases to sync (you may see a zero or the block number will stay static), restart the wallet app.
Under the section for Accounts, you will see how many accounts there are and what the balance of ETH is in each one. Click on ‘Main Account and you will see your account address, just underneath your account name. The address will begin with 0x and will have 4o characters in hexadecimal format.
If you want to receive ETH, just give the payee that address and go to http://testnet.etherscan.io/ to see the transaction status. Just type the account or transaction number into search for it.
To send ETH to someone
- Click on Send
- Input the recipient’s address
- Choose how much ETH you want to send
- Don’t change any fees, just send it
- Input your password
- The transaction will complete
If you want to check on transactions in your wallet, go to Wallet Overview and then click on Latest Transactions. Click on a transaction to show the transaction box.
Cloud mining implies that pre-existing mining facilities are being managed by a service provider. This is the idea setup for beginners as you do not need any rig. There are loads of different types of cloud mining services but, usually, a user will buy a site-specific token that gives them the rights to a certain level of hash power – the more tokens you have the more power. This is the power that the cloud service will use to mine for you. Other types of cloud mining include:
Hosted Mining – the mining services will lease machines out to clients
Virtual Hosted Mining – these are general purpose service providers, on a virtual level, that lease memory, and processing power to clients for all kinds of services, including Ethereum mining
Leased Hashing Power – this leases hashing power for clients to collect their profits from
Obviously, you can just go and buy your ETH from an exchange if you want large amounts and you want it quickly. Cloud and mining pools will provide lower rewards but you are guaranteed them quicker than
if you were mining on your own.
Profitability in ETH mining is dependent on two major factors – electricity and hardware. The returns can vary very wildly; we know that the value of ETH can easily decrease and so can your revenue, relative to your hardware and power costs. Cryptocurrency is, by nature, volatile and this volatility can spill over into all different types of mining. However, provided you have the correct type of hardware and the right energy source, you could well be on your way to reaping a fairly good income.
Because it doesn’t use ASIC hardware, it is argued that Ethereum is more accessible to beginners and hobbyists than Bitcoin is. However, as time moves on, it is clear that Ethereum is heading in the same direction as Bitcoin, especially in terms of market saturation.
The Ethereum Mining Algorithm
Ethereum mining algorithm is no longer the proof of work that was used in Bitcoin. Instead, Ethereum uses the Casper proof of stake algorithm that uses far less in the way of computational power and provides the same outcome as the more expensive proof of work. This is meant to imply that Casper is a much better alternative. It is cutting edge and puts speed or availability above reliability or consistency and this results in much faster validations that have similar properties to the proof of work algorithm. Where the proof of work uses the hardware to provide value in terms of computation, the proof of stake system uses a miner-less approach that gets rid of the heavy energy requirements for the network. Instead of getting rewards for the mining, the Ethereum miners are given rewards that are in proportion to the size of the transaction being validated.
Is it Worth it?
There are plenty of ways to mine Ethereum from the cloud options to a full-on hardware option. It really is own to you to choose what suits you and your needs best. There is no way of predicting whether what you choose is going to lead to a high-profit level but, provided you put in the time to research the options available to you, and into the hardware and the energy costs, you will be well on the way to knowing exactly where you stand.
In the next chapter, we are going to move on to Smart contracts and you are going to have a go at creating your first one.