|
|
# Evrynet Staking logic Proposal
|
|
|
|
|
|
|
|
|
**Contents**
|
|
|
|
|
|
- [Design goals](#design-goals)
|
... | ... | @@ -24,8 +25,11 @@ Shareholding encouragement: The more token a user/ validator has in staking, the |
|
|
Stability: The staking mechanism should not result in volatility/ disruption of the chain, i.e, the effect of each change in staking should be reflected only after a certain period, and the chain in most of its time, is expected to behave with a reliable average block time.
|
|
|
|
|
|
## Overview logic
|
|
|
|
|
|
### Summarized
|
|
|
|
|
|
The staking logic is summarized as:
|
|
|
|
|
|
- The system will start with a predefined initialized list of validators, a predefined epochPeriod/ MaxValidatorSize parameters
|
|
|
|
|
|
- Each epoch consists of epochPeriod block. Before the epoch change, the user can send their Evr to stake for a certain validator.
|
... | ... | @@ -44,8 +48,6 @@ The sumaried logic above will be implemented by a smart contract which initiated |
|
|
|
|
|
- Keep track of the staking amount: which addresses staked how much for which addresses?
|
|
|
|
|
|
- Allow some parameters to be changed.
|
|
|
|
|
|
### Node operator flows
|
|
|
|
|
|
A node operator in the Evrynet blockchain:
|
... | ... | @@ -64,11 +66,9 @@ A user in the Evrynet blockchain: |
|
|
|
|
|
### Reward flows
|
|
|
|
|
|
Either:
|
|
|
|
|
|
- The node will automatically distribute the reward after each epoch.
|
|
|
|
|
|
- The user must submit a Tx to staking SC to claim reward
|
|
|
- The user must submit a Tx to staking Smart-contract to claim reward.
|
|
|
|
|
|
## Detailed logic description
|
|
|
|
... | ... | |