Mining layer
Below the infrastructure, you have the mining layer, where you have a different set of utilities available to mine Ethereum using your graphics card or your CPU. As you probably know, the only somewhat profitable way to generate Ethereum is with cheap electricity and GPU cards. Realistically, you can mine on your own, or join pools that pay a fraction of the block reward.
The following diagram shows what the mining layer contains:
Mining is the process that increases the size of the blockchain by adding blocks that contain valid transactions, thanks to a group of computers participating in mining that reach consensus via the proof-of-work scheme. This is fundamental in order to make cryptocurrency transfers and to be able to run smart contracts using the combined power of the mining network.
The mining network is huge in Ethereum and it's the one in charge of processing all the transactions that take place, including smart contract executions and deployment. It's the foundation of any strong blockchain. The more miners you have processing transactions, the more censorship-resistant and secure the entire system is.
When it comes to mining, you have mining pools and mining clients that use all the available graphic cards for solving proof-of-work (PoW) challenges. The mining pools give all the participants a portion of the block reward they'd get from mining alone because of the simple fact that mining has become exponentially difficult and only the combined efforts of many computers can generate blocks consistently. They are great for getting consistent rewards without spending days mining on your own, not knowing whether you'd ever find a block or not:
- Ethermine: Among many other similar pools, Ethermine is well-known for its great payouts and consistent returns. One of the biggest that you'll find, you have a great guarantee that you will receive your mined Ether after reaching a minimum of 0.05 ETH.
- Nicehash: This is a special pool in the sense that it works with a much bigger variety of cryptocurrencies. It's more like a marketplace for selling hashing power in exchange for larger payments in Bitcoin, which you can easily convert to ETH. The payment threshold is 0.001 BTC, which is considerably more expensive than what Ethermine requires. It's great for those that are in it for the longer-term benefits.
After choosing your mining pool, you'll need to get a mining software that will take care of using your computer resources in the most efficient way possible for the biggest payouts. The most popular GPU miners are Claymore and Ethminer, although many others, such as Geth and Parity, can be used for the same purpose using your CPU with a much lower hash output:
- Claymore: This is a fantastic tool to use your Nvidia and AMD GPUs to their full capacity, since it's optimized for each variety of those cards. Including support for dual mining, you are able to mine Ether and other cryptocurrency of your choice with minimum affect to the Ethereum hashing power, since they use similar and complementary algorithms that work well together. The only catch with this miner is that, for every hour that you mine using it, 36 seconds will be used to mine for the developer of the application, which is understandable and fair for such an efficient tool that provides a much better performance that other miners.
- Ethminer: Ethminer, written in C++ is dedicated exclusively to mine any cryptocurrency that uses the hashing algorithm Ethash, which includes Ethereum, Ethereum Classic, and Musicoin, among many others. It's not as efficient as Claymore, but it has a strong open source community behind it that works endlessly to provide the best support and programming possible from a small team of enthusiastic developers.
Ideally, you should test both miners to see which one is generating the best performance, because every setup and computer is slightly different. Make sure that you adjust the settings they provide if you're getting sub-optimal performance.