-
Notifications
You must be signed in to change notification settings - Fork 795
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
Feature Request: Expiring witness votes #953
Comments
The intent behind this makes sense. The 'major version' logic would need to handle HFs though. Witnesses should be able to vote 'no' by not upgrading, and then switch to the new version if it ends up getting enough votes to pass, without worrying about losing all their votes the moment the HF takes place. I disagree on the 'minor version' part. A lot of times the minor version updates do not affect the witness logic, so it may not be necessary for witnesses to pick them up. Witnesses should be able to use their own judgement as to whether or not they want to pick up a minor version. Users are free to remove their votes for this reason if they feel it is important, but I don't think having it forced by the blockchain is a good idea. |
also, it should be noted that if a witness is not on the current version - every block they get assigned will be a missed block. After a certain number of missed blocks, they are no longer assigned new blocks. So from a network perspective, this is not a huge deal. I agree having them show up in the steemd top 100 list is still not good though. Also, if they are in the top 50 - it prevents other witnesses from showing up on the steemit.com witnesses page. |
It is a way how it is being displayed. Not a big deal. Effectively those witnesses are disabled so not taking a part in runner-up witness scheduling, not affecting network reliability, etc. TL;DR: already works as expected (automatically shutting down non-consensus witness nodes) |
steemitblog posted on steemit about "Proposed changes to steemit's economy" several months ago which included the following:
Have expiring witness votes been implemented? A grim reality is that users eventually die, if their votes don't eventually expire they'll be permanent. |
It was not implemented and we do not have any immediate plans to add this, but it is certainly not off the table. Thank you for your input. |
Semi-relevant (Bitshares, not steem) document on this topic that I wrote up today: https://github.com/grctest/bsips/blob/master/bsip-0022.md |
The implementation of an API to deal with notifications about this would also be nice.... If I am blogging I would love to know if someone's witness I voted in, is about to expire. And if so, I can quickly re-evaluate his/hers current situation and decide on my vote. |
I believe in light of there being so many inactive and new witnesses, this needs to be revisited and considered much more as a means to help keep people engaged on the platform. I feel those without any true interest - regardless of vests currently held - should carry no weight in voting for people that are taking an active part in the progress of the blockchain and its children. I feel a 60 day decaying vote would be more than sufficient and would even agree with a 90 day proposal. This would encompass 4 things:
-Witty |
That's not an arcade game, stakeholders don't want to babysit their investment, that's why they are delegating their votes to witnesses and are hoping for stability. |
I see three different problems potentially trying to be solved here:
Regarding (3) and the decay of votes - I am of the view that we should not be trying to force stakeholders to vote a certain way. Requiring them to update their votes every 60-90 (or however many) days is doing just that. As @Gandalf-the-Grey said, it also introduces a security risk. Another case (probably not common, but also not impossible) is the idea that some large stakeholders may want to put their SP in cold storage and not allow any change of witness votes without taking them out of CS. This would put a new burden on those types of users. I am open to alternative suggestions for solving (1) and (2) provided they do not compromise the security of the network. Just throwing two proposals out there: |
90 days was just a suggestion and it got your attention, just as attention should be paid to this.
Anyone that hasn't paid attention within a whole year, I wouldn't consider that an 'active' investment. They can still retain their stake and collect their just desserts, but if they have no desire to check in and see how their witnesses or stake is even doing, tells me they aren't interested in the progress of the blockchain. Every investment I have, I look at at least every six months and make adjustments if necessary. Even a financial advisor you hire is going to typically do it once a month. The fact that cryptocurrency is as volatile as any stock exchange (and much less widely known) would suggest mere ignorance by an investor to 'set it and forget it'. People don't just 'accidentally' put their money into a cryptocurrency. I have some 5 year and even a few longer term investments. None of which involve a blockchain (currently). Stability is great, I agree entirely. But I also feel the people guiding this platform and its descendants, should be the ones that are actually here. |
This is an issue that the greater community is asking to be addressed no matter how one looks at it. In short, its about purging dead witnesses and dead accounts. My input in short:
Some issues:
|
I'm for vote decay if we have a mechanism in place that calculates total SP involvement in Witness voting. Right now we're at about 70% participation based on the reports I've been doing (if you exclude Steemit, inc controlled stake) but if we were to fall to something lower (maybe 50% or less?) then I could see it becoming a problem. As it is, I think vote decay make sense and rewards witnesses who are adding value right now. EOS has taken this approach (even more extreme with vote decay happening regularly), and I think we can watch that closely to see how it works for them. If it doesn't introduce a systemic risk, I think we should do it. All witnesses should be incentivized to regularly add value. |
Now that progress has been made on the witness page itself, the welcome page (thanks @gryter ) and Steemit Inc has been working to solve sign-up and bandwidth issues, can we circle back to this? Virtually every witness I've talked to is in favor of a decaying vote and agree on a year (365 days) life span which was also brought up at a recent witness discussion on the Ramble a few days ago. The issues that need to be addressed are proxied votes/voters, how to implement the start date of a vote, and what consists of interest/engagement on the chain. The first, proxies. I personally think not a whole lot needs to change there, except if a person does choose to elect a voting party, they are still subject to their votes decaying and proxied weight being removed due to inactivity. 2nd, date of decay. I think the 365 days should start counting from their last vote across the platform going back 6 months. If no activity has been initiated, then their counter should start. If they havent cast a vote or proxied themselves, so begins their countdown. Every time an account changes a vote, their counter is reset. Perhaps a 180 day reminder for proxies to see if they still wish to retain their delegated witness voting power? 3rd. What consists of activity. There are three primary types of people here as stated before. Investors, devs and content creators. I feel the same rules should apply to everyone as it is decentralized. Just because a person has more SP doesnt mean different rules should apply to them. That being said, again, 365 days across the board for activity on the chain for their vote(s) to remain. Activity defined as a post, comment, transaction, vote or 'chain work'. I hope that makes sense. |
FYI. I coded a system that shows what vote decay would result in if no votes were renewed (which they would be in real life) |
Except (as I already mentioned on steem chat) not. Different rules would cause different behavior. |
Have you seen this?
https://steemd.com/witnesses
We have top 100 witnesses including @dantheman running on outdated versions, and some witnesses who aren't even functional and yet are still in the top 50.
This is only because a witness vote, once cast is forever.
I propose that any witness vote for a witness which does not support at least the current major version by consensus, be automatically cancelled. This will remove any incentive for running non-consensus nodes and allow easier upgrades in the future as people who have set a vote and forgotten about it, no longer have an adverse impact on the future direction of steem.
Furthermore I propose that all votes for witnesses that are more than 2 minor versions lower than the current release major.minor and votes for all witnesses on witnesses with misses greater than 100 are automatically cancelled as well.
Being a witness is a privilege not a right and each witness while free to vote their conscience by not always upgrading to the latest and greatest right away, should eventually get with the program or stop witnessing.
The text was updated successfully, but these errors were encountered: