-
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
BSIP47 - Vote Proxies for Different Referendum Categories and explicit voting operation #114
Conversation
Questions:
|
I think this should better be implemented as extensions on the existing account_update_operation. Adding a new operation type for functionality that already exists in some other form only leads to confusion and clutters up the operation namespace. |
Btw, to my knowledge number 47 (and possibly more) has already been assigned to the proposed STEALTH BSIPs. Please coordinate with core team. @ryanRfox ? |
Absolutely agree with Peter. IMHO extension makes more sense here for additional feature. |
I will
The point here is that this operation separates operational permissions (voting) from administrative permissions (changing keys). |
The distinction sounds artificial to me. I don't see why that would be an advantage. BSIP-40 states that active authorities can not only be defined for specific operations, but also that the operation parameters can be restricted. If this is implemented properly, it will be possible to create a "voting key" using |
It is certainly a facilitation for the user since it allows delta voting (easier to check). Advantage compared to I understand the argument to avoid duplication, but then I'd rather cut the voting out of Is the account update options an optional field? |
Of course. My point is, the same can be achieved using extensions, without introducing a new operation.
Yes. |
I agree with Peter, we should migrate the code over to an extension field of paging @Dimfred |
@Dimfred @xeroc @sschiessl-bcp are you still working on this? |
Yes we were. We haven't reviewed it internally yet. I first would have to check the code again and talk to @xeroc and @sschiessl-bcp. But generelly yes. |
I'm only talking about this BSIP here, not about the implementation. If you update the PR please remove the change on README.md to avoid the conflict. |
Ah okay I see. Thought the BSIP is allready out there. Yes Sure we will. |
Related/possibly redundant with #159, which includes these changes, but proposes them as an extension to |
@xeroc @Dimfred I merged the two proposals in such a way that the motivation comes from the multiple proxy proposal (#177), and the technical specifications largely come from the explicit voting proposal. This is one of many possible mergers so please feel free to reject or revise as necessary.
AbstractVoting power by core token holders may be assigned to different proxies in each of the BitShares referendum categories: witnesses, committee members, and worker proposals. MotivationSome proxies can be more or less knowledgeable, wise, and trusted by token holders to vote on certain referendum categories than others. It is therefore desirable to empower token holders to select different proxies for each of the referendum categories. If the ability to select multiple proxies or to directly vote through a single new operation were made possible, this new operation be used in conjunction with BSIP40 which will allow an account holder to assign a specific key for voting. This combination could simplify voting for many account holders. RationaleHolders of the core token of BitShares (BTS) have always had the ability to directly vote on three referendum categories: witnesses, committee members, and worker proposals. They have also had the option of delegating their voting power to another account (a "proxy") to vote on any of these referendum categories. Rather than delegating voting power to a single proxy for each of three referendum, a core token holder might prefer to select different proxies for each of the referendum categories. This more granular approach empowers core token holders with more options. A BTS token holder may choose to directly vote on any referendum category including the option to abstain. A BTS token holder may choose to select proxies for each of the referendum categories. Each of the referendum categories may have distinct proxies or may have common proxies. Some referendum categories may have assigned proxies while others may be unassigned. Any referendum category that does not have an assigned proxy permits the voter to vote directly on any referendum in that category. But if a confused core token holder votes for a referendum in a category while also delegating that category to a proxy, the token holder's direct vote shall be ignored. The introduction of a new operation ( The new operation only needs to include
SpecificationsWhenever a proxy for a category is assigned, any direct votes by a core token holder within that category shall be ignored. Whenever a proxy for a category is unassigned, any direct votes by a core token holder for that category shall be counted during the vote tallying process of the blockchain. This shall require an upgrade to the protocol.
|
@xeroc @Dimfred Some of the merger merits your review.
This could maybe be relaxed or changed depending on your intended usage |
@pmconrad Regarding
If this is a concern for the
to be
This will address the performance issue but will add a small amount of complexity to client implementations. |
Another question is how should the renewal of a voting slate or the renewal of a proxy be handled? This question is relevant to the vote decay proposal where the latest vote time must be updated. The current logic only updates the time if the voting slate or the proxy changes. I think that the best two options are:
I chose the latter option by adding a field called |
It is not, because the operation is rare.
The proposed "renew" field is redundant - |
I understand now. The new evaluator for the The proposed text now reflects the removal of this field. |
I updated the pull request/commit to use @MichelSantos 's text. I like it! |
d716db1
to
b459785
Compare
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.
@xeroc please remove the README from the file list. I will update that file in a separate PR. Thanks
@xeroc please double-check. I can't see your update to the proposal text. |
6756848
to
480bc96
Compare
cleaned up. sorry for the delay |
…existing voting choices
It feels like this is very close to "done". @pmconrad are you awaiting anything further from @MichelSantos prior to completing your review? @xeroc are you agreeing with the modifications made thus far? |
Adjusted the Readme, and added the explicit voting operation in title. Please re-approve. |
This BSIP comes together with a pull request for a proposed implementation.
It is sponsored by Blockchain Projects BV