Changing vote weight shouldn't create two transactions
Hello,
Currently (If you hold more than 500 SP) if you change your mind and change the vote weight
on a already voted post, steemit interface creates two transactions.
- Reset vote to zero
- Set another weight
However, this is also possible with just one transaction. That extra transaction to set it zero is not necessarily needed.
This change will help to keep the steem network optimized and stable.
Current Flow
- Vote on a post with %100 weight.
- Decided to change it with %50.
- Steem interface want a reset first. (%0 weight)
- Than re-vote again with %50.
This flow creates 2 transactions.
My suggestions to reduce the network usage
Do not reset the vote immediately.
Suggested flow:
- Vote on a post with %100 weight.
- Decided to change it with %50.
- Clicked the vote button and vote with the slider as %50.
This flow creates 1 transaction.
Does it worth it?
Premature optimization is the root of all evil -- DonaldKnuth
Even though, this looks like an edge case, I parsed last 1000 blocks with the zero weighted vote transactions and here is the result.
Between blocks 18216100 and 18217100, there was 78 zero-weighted vote operations broadcasted. And this is just for 50 minutes of data. If you calculate from the genesis block and consider the future operations, optimization here looks like a good thing for reducing unnecessary operations.

Code snippet I used to track zero-weighted votes.
Steem's chain data is huge for obvious reasons. I actually don't know what will happen when the traditional hard disks will not be enough to store the data in one physical place. We might need partial nodes, sharding solutions in the future.
However, before that, we should optimize the network as soon as we can.
Posted on Utopian.io - Rewarding Open Source Contributors

Congratulations! This post has been randomly Resteemed! To join the ResteemSupport network and be entered into the lottery please upvote this post and see the following rules.
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Thanks.
Hey @emrebeyler I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
2 years old !BEER
_