Voter Rewards & CTC Rewards Proxy Smart Contract

GenerEOS
GenerEOS
Oct 17, 2019 · 7 min read

In the last few months the EOS community had seen big shifts in mentality around voting reward rebates, this topic has been discussed at length in many social forums and it is now coming to light that it might be a necessary evil that can in-fact benefit the community if executed in the correct manner.

We see that there are three different categories of token holders in the EOS community around voter rewards;

1) Token holders that want to maximize profit only looking at APR.

2) Token holders that like passive income but not at the cost of losing reliability and security.

3) Token holders who see that in the long-term their token value is higher if the rewards are reinvested to value-adding BPs.

We feel the majority will reside in category two — Goldilocks theory if you will. We believe this will increase voter participation which in turn will educate token holders and bring them into the EOS governance fold. With this in mind, we have decided to promote and help as much as possible the proxies or BPs that adhere to this philosophy.

Three prominent proxies have emerged in the Western EOS community offering such services — Colin Talks Crypto Rewards Proxy, Voter Value Proxy & EOS Nation Proxy. GenerEOS believes in these proxies’ philosophy and is actively helping where they can.

Colin Talks Crypto Rewards Proxy Backend

To kick things off we are happy to announce that we have developed the smart contract and backend for the Colin Talks Crypto (CTC) Rewards Proxy. Colin released publicly that in addition to his number 1 EOS proxy he would like to create a proxy that offered a service that allowed BPs to send 80% of the BP pay received through the vote increase from the proxy to the voters as rewards.

For example:

GenerEOS has 48,976,667 EOS votes which yields 101.5 EOS daily in vote pay. Let’s assume CTC Rewards Proxy have 12,000,000 EOS assigned to the proxy(same number as Colins original proxy). If CTC Rewards proxy voted for GenerEOS then it would increase its vote weight to 60,976,667 EOS, which would yield around 124.3 EOS daily.

From this, CTC Rewards Proxy vote increased GenerEOS daily yield by 22.8 EOS. Therefore, 80% of this added yield will be returned to voters as a reward — 18.24 EOS. If 30 BPs are registered then 18.24*30 = 547.2 EOS, this would then equate to an APR of 1.66%.

If we assume BPs will donate on top of this, let’s say an additional 10% — 2.28 EOS each daily, then — 547.2 + (2.28*30) = 615.6 EOS this would then equate to an APR of 1.87%. Both of these figures would leave a BP in a positive ROI position from the proxy.

Note: these are arbitrary figures that are used for example purposes only. This is not “expected” returns or investment advice.

Colin does not want to middle-man funds directly through his proxy and rather delegated that task to BPs to develop their own method. We took this on-board and went out to develop a solution for not only us but for other BPs to leverage.

Introducing the CTC rewards smart-contract and backend

We have developed a smart-contract service with integrated backend to pull data from the list of voters from a certain proxy (in this case CTC Rewards) and send calculated rewards based on the above.

Contract features:

  1. Automatically calculates the vote weight of the proxy and the increased daily EOS yield to the BP.
  2. Sends 80% of the increase in EOS yield to the voters who proxied their EOS to the CTC Rewards Proxy. Sent daily with randomized timing to stop “reward gaming”
  3. Allow BPs to make additional donations if desired to increase APR for voters
  4. Zero control over proxy voting or is tied to the proxy account in any way. Control is still completely with the proxy i.e. Colin.
  5. The contract will send a notification on-chain that will inform the proxy of which BPs sent funds and the total daily amount. This will keep the proxy owner up to speed so they can remove BPs not sending funds.

To run this contract, it requires RAM resources, technical knowledge and backend infrastructure. We recently had discussions with several BPs that suggested that we use our contract to host their contributions. With this being the case, we designed it so that BPs can register with us and leverage our contract and backend so they don’t need to deploy their own. For this service we will take a 2% fee from BPs to cover development and infrastructure costs. We intend to lower this fee when our initial development costs have been recovered.

BP Registration for CTC Rewards Proxy:

  1. - Fund Account
  1. Head to bloks.io/genereospool — find tables and click BPs
  2. Send funds from any account to genereospool, the memo must be the 12 character BP account name for example aus1genereos. These funds will need to be monitored and topped up. If funds run out, the proxy will be notified and you will get unvoted. Note, the BP must be voted for by colinrewards to be able to send rewards to voters.
  3. Check the table to ensure that your funds are attached to your BP account(see image above)

2. — Set Donation

  1. Head to bloks.io/genereospool — find actions and click setdonate
  2. Enter in your producer name and make sure the producer account is attached with Scatter or your wallet of choice.
  3. Set the amount you are willing to send as an additional donation each day and submit transaction

3. — Claim Fund (to leave proxy)

  1. Head to bloks.io/genereospool — find actions and click claimfund
  2. Enter in your producer name and make sure the producer account is attached with Scatter or your wallet of choice
  3. Enter amount you wish to claim back and submit transaction

Note: If your BP is unvoted the contract will automatically stop funds being distributed so you will need to go and claim your funds back.

Shout out to EOS Dublin!

Big thanks to Sharif Bouktila for arranging and Sam Noble for auditing the smart-contract code. These guys are sharper than a razor and worth their weight in gold in the EOS community.

FAQ’s

When will the first rewards be sent?

First rewards will be issued on 18th of October 2019 UTC— Time is not specified.

How are rewards calculated?

We use the same formula that eosio uses to pay producers for vpay but add in the 80% parameter. This does not take into consideration bpay. See worked example above.

On top of this figure will be the daily donation amount that a BP can opt to send.

How often are rewards sent?

Rewards are sent daily. Snapshots will be taken at randomized times to stop gaming of the system.

How do BP donations work?

The BP donation amount is sent daily. You can check this amount by going to: https://bloks.io/account/genereospool find the contract table and click BPs then find donate_per_day in the BP table for each BP.

The donation amount gets added to the same pool as voter rewards and is sent out at the same time.

How will I know the APR%?

Each day a notification will be sent to the CTC rewards proxy account. This will state the BPs that sent funds and the amount that was sent. You can then look at how much was sent and how many votes are staked to the proxy. The formula would be:

((funds_sent* 365) / total_proxy_vote_weight )*100 = APR %

These numbers will be dynamic based on donations made by BPs and the vote weight of the proxy.

Do I need to register to receive rewards?

No. All you need to do is assign proxy to colinrewards — the smart contract will automatically find you as a user and send you funds.

V2 Updates?

Added features in V2 will be:

  • Including bpay in rewards payout calculations
  • Tracking time assigned to proxy and paying out time based to increase security around reward payouts
  • APR tracker and front-end
  • Staked rewards transfers

About Us

GenerEOS is a social enterprise Stand-by EOS Block Producer with a mission of promoting and supporting scalable and highly reliable block production whilst giving back block rewards to Social Causes.

Based out of Sydney, Australia, GenerEOS is founded by a team of like-minded blockchain enthusiasts with diverse backgrounds and a passion to make a difference in the world and fostering the spirit of generosity by giving back.

Please remember to vote for ‘aus1genereos’ so we can keep working hard to add value to the EOS community.

GenerEOS: The Future of Giving!

Website

Twitter

Steem

Telegram

Reddit

Github

GenerEOS

Written by

GenerEOS

Australian Block Producer Candidates

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade