-
Notifications
You must be signed in to change notification settings - Fork 11
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
TFT based GEP voting with optional stash account #1011
Comments
Are you certain about removing the threshold? |
We already support bonding a stash account, with |
I am a bit confused since by including this token-based voting we give voting power to grid users and remove it from farmers:
|
Btw (a bit off topic but...) I just had a look to implementation of |
Yes, this is a valid point, but can be easily approached by adding a check to verify whether any of the twin and its stash account have already voted. Additionally, we can prevent this within the bond call itself where it makes sense more. |
I believe this is no longer relevant. Farmers now rewarded on tfchain based on utilization (on devnet) and I assume minting will be stopped on stellar as soon as this release reaches main net. |
Yes, aware of the farmer reward even if it will continue representing a small amount compared to already minted amount on stellar. |
Of course, just wanted to leave a trace of this observation in the issue. |
Yes, I forgot to mention this but the GEP introduces a minimum time for votes of 5 days. This feels like sufficient time to ensure multiple people can take a look at it. In the future the tooling surrounding this should also improve, e.g. the app will allow voting and could potentially send a push notification if a new vote is added (push notification is just an idea, not a concrete thing that will happen atm). For reference, the GEP: https://forum.threefold.io/t/tfchain-dao-gep-voting-process-update/4409 |
While supporting more than 1 account is somewhat of a niche case, one thing which should be considered is that in a 1 to 1 mapping, a rogue actor could create new (almost) empty accounts and bind those those to existing twins, thereby preventing those twins from adding their stash account or using their stash account. I'm not opposed to having a 1 to 1 mapping, but then there needs to be more security to ensure the twin actually wants the stash account as no other stash account can be controlled. In that sense, having a 1 to many mapping also would allow for some kind of "delegated" voting where a user can set up an account , add it as stash of another users twin, so he effectively delegates his voting power to said user. |
In a current GEP, we will ask for agreement to move to TFT based voting on future GEP's. Essentially, everyone who has TFT on tfchain will be able to vote, and 1 TFT equals 1 vote. There will no longer be a threshold, and votes are decided based on simple majority.
To protect users funds, we also want to introduce the concept of a "stash" account which is essentially a cold wallet with some funds, and a controller account which will cast a vote, which then uses the combined value of the controller and associated stash when calculating the voting power.
The simplest way to accomplish this would probably be adding an extrinsic where the author of the extrinsic designates an optional controller account. If the value is not set, the controller is removed. If a value is set, the account is added to a mapping
of accounts which maps the controller to a list of stash accounts.
To avoid double voting, the voting power should be resolved when the vote closes.
The text was updated successfully, but these errors were encountered: