Cryptocurrency Mining - Part 1


I’ve come to realize over the last year that people get quite curious about cryptocurrency mining and have had several people coming to me ask about how it works and if running a mining operation is feasible.

In what will most likely be a series of post, I’m going to explain what mining actually is and how you can take part in it.

What is mining?

Every cryptocurrency needs a way to assert the legitimacy of the transactions occurring through its network.

For Bitcoin and other truly decentralized currencies, there is no central authority ensuring this process and verifying all these transactions.

Does this mean that anyone can try and voluntarily send false transactions to the network?

Not exactly: you can create and send a false transaction, but it won’t be accepted by the network.

Why? Because of the miners.

Since Miners are the one in charge of bundling the transactions together before sending them to the rest of the network, they are charged with performing the necessary checks and verifications.

Among the various checks, Miners make sure funds that transit through them are not being spent multiple times and that the Account requesting the transaction actually has the necessary balance.

They serve as gatekeeper to the network and get a reward for doing so.

In most cases, miner intervention and the Public-Key Cryptography baked in every currency means that your funds are kept safe.

Mining Reward

Currencies that can be mined are said to be Proof of Work because miners take all transactions that go through them and compute (Hence the work) a possible solution using an encryption algorithm.

There are many such algorithms, mostly depending on the philosophy of the developers of the currency. Notable among them are Bitcoin’s SHA-256, Litecoin’s Scrypt and Ethereum’s Ethash.

Just as every coin has its own algorithm, every coin also has its own reward schedule for miners, usually made of:

  • The Block Reward, which is the amount of currency the miner gets for solving one single block.
  • The Block Time, which is the median time to find a block.
  • The Fees Reward, which is a variable reward depending on the current usage of the mined blockchain.
DailyReward=(BlockReward+FeesReward)BlockTime(minutes)2460DailyReward = rac{(BlockReward + FeesReward) * BlockTime(minutes) * 24} {60}

This formula can be used to easily estimate the daily mintage of a given currency.

Mining Pools

In the beginning of cryptocurrency mining, people used to mine on their own as was intended.

But pretty soon, due to the rise in the number of miners and the computational power (dubbed as Hash or Hashrate) dedicated to the network, small miners were getting a smaller part of the mining cake.

Since Mining is “winner takes all”, this meant that the only miner to get the reward of the block would be the one actually finding the solution for it. Smaller miners can not compete on their own and had to pool their resources together in order to obtain a smaller but more regular payout.

In effect, mining pools act as an intermediary between singular miners and the network. By presenting itself to the network as a single miner, it can obtain rewards more easily and more often.

Miners in the mining pool then get rewarded proportionally to the effort they put in.

As above, there is an easy way to approximate your expected rewards for a mining effort:

DailyMinerReward=MinerHashrateDailyRewardNetworkHashrate+MinerHashrateDailyMinerReward = rac{MinerHashrate * DailyReward}{NetworkHashrate + MinerHashrate}

Note that this equation holds true if you are adding your hashrate to the network. If you are already mining, there is no sense in taking into account your hashrate in the bottom of the equation.


Mining cryptocurrencies can seem overwhelming at first. Both its necessity and the financials behind it can take some time to understand.

I hope these few lines covering the basics will help and make mining clearer for everyone.

As I’ve said in the introduction, this post should evolve into a series covering most of the mining process and introduce a few tools that I’ve personally developed to help with my mining.