bitshares / bsips

BitShares Improvement Proposals and Protocols. These technical documents describe the process of updating and improving the BitShares blockchain and technical ecosystem.
https://bitshares.github.io
63 stars 86 forks source link

Proposed details for BSIP-22 specifications (vote decay) #153

Closed MichelSantos closed 5 years ago

MichelSantos commented 5 years ago

These are proposed details about vote decay

Code specifications can be added if these details are acceptable to @grctest

MichelSantos commented 5 years ago

@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?

grctest commented 5 years ago

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.

clockworkgr commented 5 years ago

I mentioned the following in TG the other day:

Alex M - clockwork, [03.04.19 13:08] wouldn't per votable object proxying make more sense? If I want to proxy my voting stake to someone it kinda makes sense that some proxies will be more appropriate than others e.g. I'd probably trust Abit to pick witnesses but Bitcrab for governance and someone else for Budgeting (workers)

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?

MichelSantos commented 5 years ago

The voting stake of the BitShares blockchain was analyzed at the start of every month since November 2015.

Voting Stake

Historical BTS Voting Stake

This 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.

Commentary

This 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.

Voting Participation Rate

Historical Participation Rate

This plot visualizes how much of the voting stake is participating in governance of the blockchain. The voting stake is expressed relative to the circulating supply at the start of every month. The "Direct" line (shown in blue) is the voting stake that is directly voting for any referendum category. The "Delegated" line (shown in gold) is the voting stake that is delegated to any proxy. The "Total" line (shown in black) is the summation of the direct and delegated voting stakes.

Commentary

This 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. The 2019-06-01 participation rate of 46% is the highest rate in the history of the blockchain.

Relative Weight of Direct versus Delegated

Historical BTS Voting Stake Distribution

This plot visualizes the direct and delegated voting stakes relative to each other. The "Direct" fraction (shown in blue) is the voting stake that is directly voting for any referendum category. The "Delegated" fraction (shown in gold) is the voting stake that is delegated to any proxy.

Commentary

This plot demonstrates the predominant tendency of approximately 80% of voting account holders to delegate their voting stake to another account.

Decayed Voting Stake

Historical BTS Voting Stake with Post-hoc Decay

This plot visualizes the same voting stakes decayed by different durations and conditions. The "Direct" line (shown in solid blue) is the voting stake that is directly voting for any referendum category. The "Direct 90" line (shown in dotted blue) is the voting stake that is directly voting for any referendum category within the prior 90 days. The "Direct 360" line (shown in dash-dot blue) is the voting stake that is directly voting for any referendum category within the prior 360 days. The "Delegated" line (shown in solid gold) is the voting stake that is delegated to any proxy. The "Delegated 90" line (shown in dotted gold) is the voting stake that is delegated to any proxy and where the proxy has voted within the prior 90 days. The "Delegated 90 by Active Delegation" line (shown in solid green) is the voting stake that is "actively" delegated to any proxy and where the proxy has voted within the prior 90 days. ("Active" delegation is a delegation by an account after account creation.) The "Delegated 90 by Active Delegation 360" line (shown in solid green) is the voting stake that is "actively" delegated to any proxy within the prior 360 days and where the proxy has voted within the prior 90 days.

Commentary

This plot demonstrates how decaying votes reduces the amount of voting stake over time.

The Direct 90 and Directo 360 voting stakes are less than the full-power direct but they do not exhibit any major or sustained changes with the possible exception around 2019-09 when Direct 360 suddenly approaches the Direct voting stake.

The Delegated 90 voting stake is mostly identical to the Delegated voting stake until 2018 when it begins to slightly diminish.

The Delegated 90 by Active Delegation 360 voting stake exhibits the most dramatic changes in voting stake. One year after the start of the blockchain, this voting stake begins to deviate significantly from Delegated 90. It exhibits a significant decrease after 2018-02-01 and then a sharp increase after 2019-04-01.

Relative Weight of Decayed Direct versus Decayed Delegated

Historical BTS Voting Stake Distribution with Post-hoc Decay

This plot visualizes an arbitrary selection of decayed voting stakes relative to each other. The "Direct 360" fraction (shown in blue) is the voting stake that is directly voting for any referendum category within the prior 360 days. The "Delegated 90 by Active Delegation 360" fraction (shown in gold) is the voting stake that is "actively" delegated to any proxy within the prior 360 days and where the proxy has voted within the prior 90 days.

Commentary

This comparison of an arbitrarily decayed direct and delegated stake is intended to be compared against the un-decayed relative weight to give some idea about how decaying voting stake can give certain stake more or less voting weight relative to the other. This comparison is for voting data in BitShares where there is no vote decay and it might not reflect how account holders will behave under a regime of vote decay. But it does demonstrate the potential effects of activating vote decay in BitShares.

pmconrad commented 5 years ago

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.

oxarbitrage commented 5 years ago

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. ".

MichelSantos commented 5 years ago

I mentioned the following in TG the other day:

Alex M - clockwork, [03.04.19 13:08] wouldn't per votable object proxying make more sense? If I want to proxy my voting stake to someone it kinda makes sense that some proxies will be more appropriate than others e.g. I'd probably trust Abit to pick witnesses but Bitcrab for governance and someone else for Budgeting (workers)

@clockworkgr Please see #177