-
Notifications
You must be signed in to change notification settings - Fork 86
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
Proposed details for BSIP-22 specifications (vote decay) #153
Conversation
@grctest The original specification for "Accounts blacklisted from voting (exchanges/services/scam accounts)" was temporarily removed with the idea that it might be better addressed with its own BSIP unless you think that it is critical to include as a part of this BSIP. The original specification also suggests that work proposals are not affected by vote decay at all. Does that match your vision, or do you have something more nuanced in mind? |
I agree with the removal of vote blacklists from the BSIP. Regarding worker proposals, since they have a short fixed duration of payment I don't think they need vote decay. |
} else { | ||
decaying_vote_weight = original_vote_weight - ((original_vote_weight/max_days_decay)*days_since_decay_began) | ||
} | ||
``` | ||
|
||
# Discussion | ||
|
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.
The calculations to be performed will significantly increase the duration of the maintenance interval, and with it replay time. I would like to see some numbers on the effect of the proposed changes assuming they had been activated at the beginning of our history (1. with the assumption that proxies are never updated, and 2. with the assumption that proxies are regularly updated).
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 avoid increasing of maintenance period, it would be better just assume that accounts with the last outgoing transaction(or other initiated by user operation) more than 1 year ago have zero vote power. imho.
If the last account activity was more than 1 year ago (for example), it means that the holder has died, lost his keys or simply doesn't participate in the community now, therefore we can't consider his voting power to be actual.
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 avoid increasing of maintenance period, it would be better just assume that accounts with the last outgoing transaction(or other initiated by user operation) more than 1 year ago have zero vote power. imho.
I think that this suggestion can be an optimization that can avoid some of the arithmetic overhead. The original BSIP did have this optimization.
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 would like to see some numbers on the effect of the proposed changes assuming they had been activated at the beginning of our history (1. with the assumption that proxies are never updated, and 2. with the assumption that proxies are regularly updated).
I will make sure that someone follows up on 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.
To avoid increasing of maintenance period, it would be better just assume that accounts with the last outgoing transaction(or other initiated by user operation) more than 1 year ago have zero vote power.
I think this suggestion side-steps the original intent of this proposal. In my understanding, the idea is that users must actively participate in our governance model, by regularly updating their votes. Activity unrelated to voting should not prevent decay.
bsip-0022.md
Outdated
@@ -87,15 +87,15 @@ A voter changes their vote for witnesses on December 31, 2019 20:00 UTC. This v | |||
|
|||
![Qualitative decay of voting power](bsip-0022/general-vote-decay.png) | |||
|
|||
The voting power of an [account's voting stake](#account-voting-stake) shall be set to full voting power whenever an account's vote is re-cast for _any_ [referendum category](#referendum-categories). The voting power shall remain at 100% for each of the referendum categories for the entire ["full-power period"](#vote-decay-parameters). | |||
The voting power of an [account's voting stake](#account-voting-stake) shall be set to full voting power whenever an account's vote is re-cast for _any_ [referendum category](#referendum-categories) or is re-delegated to a voting proxy. The voting power shall remain at 100% for each of the referendum categories for the entire ["full-power period"](#vote-decay-parameters). _Retracting the delegation from a voting proxy without also casting a vote does not reset the voting power to 100%_. |
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.
Retracting the delegation from a voting proxy without also casting a vote does not reset the voting power
Right now it is technically not possible to change/unset the voting proxy without also specifying a (possibly empty) list of votes. This could change in the future, so maybe leave this in.
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.
Note that with the proposed explicit voting operation, not changing anything does reset the voting power. This is a contradiction.
I mentioned the following in TG the other day:
It could be a different BSIP, but possibly also part of this as part of a general voting "overhaul" hence why I thought I'd mention it. @MichelSantos thoughts? |
The voting stake of the BitShares blockchain was analyzed at the start of every month since November 2015. Voting StakeThis plot shows the voting stake split into two categories. The first category called "Direct" (shown in blue) is the voting stake that is directly voting for any referendum category. The second category called "Delegated" (shown in gold) is the voting stake that is delegated to any proxy. CommentaryThis plot demonstrates an interesting decrease in the delegated voting over most of 2018, and a sharp increase in the delegated voting stake after 2019-03-01. This latter increase is mostly drawn from stake that had not been voting at all.
|
Excellent report, thanks! Some observations:
It follows that vote decay would not have a very large (in the sense of damaging or dangerous) effect on voting, whereas proxy decay would. IMO it would be important to notify users of their vote decay in the UI to mitigate the possible effects. |
Found some issues in the Rationale section of this BSIP that i think can be updated in the context of this pull request: There are 4 items in "Campaigning efforts since the upgrade from BTSX (0.9x) to BTS 2.0 have drastically stagnated. ".
|
@clockworkgr Please see #177 |
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.
IMO (an excerpt of) your excellent report at #153 (comment) should be included in the discussion section.
bsip-0022.md
Outdated
@@ -87,15 +87,15 @@ A voter changes their vote for witnesses on December 31, 2019 20:00 UTC. This v | |||
|
|||
![Qualitative decay of voting power](bsip-0022/general-vote-decay.png) | |||
|
|||
The voting power of an [account's voting stake](#account-voting-stake) shall be set to full voting power whenever an account's vote is re-cast for _any_ [referendum category](#referendum-categories). The voting power shall remain at 100% for each of the referendum categories for the entire ["full-power period"](#vote-decay-parameters). | |||
The voting power of an [account's voting stake](#account-voting-stake) shall be set to full voting power whenever an account's vote is re-cast for _any_ [referendum category](#referendum-categories) or is re-delegated to a voting proxy. The voting power shall remain at 100% for each of the referendum categories for the entire ["full-power period"](#vote-decay-parameters). _Retracting the delegation from a voting proxy without also casting a vote does not reset the voting power to 100%_. |
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.
Note that with the proposed explicit voting operation, not changing anything does reset the voting power. This is a contradiction.
These are proposed details about vote decay
Code specifications can be added if these details are acceptable to @grctest