Many people are hearing about the boom in Crypto Currencies lately and are joining those that have been mining for a long time. Naturally they have a lot of questions since the concepts of mining are not really put down at a central place easily accessible (or even understandable) to newcomers.
Since I am running my own little pool network ([pools are not active anymore]) based on my own software project called MPOS I am also seeing new people joining every day. Instead of having to answer the same questions again and again I decided to write a small introduction to mining! This will only cover the basics of mining, not the concepts behind crypto coins.
Getting a wallet
Before you start mining make sure you have a wallet installed for the coin you wish to mine. All coins generated in a pool must be transferred to your local wallet eventually (to keep your coins save). So better do this now!
Each coin will offer various versions for different operations systems on their homepage. After downloading and installing it will start to download the Blockchain. This may take a while depending on the coin.
You will find a Receive tab in your wallet. If you click that, you will get your coin address for this coin. You will be able to receive coins at that address.
Joining a pool
Newcomers will likely join a pool they find in some sort of forum post. The basic procedure is always the same
- find a mining pool of your liking
- create a new account with a valid mail address
- add your valid wallet address to your account
- configure your auto payout threshold
- create a worker
Most pools offer a Getting Started guide that explains the exact steps to setup a miner. Including software downloads, miner settings, hosts and ports. You can pretty much use their information to get your miner started.
Shares, pool hashrate, blocks, payouts
New miners are often wondering
- why do I have shares but no transactions
- why are my coins unconfirmed
- I have shares accepted but no block
- I don’t see my hashrate increase on the pool
Here a quick overview what these terms mean.
Finding blocks is not an easy task. Since it would take a really long time on some coins, finding a block is broken down into shares. Depending on the server side setting, each share can be a certain difficulty. The more difficult each share is to find by miners, the fewer total shares are required to eventually find a block.
On the server side, each share is checked against the coin daemon (a server side wallet with more features) if it is indeed a valid block solution. Every share computed has the potential to be a block solution. I will not go into details why this is, but rest assured that share estimates for blocks can sometimes be exceeded. In the long run though, shorter round with less shares than required will make up for those taking very long.
Keep in mind: shares are not blocks! Shares are part of a block and will count towards the block payout!
At times, you will see shares being rejected by the pool. This can happen if you try to send an outdated share right after a block was found. Stratum, a protocol used by a miner to request work from a server, is used for share submission and getting new work. It is very solid when it comes to avoiding rejects but they can still happen once in a while.
If you are seeing reject all the time, then something isn’t working right on your end. You may also notice that your hashrate on the pool website is not increasing while your invalid share count keeps climbing up. In that case turn off your miner and check your settings!
Often people running miners for the first time will notice a discrepancy between their hashrate displayed in their miner and what the pool reports. Do not be alarmed unless
- your miner is not showing shares being accepted (marked as rejected)
- your miner is showing a lot of hardware errors
Unless one of above are the case, everything is normal! The pool can not see your clients hashrate so it deducts it from the shares you have submitted. Since each share, just like blocks, have a certain variance to them (sometimes you solve one fast, sometimes you solve it slow) a pool will show a very unstable hashrate. This is not a reason to complain to your trusted pool operator! Their pools have no influence on your luck/bad luck and only display what their pool can see based on your shares submitted.
Coins generated by a block will not be available to you right away. They will take some time to be confirmed by the entire network before you are allowed to transfer them out of the pool. Usually coins have a confirmation set to 120. What that actually means: the network (not the pool) has to discover 120 additional blocks on top of the one found by the pool to confirm it.
Sometimes you may notice that a block found by a pool became orphan. I won’t go into details what this means (you can probably google it) in detail but for you, it means your paid out coins will become invalid (unless you run pay per share, see below). This doesn’t happen often though, at least for the bigger coins. As of this writing, not a single block in my chains was marked as orphaned.
Now the most interesting part: When will I see the first coins flowing into my pool account?
This actually depends on the pools payout system. MPOS support three different systems:
- proportional (Prop)
- pay per last N shares (PPLNS)
- pay per share (PPS)
Each system had its pros and cons, mostly related to risk and reward, but in short:
Proportional and PPLNS are round based payouts, hence you will be paid your coins as soon as a round ends with finding a new block in the pool. They will be in unconfirmed state until the block has been confirmed on the network.
PPS is a share based payout, each share will have a certain value which will be paid out right away. You don’t have to wait for a round to end to get your coins. Orphans also won’t matter, the risk is fully taken by pool operators. Your paid out shares are confirmed right away, you don’t wait for a block to be confirmed.
There are not too many PPS pools out there. The system is very risky for a pool operator. Even with taking a pool fee, a long round or orphan block can quickly negate any income made in the past. In a worst case scenario, a pool operator would have to boost the pool with his own coins to recover from a bad round!
Proportional and PPLNS are commonly used by smaller pools. It is a fair system with no risk to the pool operator. Orphans will be passed down to the users, causing them to lose the coins generated by orphan blocks. As mentioned, depending on the coin, this can happen often or almost never.
For details on each of these systems, feel free to do a quick Google search.
As you see, there are a few aspects involved when joining a pool. These steps will usually be very similar, and most terms will apply to all pools. I hope this little guide will clear a few things up! And happy mining to you all.