What is mining?
Mining in the context of cryptocurrency refers to the process of searching for solutions to cryptographically difficult problems as a method of securing blocks on the blockchain. The process of mining creates new currency tokens as a reward to the miner.
Taking Bitcoin as an example, the software compiles recent Bitcoin transactions into blocks and proves their validity by calculating a “proof of work,” that covers all of the data in those blocks.
As already stated before, mining it’s a computationally intense process that is further hampered by deliberate increases in difficulty as more and more miners attempt to create the next block in the chain.
Mining is a risky and costly process if done with profitability in mind:
- It requires costly hardware (to be effective)
- It consumes a lot of electricity
- It requires a proper cooling
- There are a lot of factors to consider when starting a mining activity that isn't done only for fun. Let's see some basic concept in the next section.
Some basic terminology
- CPU: Central Processing Unit
- GPU: Graphics processing unit
- FPGA: Field Programmable Gate Array
- ASIC: Application specific integrated circuit
- H/s: Hash per second (hashrate)
- KH/s: KiloHash per second (1000 H/s)
- MH/s: MegaHash per secong (1000 KH/s)
- GH/s: GigaHash per second (1000 M/s)
- Sol/s: Solutions per second
Mining hardware
You can mine using different hardware. Every coin use its algorithm, some is specifically optimized to be run on GPUs, some can run on CPUs only and other can run on both with different performance. Basically more guesses your hardware can do, the better.
Usually you don't have to worry about RAM since mining is a CPU-bound activity and doesn't eat ram at all.
CPU
There are a lot of altcoins out there that can still be mined using CPUs, however generally it's always better to mine using a GPU or specialized hardware. AMD Ryzen CPUs seems to be quite appreciated for this kink of activity.
GPU
Most part of crypto coins can be mined using a GPU. In general mining with GPU is always faster than with CPU, however you'll have to consider it's going to consume a lot of electricity assuming you have at least a GTX 1080 (which it's considered to be the starter kit).
FPGA
FPGA is a special type of integrated circuit that has a wide range of uses in technology, for example:
- image processing to use in
- mathematics
- high-end computations
Since FPGA are programmable can be customized to meet any computational need. Guess what? They can be also used for mining! It's a bit more expensive compared to the other solutions, but you can always switch to mine another coin with a minumum effort, which is not possibile using ASIC hardware.
ASIC
ASIC hardware it's the most expensive solution, however it provides the best hashrate performace.
Basically this hardare is customized and optimized for a particular use, rather than intended for general-purpose usage. You can think of it as a formula 1: it cost a lot and can be used only on racing tracks, but it goes insanely fast.
Since it's optimized for a particular coin, it's an investment to take wisely, you can't just switch to another crypto reconfiguring it. Once you don't mine that crypto anymore you can't do anything else.
Rig
A minig rig it's composed of:
- A metallic or wooded open structure (used to mount components)
- Cooling fan
- A motherboard
- Cooling fan
- Power unit
- Cooling fan
- Multiple GPUs
Did i mention Cooling fan?
Since GPU mining at the moment is quite profitable, you add your hashing power for every extra GPU. It surely requires a bit of time to setup and get it running but you can achieve an huge hashing power (and you can mine different coins in parallel)
At the moment it's an interesting solution considering you can find GPUs with a great price/performance ratio.
And don't forget you can also build an array of rigs!
Mining strategies
Mining in solo can lead to huge rewards, but it is not likely to happen because there are a lot of other miners doing it as well, and you can assume they have way more processing power than you as a starter. I like to think of it as a spartan race, you have to fight to get to the end
Pool
Since mining in solo is very hard, people usually join a pool: a group of miner sharing the effort in order to increase the chance of success.
Sharing the effort means that you must share the rewards. There are different kind of teniques that are in use, the most adopted i have seen so far are:
- PPS / pay per share: the payout is fixed for each part to the block resolved. The payout is taken from the pool balance and it can be taken immediately.
- PPNS / pay per per last N shares: it's similar, but with a luck factor. What this does is essentially cap the time frame for which the percentage is calculated. So, if the round was 5 hours and it took 1000 hashes but the PPLNS was set to 1 hour, and you were some pool hopper that mined for an hour in hour number 2 with 900 hashes, you get nothing. If you plan to mine constantly you should't be worried.
- BPM / slush’s pool: you get paid by your score calculated as your hashrate and the time you stayed connected to the pool
There are other aspects to consider when joining a pool:
- Fee: it's the fee you pay for joining that pool (usually it's around 1%)
- Minimum payout: it the minimum threshold before you can get paied
I hope this post will be useful, i'm still a newbie and this notions helped me a lot.
I plan to write more posts in the following days providing some concrete example of miner software.