-
Notifications
You must be signed in to change notification settings - Fork 2
Added tokenomics DRAFT to discuss #88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: staging
Are you sure you want to change the base?
Conversation
|
@xcthulhu @akorchyn We need to make sure that this document is correct. Maybe also having some values in spreadsheet with constants might also help. Let's use this PR as a place for the discussion. https://docs.google.com/spreadsheets/d/1pddzlDWNVRUTeYzg8e6V-n0ZxCgp2HeIlAVG7oHOm4U/edit?usp=sharing |
|
|
||
| ### Current state | ||
|
|
||
| * Initial total supply is distributed to active nodes for now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to single node wrpapped by multisig
|
|
||
| ## Staking | ||
|
|
||
| Each new validators when enters `PoS` with `200 thousands` staked for `1 year`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1100 GGX
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, bond withdrawal takes a year.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@akorchyn Is 1 year is something we have defined in chainspec?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nope, in runtime
| Staking rewards are distributed each session. | ||
|
|
||
| `Session period = 4 hours` | ||
| `Election period = quarter` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for sydney is 24hours
|
|
||
| ### Slashing | ||
|
|
||
| | Misbehavior | Amount | Parameters | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section wasn't really defined clearly. It just random values as TBD, that never happened.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@akorchyn What we can do with it, any suggestions? Just to remove the section completely or we can somehow defined these values?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Up to you. I guess it's better to define it, but we can ignore this section for now.
Basically, we need to go over substrate docs and check their default values
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
current implementation in code is 16-17% for slashing upon validators for both Brooklyn and Sydney
runtime/Brooklyn/src/pos.rs
runtime/Sydney/src/pos.rs
|
|
||
| | Account | Part | Type | | ||
| | ------- | ---- | ---- | | ||
| | Validator** | 5% | Fixed comission | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not fixed anymore and is defined as the median value from validators' preferences.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any suggestions how better to write it then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can put a *** symbol and put this text below:
Validators have a commission that is substituted from the nominators' reward. The commission is calculated as the median value for validators' preferences.
| ### Current state | ||
|
|
||
| * 1 year withdrawal lock is implemented | ||
| * Session period is 4 hours. Era period is quarter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Era period is a day.
| * Session period is 4 hours. Era period is quarter. | ||
| (configured by EpochDurationInBlocks, SessionsPerEra). | ||
| * Payout at the end of the session. Configured by runtime/mainnet/src/pos/session_payout/mod.rs | ||
| * Median commission to nominators from validator preferences calculated each session. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True.
|
|
||
| * Done | ||
|
|
||
| ## Fees |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fees are also not defined properly. To be honest, somebody needs to benchmark runtime on our preferred node configuration (CPU, RAM, etc)
|
Reviewed both. Added info about each added field to spreadsheet. Also left some comments. @uchu please take a look for |
|
|
||
| `1 Billion GGX` | ||
|
|
||
| `1 GGX ~= 0.05 USD` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably can't ensure this...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets remove it maybe
| * 1 year withdrawal lock is implemented | ||
| * Session period is 4 hours. Era period is quarter. | ||
| (configured by EpochDurationInBlocks, SessionsPerEra). | ||
| * Payout at the end of the session. Configured by runtime/mainnet/src/pos/session_payout/mod.rs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Link to github?
xcthulhu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, mostly nit-picks
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
Co-authored-by: Matthew Doty <matt@w-d.org>
@xcthulhu @akorchyn This is just a draft to discuss and verify if the parameters are still correct.