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

Voting Requirements for REX #91

Open
DenisCarriere opened this Issue Oct 3, 2018 · 3 comments

Comments

Projects
None yet
4 participants
@DenisCarriere

DenisCarriere commented Oct 3, 2018

Voting Requirements

In order to buy REX an account must set and maintain a voting proxy or approve at least 21 block producers. They may change their votes but not remove them while they hold REX tokens. After an account has sold all REX tokens they may vote for less than 21 producers.

Ref: https://medium.com/@bytemaster/proposal-for-eos-resource-renting-rent-distribution-9afe8fb3883a

I'm assuming this will be enforced in the REX smart contract? Will these asserts be located in eosio.system/src/rex.cpp or another module?

@zorba80

This comment has been minimized.

Show comment
Hide comment
@zorba80

zorba80 Oct 5, 2018

Contributor

The asserts are now in rex.cpp and voting.cpp

Contributor

zorba80 commented Oct 5, 2018

The asserts are now in rex.cpp and voting.cpp

@jjssoftware

This comment has been minimized.

Show comment
Hide comment
@jjssoftware

jjssoftware Oct 7, 2018

Please see my related comment here in the REX pull request that discusses gaming access to REX rewards via personal proxies that have a low BP count:

#94 (comment)

jjssoftware commented Oct 7, 2018

Please see my related comment here in the REX pull request that discusses gaming access to REX rewards via personal proxies that have a low BP count:

#94 (comment)

@gleehokie

This comment has been minimized.

Show comment
Hide comment
@gleehokie

gleehokie Oct 12, 2018

Contributor

@DenisCarriere per @jjssoftware comment, it does look like a user could bypass the asserts in the contract as it is written by using a proxy with less than 21 votes. Even if the proxy is checked at the time of buying REX (loaning) the proxy votes could be reduced later.

One proposal to address this is to require all proxies to have 21+ votes. Current proxies with <21 votes could not be used with accounts that want to buy REX. Changes to proxy votes would require that they conform to the new 21+ rule.

This approach is a bit drastic but it is the only approach I’ve heard so far that enforces the 21+ minimum. I’m eager to here other people’s thoughts on this. Hopefully there are some less drastic approaches!

Contributor

gleehokie commented Oct 12, 2018

@DenisCarriere per @jjssoftware comment, it does look like a user could bypass the asserts in the contract as it is written by using a proxy with less than 21 votes. Even if the proxy is checked at the time of buying REX (loaning) the proxy votes could be reduced later.

One proposal to address this is to require all proxies to have 21+ votes. Current proxies with <21 votes could not be used with accounts that want to buy REX. Changes to proxy votes would require that they conform to the new 21+ rule.

This approach is a bit drastic but it is the only approach I’ve heard so far that enforces the 21+ minimum. I’m eager to here other people’s thoughts on this. Hopefully there are some less drastic approaches!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment