How to Master Proof of Stake
Alriiiiiiiight my friends, this is the post so many of you waited for – the ultimate HOW THE HELL DOES PROOF OF STAKE WORK tutorial from A to Z.
What is Proof of Stake and what is the difference to Proof of Work?
Let us begin with the very basics of Proof of Stake first. Proof of Stake ( POS ) and Proof of Work ( POW ) are basicaly two methods to mine cryptocurrencies.
While on the one side Proof of Work is calculating Blocks & new Coins with the use of GPU/ CPU – which is highly inefficient – Proof of Stake is generating the Blocks / Coins by – basicaly said – sharing your Coins in a secured Wallet with the complete Network. For being part of the Network you are rewarded in either a Percentage ( like 1% each 24 hours ) or a fixed Block reward ( like 1 $COIN per Stake you hit ). More about this 2 different POS methods later.
Your coins ( and you, if you stare at the Wallets 24/7 ) will gain weight on the Network. Depending on the Blocktime of the POS coin each couple of seconds a new Block is generated on the Network ( in most cases between 60 and 180 secons ). Each POS coin has a minimum Stake Age and a maximum Stake Age – those values define how old your coins have to be until they are able to receive a Reward. You ( and your coins ) have to wait this time before you even get the chance to generate new coins. Every time you generate new coins your Age is reset and your coins have to wait again for this period.
How to even start staking?
The basics you have to learn are the same on every coin.
Download the Wallet of the coin for your Operating System.
Start the Wallet, let it sync up with the Blockchain.
Encrypt your Wallet ( Options -> Encrypt Wallet ) with a safe and unique Password. Dont use the same Password for every Wallet. Make sure it consists of minimum 15 Letters/Numbers/Signs whatever. Once you have entered your password twice, restart the Wallet.
Send the coins from the Exchange to your Wallet and unlock it for staking ( Options -> Unlock Wallet ).
What does “minStakeAge / maxStakeAge” mean and how do I know when I will stake?
minStakeAge and maxStakeAge will be your new friends from now on. I will tell you why.
Let us say you bought 1000 $MONK on Cryptopia and transfered them to your Wallet. As soon as the coins hit your Wallet you will see them at the “Transactions” tab. Now they are part of the Network/Chain and start to collect confirmations. In the case of $MONK the minStakeAge is defined as 8 hours and the maxStakeAge is defined as 240 hours. $MONK itself has 720 Blocks / Confirmations a day. Each 2 minutes a new Block is generated on the network. Let us now do some basic Math:
8 hours minStakeAge * 60 Minutes = 480 Minutes minStakeAge
480 Minutes / 2 Minute Blocktime = 240 Blocks / Confirmations
So after roughly 240 new Blocks (8 hours) on the Blockchain you are able to receive stakes.
One of the most common questions I was asked in the last Year is:
I waited the minStakeAge but I did not receive a stake after waiting?
To answer this we got to learn what is happening at Proof of Stake and how the generation of new Blocks works in detail. I will try to give you an easy to understand example.
We have a coin with 1.500.000 $COINS circulating and maybe 1.000.000 $COINS able to stake ( you can always check current suppy on Explorer! ) – not every coin on the network is staking, some are on exchanges, some are locked away in the developer Wallets and so on.
User CRYPTOBOY1337 owns 50.000 $COIN and sends those coins to his Wallet. The minStakeAge of $COIN is 12 hours and the maxStakeAge is 240 hours. Now CRYPTOBOY1337 patiently waited 12 hours until his coins “matured” to be able to stake. He also gets some visual Feedback from the Wallet in the bottom right bar saying “Your network weight is 16.000 $COIN -total network weight is 700.000 $COIN – you are able to stake in XX Minute”
Those information are really helpful for the user CRYPTOBOY1337 because now he can understand why he did not instant generate new coins after waiting the minStakeAge. Let us take a closer look and understand why.
What does “Total Network Weight” mean?
Not only CRYPTOBOY1337 is trying to generate coins on the network, also some other investors try to maximize their Profits. As we estimated above roughly 1.000.000 $COIN are currently generating rewards too. All those coins get confirmations ( weight ) on the network. Some already generated and resetted, some still wait, its always hard to guess how many coins really stake, but its good enough to just understand the basics.
So – as written above – we have a network weight of 700.000 $COIN and CRYPTOBY1337 is part of it with 16.000 – in percentages this means that he is holding ~2,2% of the total network weight.
How is my own Network Weight calculated?
CRYPTOBOY1337 owns 50.000 $COIN – each confirmation on the network gives him new weight on the Network. You can say that you generate your own $COIN amount as weight every 24 hours. Lets do some math again, hooooooray:
50.000 $COIN generate an estimated weight of 34 each minute ( 50.000 / 1440 Minutes a day ). After 8 hours ( minStakeAge ) we have our starting, stake weight of ~16.000 ( 34 * 60 Minutes * 8 hours ).
The maxStakeAge is 240 hours which means our 50.000 $COIN can generate a total weight of ~490.00 ( 34 * 60 Minutes * 240 hours ).
So, those are the values we have to contest with the whole network all the time.
Staking probability is a mixture of own weight compared to network weight
Your coins always compete with the total network weight available. Based on the calculations we did above this means the following:
After 8 hours CRYPTOBOY1337 has a rough chance of 2,2% (own weight 16.000 – network weight 700.000 ) to hit a stake – this percentage is calculated new on each Block since every Block some guys staked and the network weight and your own weight changed. Lets say the network weight remains the same over 240 hours and CRYPTOBOY1337 still did not hit a stake. After 240 hours he reached his maximum weight he can create. In his case he started with 50.000 $COIN and those generated a total weight of ~490.000 ! If we compare his weight now to the total weight of 700.000 his chances are not 2.2% anymore, they increased to 69%. This means his chance to finaly hit a stake are over 50% at each new Block generated making it really common that he has to hit a reward soon.
What is the difference between Percentage ROI and fixed Block Reward?
Another Point many users seem to have trouble with is the difference between fixed and percentage based Rewards. This mysterium I can explain you very easy. Lets have a look at 2 coins and their specifications:
On the one side we have a coin like $MAY with a fixed Block Reward of currently 400 $MAY per Stake and on the other side we have $EMB with 7200% ROI per Year!
Our old friend CRYPTOBOY1337 owns 100.000 $MAY and 100.000 $EMB. He is staking both in his wallet and is super happy. He waited 12 hours on both Wallets until his coins finaly received stakes!
But … what is this… he generaeted different amounts for each coin with waiting the exact same time? This must be scam!!!
Calm down my friend, lets do some math and lets also understand how those rewarding systems work:
FIXED BLOCK REWARD
If you wait 12 hours or 120 hour your reward will always be a fixed Value! In our case 400 $MAY reward for you, wont matter how many coins you have!
PERCENTAGE BLOCK REWARD
If you wait 12 hours with a percentage based reward you will receive the exact amount 12 hours, compared to total year ROI will give you. Math time again ladies!
7200%ROI means if you wait 365 days you will receive 7200% of your initial invest. If we start with 100.000 $EMB and wait 365 days we will receive 100.000 * 7200 = 720.000.000 $EMB.
If we wait only 12 hours we will receive 7200 / 365 Days / 24 hours * 12 hours = ~10% of our initial invest -> ~10.000 $EMB
Which Reward System is better?
It is always a matter on what kind of investment you think of. If you plan to invest in a coin with a percentage ROI above 365% you can be sure that the price wont stay high for month/years.
The Problem is the compounding effect. Each couple of hours new coins are generated, those coins generate more coins every day, there is no fixed supply. In Week 1 a high ROI Coin may only create 1000 coins, but in weeks or month they might generate 10000000 coins a week. Thats the reason why the price of so many high percentage coins droped over the days and weeks. At some point there wont be enough CRYPTOBOYs around to buy all those million of coins that are generated a day.
If we take a look at coins with fixed Rewards this is a complete different story. You can know the exact amount of coins generated each day. There is no real inflation, all is calculated. If the supply is 100.000 or 1.000.000 $COIN the amount generated a day is the same every time since we always have like 1000 Blocks a day and each Block generates the same amount every time.
Thats why you see coins with fixed Block rewards always more stable over the time.
In the next step I will explain you why Coin Control is your new best friend and super Buddy of all times now!
What the hell is Coin Control and how to set it up correct?
Yeah.. first of all, cool that you are still reading, didnt expect you to be still here.
Coin Control is a tool used for optimizing inputs. You can enable it at every Wallet under Options -> Display -> Enable Coin Control feature!
Coin Control is the MUST LEARN BASIC for you guys. If you want to maximize your profits you have to learn how Coin Control works for EVERY COIN – each coin requires a different Setup of Coin Control. But let us start with the Basics.
CRYPTOBOY1337 bought again 10.000 $COIN and transfered them to his Wallet. He now opens the “Send” tab of his Wallet and sees a new Option called “Inputs!”. He has 1 Input displayed at Coin Control that gains weight ( see above 😀 ). He read this cool tutorial and knows how his coin weight now interacts with the complete Network. Thats good!
His Wallet interacts with the coins he transferd to it – EACH Wallet is modifying your inputs when you generate stakes ( some have preventions, more later ).
How does my Wallet change my Coin Input?
CRYPTOBOY1337 finaly staked with his 10.000 $COIN and generated a reward of 800 $COIN. He now owns 10.800 $COIN and starts gaining weight again. BUT what he does not know is that his wallet automaticaly splits his Inputs after every stake – WHAAAAAAAAAT? WHY? Thats some part of the basic technology behind Proof of Stake. After CRYPTOPBOY1337 staked he now has 2 Inputs in his Coin Control of 5.400 $COIN each – both start gaining weight on the network like the 10.000 $COIN did before. The tricky part is now that he has 2 Blocks trying to receive a stake and he has to decide if this is clever. He still gains a “Wallet weight” like explained above but there is not 1 Block fighting for the stake anymore with a big weight, nope, he now has 2 smaller Blocks fighting to get a stake each. This can be good and bad. I will explain later how to optimize it, for now we just got to understand what is happening.
The bad part of having 2 Inputs with 5.400 $COIN each is that his maximum Age for each Input is only 50% of the total weight his wallet generates. If we take the values from above this means that his maximum weight for each input is not 490.00 anymore, it is only like 245.00. In percentages this means that after 8 hours his chances are not 2.2% ( see above ) anymore. The chance that each Input hits after 8 hours are only 1.1% now.
“WHY my total weight is still the same?”
Yes, basicaly you are right, your “total chance of hitting a stake” is still 2.2% but since every Input fights for his own hitting a reward is now harder for each input. If you have a very large amount of coins the splitting wont be a problem for you in the beginning but if you are a small bag holder and your inputs keep splitting the chance to hit regulary decrease. At some point you will have plenty of small inputs with chances of only 0.0001% to hit after maturity because the Blocks splitted, splitted and splitted…
How to get them back into 1 Block?
The easiest way is to open Coin Control and press “Select All Input”. Then you can close Coin Control and you will see “Amount after Fee” on top right Corner. On this you can Right Click and say “Copy after Fee”. Now you paste this Value into the amount section. Then you send this amount to your own address. After the transaction is confirmed you will have 1 big Block again.
Each Transaction resets all confirmations/weights you earned before!
A lot of Wallets come with the “stakesplitthreshold” function. This function is very useful for you since you can define minimum Input sizes. Your Wallet will now take care of the splitting of coins.
Lets say you dont want your Wallet – with the function available – to never split your coins. Easiest way is to navigate to “Debug -> Info -> Console” and type:
Your Wallet will now only split coins if they reached 2.000.001 coins. He will then split into 2 Blocks of the threshold you defined ! The value you enter is the minimum size of a Block you allow.
How do I setup my Wallet correct?
At the end of this tutorial we will discuss the optimal input sizes for each coin.
If the coin uses percentage Based ROI always lock your coins into 1 Input! Either automaticaly with stakesplitthreshold or manualy with combining into 1 Block after every stake!
For Coins with fixed Block rewards you have to optimize your Inputs based on the amount of coins you got and based on the experience you earned with staking on the network.
You have 10.000 $COIN and those coins need 3 days to hit a fixed Reward of 800 $COIN. If this is the case you shall combine your inputs into 1 Block all the time. Otherwise the 5400 $COIN you receive after generating a stake might need 6 days to hit 800 $COIN – but probably you might stake twice this day – each Input of 5400 $COIN will generate the 800 $MONK.
If you have 100.000 $COIN and hit a stake of 800 $COIN every 12 hours (minStakeAge) you probably shall split your Inputs into with stakesplitthreshold into Blocks of 20.000 $COIN. Each input can then generate 800 $COINS and you might maximize your profit for a day. Because generating 5 * 800 $COIN is better then only 1 * 800 $COIN a day, right?
You got to find the optimal input size for each Coin and then split your inputs to have as many inputs of this size possible 😉
Thanks for reading this and happy Staking #PoSArmy!