Post by Who on Aug 20, 2014 0:29:51 GMT
A few months ago I started to visualise Netcoin as an organism that wanted to work in partnership with the wallet holders and their desires and needs for the currency. Just like a pet cat, thats free to roam, if you treat Netcoin with affection it could reward you with purrs and comfort. If you chose to neglect it, it would start to look for other legs to rub against.
About the same time, I started to hear about Netcoin's plan for POS, and I liked the idea of substituting the 'sacrifice of electrical power and energy' with 'the sacrifice of accumulated coin age' to sign blocks and earn rewards. For one thing, it's more eco-friendly. I could finally rebuff the arguments from my collegues at work about the fossil fuel being burnt to hash bitcoin.
'Imagine if all that power was put into protein folding' one would regularly say, 'you could cure cancer'.
But the one argument against POS as a concept that really bothered me was this:
So I could
For what? For helping to securing the network for a few hours in all that time. This, to me, seemed to be an oversight in the overall POS concept. Why should I bother trying to compete and leave my wallet running if I'll get the 5 years reward anyway?
While POS might be technically capable of securing the network, it could do more to encourage the behaviour required of the wallet holders to secure the network effectively.
For POS to work at its very best, the reward function and how it behaves is crucial for encouraging the kind of user behaviour that secures the network better.
The reward function is the carrot that should incentivise the very users who want to be the guardians of the currency. In terms of security, what you really want is for people to keep staking coins, over and over again by keeping their wallets open. More wallets open and staking means more people are competing, and the harder it is for a single entity to control the blockchain.
So how can you incentivise this behaviour?
You say 'In order to claim the full reward stated on your 'Personal Investment Rate', you need to feed Netcoin regularly. Netcoin needs you to try to achieve at least one proof of stake block in each and every month'.
The protocol, when dishing out the reward for some staked POS coins works like this:
Netcoin_POSV_reward()
{
Ooh another coin stake;
Let's see what you've got there;
Crikey;
These are about 10 months old for crying out loud;
Most other people who come in here for a reward,
have been busy staking old coins for new,
and you have the audacity
to turn up with these old things
and you want a big reward?
Here, you can have some of your reward
but next time,
do yourself a favour
and open your wallet for a bit
}
Ok, hopefully you get the idea, but seriously the reward function works like this:
Netcoin POSV reward:
Coins that are 30 days or younger when they are staked earn their full daily reward.
For coins staked after thirty days, the additional coin age used for calculating the POS reward follows a 90 day declining half life.
As coins pass the thirty day mark, each passing day adds a little bit less 'days worth of reward' to the coin than the previous day did, until by the time you get to 90 days later, that is 120 days since you received the coins, each passing day only counts for half a days worth of reward. As you pass that 120th day, the reward earned each day continues to get weaker and weaker until 90 days later, each passing day only earns a quarter of a days reward and so on.
The end result is that if you wait a year before you fire up your wallet in an attempt to stake a block, and expect to get a full years POS reward 'in return for securing the network during that time', you will be a bit disappointed. Not a lot, but a bit. The Netcoin POS rewards are still very good, even for nervous offline holders, but I tried to set it just tough enough so you should get the feeling you could have done better if you'd tried harder.
On the other hand, if you keep your wallet open and manage to regularly stake within the 30 days frequency, every second of every day that you held coins will count fully towards your rewards.
I really believe this small change to the POS reward function creates a big incentive for those people who see themselves as the 'blockchain guardians' to keep their wallets open and compete for POS blocks as often as possible. The technical term is a 'full node' user. We like them. They make Netcoin purr.
who (Netcoin Developer)
Netcoin NET : Your Currency on Your Terms
p.s. On a side note,
As a computer programmer I'm absolutely fascinated by the idea that this one smallish tweak in one incentive function in the Netcoin code might actually redefine the behaviour of hoards of users
That is the reason I love programming for Netcoin!
pps. Why is it called POSV
Proof of Stake Velocity.
reward value is based not only on what you are staking, but also on how frequently you successfully stake.
About the same time, I started to hear about Netcoin's plan for POS, and I liked the idea of substituting the 'sacrifice of electrical power and energy' with 'the sacrifice of accumulated coin age' to sign blocks and earn rewards. For one thing, it's more eco-friendly. I could finally rebuff the arguments from my collegues at work about the fossil fuel being burnt to hash bitcoin.
'Imagine if all that power was put into protein folding' one would regularly say, 'you could cure cancer'.
But the one argument against POS as a concept that really bothered me was this:
- POS will help secure the network providing lots of wallets compete to secure the network.
- The usual POS reward is reward_Per_Coin_Per_Day * number_of_coins_Staked * number_of_days_held
- Nothing in that reward talks about securing the network while you hold the coins.
So I could
- obtain a large number of coins
- Put them in a paper wallet
- Forget about Netcoin for 5 years
- Import the private key into my wallet
- Start staking
- Receive 5 years worth of POS reward
For what? For helping to securing the network for a few hours in all that time. This, to me, seemed to be an oversight in the overall POS concept. Why should I bother trying to compete and leave my wallet running if I'll get the 5 years reward anyway?
While POS might be technically capable of securing the network, it could do more to encourage the behaviour required of the wallet holders to secure the network effectively.
For POS to work at its very best, the reward function and how it behaves is crucial for encouraging the kind of user behaviour that secures the network better.
The reward function is the carrot that should incentivise the very users who want to be the guardians of the currency. In terms of security, what you really want is for people to keep staking coins, over and over again by keeping their wallets open. More wallets open and staking means more people are competing, and the harder it is for a single entity to control the blockchain.
So how can you incentivise this behaviour?
You say 'In order to claim the full reward stated on your 'Personal Investment Rate', you need to feed Netcoin regularly. Netcoin needs you to try to achieve at least one proof of stake block in each and every month'.
The protocol, when dishing out the reward for some staked POS coins works like this:
Netcoin_POSV_reward()
{
Ooh another coin stake;
Let's see what you've got there;
Crikey;
These are about 10 months old for crying out loud;
Most other people who come in here for a reward,
have been busy staking old coins for new,
and you have the audacity
to turn up with these old things
and you want a big reward?
Here, you can have some of your reward
but next time,
do yourself a favour
and open your wallet for a bit
}
Ok, hopefully you get the idea, but seriously the reward function works like this:
Netcoin POSV reward:
Coins that are 30 days or younger when they are staked earn their full daily reward.
For coins staked after thirty days, the additional coin age used for calculating the POS reward follows a 90 day declining half life.
As coins pass the thirty day mark, each passing day adds a little bit less 'days worth of reward' to the coin than the previous day did, until by the time you get to 90 days later, that is 120 days since you received the coins, each passing day only counts for half a days worth of reward. As you pass that 120th day, the reward earned each day continues to get weaker and weaker until 90 days later, each passing day only earns a quarter of a days reward and so on.
The end result is that if you wait a year before you fire up your wallet in an attempt to stake a block, and expect to get a full years POS reward 'in return for securing the network during that time', you will be a bit disappointed. Not a lot, but a bit. The Netcoin POS rewards are still very good, even for nervous offline holders, but I tried to set it just tough enough so you should get the feeling you could have done better if you'd tried harder.
On the other hand, if you keep your wallet open and manage to regularly stake within the 30 days frequency, every second of every day that you held coins will count fully towards your rewards.
I really believe this small change to the POS reward function creates a big incentive for those people who see themselves as the 'blockchain guardians' to keep their wallets open and compete for POS blocks as often as possible. The technical term is a 'full node' user. We like them. They make Netcoin purr.
who (Netcoin Developer)
Netcoin NET : Your Currency on Your Terms
p.s. On a side note,
As a computer programmer I'm absolutely fascinated by the idea that this one smallish tweak in one incentive function in the Netcoin code might actually redefine the behaviour of hoards of users
That is the reason I love programming for Netcoin!
pps. Why is it called POSV
Proof of Stake Velocity.
reward value is based not only on what you are staking, but also on how frequently you successfully stake.