What we have done in this upgrade is adding rigorous limitation on the amount of coins in one transaction for staking purpose, and reducing maximum staking time within one week. We don't expect impact on typical situation where one remains wallet online for PoS stake; the offline time should not exceed more than a week. We also recommend to keep 100 - 1000 XMG in one transaction for best results.
Again, MAGI implemented a braking mechanism which makes it more secure compared to any other PoS coins. To understand that, take a look at the basic PoS mining equation:
hashProofOfStake <= [Coin-age] x [Target]
[Coin-age] = [amount of coins] x [days in stake]
[PoS-block-reward] = [Coin-age] x APR / [days in a year]
Apparently [Coin-age] is a paramount quantity for PoS, which is the driving force for people to stake with as many coins/days as possible. The major weakness in this mode is a possibility of attacking the network by mining a number of blocks ahead of other PoS miners, which can be done via accumulating significant [Coin-age] by
- Having significant amount of coins, which is technically difficult to be achieved in PPC, but rather easy in a freshly created coin;
- Accumulating significant amount of offline days of coins which shall not undergo any transactions before staking, which is a rather feasible approach.
Approaches to resolve the above situation have been proposed, mostly by manipulating the staking days, for example, by taking the staking time out of the equation, i.e., [Coin-age] = [amount of coins], which does not solve the issue #1. It is also unfair that one cannot buy advantages from staking time using a cheap PC, in addition to simply buying coins. The another option that growth rate of staking days over time is compromised is also implemented; it should be noted that any desired attack can happen too.
It should be noted that the number of coins under stake should be emphasized in the protocol; that is, the system should encourage one to stake with more coins, but discourage greedy accumulations.
MAGI takes the following form for coin age:
[Coin-age] = [amount of coins] x M(coins, days)
where M(coins, days) is a function of the amount of coins, and the days under stake. [Coin-age] is also the so called stake weight. M can be described by the following figures:
Let's see how the new PoS solves the issues:
- One holding more than 3000 XMG does not result any good in the stake weight; for staking over 25,000 XMG is like staking with nothing;
- The maximum offline stake time is four days, beyond which staking weight starts to drop; it's unlikely to accumulate infinite staking time.
A side advantage of the PoS-II is that significant amount of offline time is not allowed. There is no advantage of gaining coin age for offline more than 4 days. For any online stake holders, the block time will be refreshed upon finding blocks. The stake weight (coin-age) nearly increases proportional to the amount of coins when coins in one transaction are between 100 and 1000 XMG.