Going through eosio.system contract, I've noticed following lines, that limit Block.one EOSIO voting power by time:

void validate_b1_vesting( int64_t stake ) {
  const int64_t base_time = 1527811200; /// 2018-06-01
  const int64_t max_claimable = 100'000'000'0000ll;
  const int64_t claimable = int64_t(max_claimable * double(now()-base_time) / (10*seconds_per_year) );

  eosio_assert( max_claimable - claimable <= stake, "b1 can only claim their tokens over 10 years" );

This is used in system_contract::changebw and makes restriction that B1 can't vote with full stake of 100M tokens right now.

I can't see any code that prohibits B1 from transferring their tokens to someone else, and voting from there. Can they abuse limited voting using eosio.token transfer action?


Michael Yeates answered this question in one of community Telegrams, this is my rephrase:

This validate_b1_vesting check is used in system_contract::changebw() and will cause eosio_assert when B1 tries to undelegate more tokens than available by current point of time. Since they cannot undelegate, they cannot transfer it further. Blockchain is secure.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.