General tips on how to reducing the orphan rate when mining proof of stake coins. I’ll try to add some background to fill everyone in on things but feel free to skip down to the bottom for details on the tips.
What's a Proof of Stake coin?
With all the mania around Bitcoin recently there have been more people becoming aware of the large amount of energy it takes to maintain the blockchain and mine Bitcoin. There are many newer coins out there that don’t take near this amount of energy to do the same thing.
Proof of stake coins let miners maintain the blockchain by not using as much energy and function much closer to how fiat money is transacted. All it takes is some investment in the coins and unlocking the wallet they are stored in when connected on the network to generate new blocks.
Steem is a type of delegated proof of stake coin but there are many others out there that you can easily mine yourself. A short list of my favorites include: Truckcoin, Hyperstake and Bitbean but I have many more that I actively mine at the same time on a single computer. (This is not investment advice, any of these coins carry risks that you should familiarize yourself with from a more neutral party)
Dog-oh sniffing around the frozen grass on a recent walk. (Colorized by Google Photos)
What’s an orphan?
Any of these coins will produce an orphan at times and newer people are sometimes confused by it. An orphan block happens when two miners produce a new block at almost the same time. One of the blocks makes it into the blockchain and the other will become an orphan and the the block reward will be lost.
If you have been waiting patiently for a block reward it can be disappointing when the reward is lost. Most wallets report this as “Generated but not accepted” and there is no way to change the fact that it was not accepted. Some wallets will remove these orphan blocks when a “repairwallet” command is run from the console in the debug window.
An orphan will not reduce the chance of getting a reward because the coin weight is not lost as it would be if you successfully got a block reward.
Many crypto coins do this differently so details on specifications will need to be looked into about the coin.
Reducing Orphans – Connectivity Issues
If the block information is not passed around the network fast enough some other wallet may get the reward first. There is some optimal number of peers that your wallet needs to be connected to. You might think that the more connections the better but I’m not sure if this is so. It seems like twelve connections works very nicely in most cases.
If you have less than three connections you may have some higher orphan rates especially if those connections are slow or busy.
You can turn on UPnP under the network options settings on most wallets to increase your connections by mapping the port on your router. This can help if the system supports it but I would not leave it on too long or you may get too many connections on some wallets. Additionally I have noticed problems with it causing the wallet to become difficult to connect (zero connections) when restarted. If this happens you could try turning UPnP off it is on.
I have seen a zero connection problem from having a peer in my config file that was causing an issue. You can always find good recent peers to connect to on most exchanges and many block explorers. Changing the list of peers in the config file fixed the issue for me.
If your wallet is connected to a misbehaving peer it might get locked out of the network for a time. You can try waiting 24 hours as a possible solution too.
I’d like to stress that many of these problems are rare and you many not experience any connectivity problems with some of the coins you collect but I’ve listed these things as tips. It can be frustrating if you are not able to connect to the network when you want to. Good connectivity will reduce your orphan rate.
Reducing Orphans – Calculation Speed
So if your computer is chugging so slowly that even Youtube is sputtering, your orphan rate is going to be high. The more coins you collect the more important it is to get things running efficiently so that blocks get solved and reported on the network as soon as possible.
Certain wallets run using more computing resources than others.
Having many small inputs (UTXO blocks) will increase your chance of getting a block reward in a smaller amount of coins but in a larger wallet many small blocks will start to increase the amount of processing time. The proper block size is subject to debate based on how the coin is running.
As a new user you probably won’t have to worry much about these issues but as you collect more coins it can become a concern. Using the “advanced coin control” in most wallets will allow you to have more control over combining smaller blocks of coins and breaking up larger blocks if need be. You can turn this on by selecting that option from under the options.
Older wallets with many transactions start slowing down. You can fix this issue by sending your coins to a new address after they mint (or earn a block reward) and then import that new address into a new empty wallet file once all your coins have been transferred to that address. The advanced coin control can help you pick the blocks that are newer so that you don’t destroy any of your coin weight. For most proof of stake wallets coin weight is very important to have and it can take some months for blocks to mint on some coins.
Running the daemon instead of a GUI wallet is more efficient and reduces orphans but you pay a cost in convenience.
Most operating systems will allow you to see how much CPU use a wallet is using so you can get some idea about the issue.
I hope this tips are helpful and not too confusing to anyone out there. If your just getting started I would just get a few proof of stake coins and play around with it. Many of the coins are very low priced at this point so you really don’t need to even worry about security much when just starting out with small amounts.
It is a very good idea to always password protect your wallet file though, so that if it is lost someone can’t get your coins. If you do this you will need to unlock the wallet to mint any new proof of stake coins. (The wallet file remains encrypted on the disk when you do this)
Thanks for reading! The picture was taken by me with my Galaxy S7