4

From eosio GitHub: /** * Every time a vote is cast we must first "undo" the last vote weight, before casting the * new vote weight. Vote weight is calculated as: * * stated.amount * 2 ^ ( weeks_since_launch/weeks_per_year) */ https://github.com/EOSIO/eos/blob/master/contracts/eosio.system/eosio.system.hpp#L90 Maybe that helped. Cypherglass ...


3

I think that like in Steem, voters may change their BP votes as often as they wish (subject to bandwidth limits). Perhaps the vote decay operation runs once a week though, so to ensure your vote is never in a decayed state, you would need to reassert it that frequently. I haven't checked the code to confirm this though.


2

My understanding is that vote power is simply restored by refreshing your vote, if you feel voting each week is too much administrative overhead you should be able to delegate your voting power to someone else, a bit like a politician. Proxy your vote to someone you trust and they vote on your behalf, should you not like a vote they did you can take your ...


2

Votes are examined every "round" (every 2 minutes and 6 seconds, i.e. after each of the 21 active producers has had their turn to make their 12 blocks in their assigned 6-second window) to see who should be making blocks next round. So the lineup can change at that frequency. As a voter you can call the voteproducer command as often as you like, within ...


2

Vote decay is not intended to prevent the use of bots. The purpose of vote decay is to stop a block producer from becoming 'lazy', in the situation where they get lots of votes from people who then stop using EOS. Imagine if someone with a large amount of tokens voted for a block producer, effectively guaranteeing that the block producer is in the top 21. ...


2

Vote Decay doesn't prevent the use of bots. However, the guiding principals of the EOS blockchain state that users should not use bots. It is, perhaps, possible that automatic voting could be detected, but what would be done in those situations is still unknown.


1

To add to the other replies, see the stake2vote() function in voting.cpp, which converts an EOS stake into a vote weight: double stake2vote( int64_t staked ) { /// TODO subtract 2080 brings the large numbers closer to this decade double weight = int64_t( (now() - (block_timestamp::block_timestamp_epoch / 1000)) / (seconds_per_day * 7) ) / ...


Only top voted, non community-wiki answers of a minimum length are eligible