Options for Proof of Stake Implementation on Dynamo Coin
Introduction
The next major upgrade for Dynamo involves implementing the hybrid proof of work / proof of stake security consensus algorithm. A hybrid POW/POS algorithm offers superior security to pure POW or POS alone while maintaining the decentralization that POS offers. The Dynamo whitepaper provides more details the economic and security reasons for implementing this feature, which can be found at https://www.dynamocoin.org/
The decision to proceed with implementation of this change will be voted on by the Dynamo coin holders in the near future. Below are the various parameters that need to be incorporated into the design.
POW/POS Split
As stated in the original whitepaper, the block reward, currently set at 1 DMO per block, will be split between miners and stakers. Although the white paper did not specify the exact amount, some original “tokenomics” documents referenced a 60% miner / 40% staker split.
Implementation Methodology
The POW/POS mechanism can be implemented using normal consensus methods, e.g. block acceptance by the chain, or via smart contracts. Smart contracts on Dynamo have not yet been tested and the testing is expected to take several months. Due to the upcoming implementation of ETH 2.0, there may be an opportunity to gain additional market share from ETH miners and having a staking option would likely be attractive. Therefore, it is preferable to implement staking as part of the consensus mechanism and not as a smart contract.
Staking Terms
It is desirable to allow for multiple “levels” of staking which provide greater benefit for longer staking terms.
As an example, if the staking split is 0.4 DMO per block, then that could be further split into tranches, like 0.05 for 30 day lockup, 0.07 for 60 day lockup, 0.12 for 90 day lockup and 0.16 for 120 day lockup. Each group of stakers would be able to allocate staked coins to a specific lockup periods and then claim those coins at the end based on the accumulated rewards.
Slashing
Systems which provide for slashing invite centralization.
1 — Slashing due to nodes being offline or non-performant penalizes smaller stakers who cannot afford the infrastructure to maintain 24/7 connections and uptime.
2 — Slashing incentivizes full node operators to use hosted services such as AWS, Azure or GCD, leading to centralization.
Further, slashing that occurs due to a technical failure on chain or exploits requires community intervention to “fix” lost coins. This further centralizes the project.
Economic considerations
Staking dilutes the value of non-staker’s coins disproportionately, because new coins are being created and stakers get more of those new coins than non-stakers. This leads to an incentive to stake more coins which further limits supply and can cause artificial inflation.
By having a hybrid POW/POS algo, and limiting the staking reward to 40%, this impact is mitigated somewhat, however it needs to be taken into consideration in the final economic design.
Procedure
A staker will choose which tranche they want to stake to, for example, 30, 60, 90 or 120 days. In reality this would be block numbers (e.g. stake for 100,000 blocks), however days will be used for illustrative purposes.
The staker then sends their coins to a burn address along with identifying information about their node — probably a hash. This will be implemented as a specific NOP meta opcode.
The burned coins are recorded on chain along with the locking period.
Block mining becomes a two step process. First miners solve the nonce and submit blocks to the chain. Each new block hash generates a list of eligible nodes that can submit tickets to validate the block. A registered node must submit a ticket within some number of blocks (2 or 3?) to claim a portion of the reward for that block. This will be done by a NOP meta opcode and stored on chain.
At then end of the lockup period, the chain will automatically create coinbase transactions with accumulated rewards, proportional to the amount staked and number of tickets submitted, plus the original coins, which will all be sent back to the staker’s wallet.
Node operators may stake additional coins at any time and may stake coins in different tranches from the same node.
Node operators can run a pool by allowing others to stake to their hash and then allocating their proportional staking rewards to the delegated stakers. This allows for pooled staking.
Stakers can withdraw staked coins at any time, however all accumulated tickets will be forfeit.
Conclusion
Using this methodology Dynamo will offer multiple staking options which will increase security and create demand.