Voting with EGLs

EGL
12 min readAug 12, 2021

--

TL;DR: On August 13th, EGL holders can go to EGL.vote and vote on their individual desired gas limit. For the first year, those that vote can earn their share of 500M EGL rewards.

Here’s how the EGL vote works:

  • The EGL vote takes place once a week.
  • Voters specify their desired gas limit and select how many weeks this vote is valid for (1–8 weeks).
  • Voters are allowed to update their desired gas limit, using the revote function.
  • At the end of the week a desired gas limit is calculated and set for miners to follow the following week.
  • Voting is PoS-based, i.e., the votes are average-weighted based on the amount of EGLs used for voting, and the duration of their lockup periods.
  • Voters are initially awarded with an EGL voter reward.

The EGL creators have developed a UI for EGL holders to engage with the contract. For those more technically inclined, here is the documentation to engage with the contract directly.

The Weekly Vote

The first vote is to be calculated on Friday Aug. 20th at 4pm EST, one week after the EGL smart contract is launched (on Aug. 13th), and henceforth every week thereafter at 4pm EST. Votes may be cast at any time, up until 4 hours before the weekly tally is scheduled to take place, i.e, up until Friday 12pm EST of each week. Each wallet address can submit one vote each week. After a vote has been locked, the above parameters can be changed using the revote function (described further below).

To vote, EGL holders must specify three parameters:

  1. Desired gas limit: a number that must be 4M +/- the current gas limit*
  2. Amount: the number of EGLs used in the vote
  3. Weeks: votes can be locked for 1–8 weeks (whole weeks only)

*To protect honest users from having their Tx fail since the gas limit is a dynamic number, EGL.vote allows for a delta of 3M gas. However, sophisticated users can bypass this limitation and send votes directly to the contract within 4M of the current gas limit, defined as the gas limit of the block in which the voting transaction was included.

To encourage long-term voting, votes that are locked for longer are weighted heavier in both calculating the new desired gas limit and in their share of the weekly EGL voting rewards (described in detail below).

Specifically, the share size for voterj is calculated as:

Calculating the Votes

Four hours after the vote closes, a new desired gas limit will be calculated. Votes are weighted based on their size (EGL amount) and lockup duration. Specifically, weight = EGL amount * Lockup duration, and the weighted average is calculated as:

Using the same voting example as above, the new desired gas limit would be 11,600,000.

Voting Rewards

To bootstrap early participation and build a long-term user base, EGL holders who lock their EGLs and vote on their desired gas limit are awarded EGLs for using the system as intended. Over the course of the first year, EGLs are distributed weekly to EGL voters, and voters who lock up their EGLs for longer periods of time multiply their share of the reward and the weight of their vote, as discussed above and outlined below.

Once the weekly EGL vote takes place, a predetermined amount of EGLs is distributed among all EGL voters. The amount gradually reduces each week and is based on the following formula:

Thus, the Voter Reward being distributed among all voters after the first vote equals:

As discussed above, the amount a voter receives is related to her share size.

The share size for voter j is calculated as:

while voter j’s EGL reward is calculated:

For example, using the same votes as above, the voter rewards would be as follows:

The EGL smart contract automatically awards the Voter Reward to each voter. The Voter Reward is added to the voter’s balance once the voter either withdraws his EGLs, or resubmits his EGLs with another vote using the revote function.

For example, a voter might lock up 100 EGLs for 6 weeks in order to vote, and have earned 10 EGLs over the 6 weeks. During the lockup period, a voter can “revote” any awarded but not yet unlocked EGLs to increase her vote size. Using the example above, if after 1 week 2 EGLs are awarded, the voter may vote with 102 EGLs, increasing the size of her vote. While there are 5 weeks remaining in the lockup, to keep the 6 week multiplier, the voter would need to increase the vote length for 1 additional week. Thus, there is a tradeoff between revoting with more tokens and the length of the lockup.

Changing One’s Vote

The revote function allows voters to update an existing vote and apply voter rewards to the updated vote. EGLs used in the vote, including the reward EGLs, continue to be locked until the release date.

Specifically, users can change the following parameters:

  1. Desired gas limit: A number that must be 4M +/- the current gas limit.
  2. Amount: Increase the number of EGLs used in the vote. Note, any reward EGLs earned will automatically be applied to the revote.
  3. Weeks: This can be between 1–8 weeks.

For example, let’s say your vote transaction was included in a block on January 1, 2021, with the following details:

  • Amount: 1,000 EGLs
  • Lockup Period: 4 weeks
  • Desired Gas Limit: 10,000,000 gas

A lockup of 4 weeks from Jan. 1, 2021 implies a release date of Jan. 29, 2021. Additionally, your share multiplier would be “4,” meaning your vote would have 4x the weight in calculating the desired gas limit and in your share of the weekly EGL rewards.

Then let’s assume on Jan. 7, 2021, you wanted to change your vote, specifically only the desired gas limit from 10,000,000 gas to 11,000,000 gas. In the prior week (the only week you’ve successfully voted in) you were rewarded 30 EGLs.

Your revote would appear as follows:

  • Desired Gas Limit: 11,000,000 gas
  • Amount: 1,030 EGLs
  • Lockup Period: 3 weeks

Let’s review the fields.

The new amount reflects your current locked vote (1,000 EGLs) plus all the EGLs you’ve been awarded for voting (30 EGLs). You could have voted with more EGLs if you wanted to add to your vote, but no fewer — 1,030 EGLs is your minimum revote amount.

To keep the final release date the same (Jan. 29) you’d need to revote with a 3 week lockup period (Jan. 7 + 3 weeks = Jan. 29). However, please note that your new vote multiplier is 3. Thus, while you’ve increased the total number of EGLs you’re voting with (from 1,000 to 1,030), you’ve decreased your multiplier (from 4 to 3).

Lastly, your vote will now reflect a desired gas limit of 11,000,000 gas for the next 3 weeks.

Lockup period

The vote lockup period starts from the timestamp of when the voting transaction was mined. For example, a voter who votes on Wednesday Jan. 6, 2021 at noon and specifies a lockup period of 2 weeks will only have their EGLs applied to the voting period ending Friday Jan. 8, 2021 and Friday Jan. 15, 2021 but not for Friday Jan 22, 2021 as this is after the two week period ending Wednesday Jan. 19, 2021 at noon.

There may be cases where EGLs may be unlocked for voting but may not be able to be withdrawn. This may be the case for wallets that received Bonus EGLs during the Genesis, EGLs provided to “EGL Signals,” and the Creator’s Fund. The lockup dates for these groups supersede the lockup for voting. Additionally, this lockup period applies to all EGLs within that wallet, even if those EGLs were acquired at a different time or were a result of earning an EGL reward.

For example, let’s say a given wallet was awarded 100,000 Bonus EGLs to be unlocked July 30, 2022. If that wallet purchases an additional 20,000 EGLs from Balancer, now all 120,000 EGLs are locked until July 30, 2022. To avoid this, simply use a separate wallet to purchase additional EGLs.

Ensuring Long-Term Voter Participation

Voting on a public good like the Ethereum Gas Limit is tricky, as it inherently invites free-riders and lacks incentives to continue voting once the gas limit reaches a level that satisfies a given voter. While the Voter Reward incentivizes initial participation, we’ve introduced two mechanisms to encourage long-term voting.

1 — Voter Threshold

For a weekly vote to pass, a minimum number of EGLs must be locked and participating in the vote. This threshold is set for 30% in the first year, and gradually increases to a maximum threshold of 50% in the following years.

2 — Dissatisfying Default Behavior

While the ETH community holds many different perspectives on the optimal gas limit at any given time, most members of the community support either maintaining the current gas limit, or increasing it, while those supporting reducing the current gas limit are in the minority. As such, reducing the gas limit (which would increase the gas bidding competition among transactions) is a dissatisfying outcome for most ETH users and actors.

Leveraging this preference, EGL’s default outcome when failing to reach the voter participation threshold is to reduce the gas limit, not keep it unchanged. Specifically, the default behavior sets the desired EGL amount to 95% of the tally votes gas limit (the gas limit of the block that the successful tally vote was called in). This design choice means that lax actors would likely be dissatisfied with the outcome, and are better off participating, even in the case where the current gas limit is a satisfactory one.

Conclusion

EGL is designed to be used to vote and thus its structure rewards those who continually participate in the process. Voting with more EGLs and for longer durations not only increases one’s influence on the desired gas limit but also her share of the EGL rewards.

FAQs

Find answers to more FAQs here.

1 — If I participated in Genesis, do I have tokens to vote with?

Yes, you will receive a share of 500 million Bonus Voting EGLs once Genesis closes. Bonus EGLs are assigned to your wallet address so you can vote with them but you cannot withdraw them to your wallet until they unlock. Your unlock date could be anywhere between 10–52 weeks depending on when you staked. You can find your unlock date on EGL.vote.

2 — If I participated in Genesis, can I vote with my BPT tokens?

No. BPT tokens represent your share of the ETH-EGL Balancer liquidity pool. You can only vote with EGLs.

3 — If I participated in Genesis do I need to vote?

Yes, you must vote at least once to withdraw your tokens even if they are unlocked.

4 — What will my release date be if my Genesis unlock date is before the unlock date of my vote?

Your unlock date will be the later of the two. For example, if your release date is Aug. 1 but your vote’s unlock date is Aug. 14, then your tokens will unlock on Aug. 14.

5 — What if I don’t know what to vote?

That’s okay. We’ve elevated the voices of experienced core devs to help clue you in to what the optimal desired gas level should be. Our leaderboard also includes investors and dApps. If you’re not sure what to vote, use these experts as a guidepost. Gradually, through research and experience, you’ll come to develop your own insights and in the future you’ll be able to delegate your vote to a trusted source.

6 — Why vote more than 1 million?

Voting more than 1 million above or below the current gas limit allows you to not have to revote each week if your desired gas limit is more than 1M from the current gas.

‌Let’s say you wanted the gas limit to be 19 million and the current gas limit was 15 million. You’d have to go in and vote every week +1 million for at least 4 weeks to get to 19 million (assuming the vote passed at +1M each week). By simply voting 19 million, you save time and gas fees.

7 — Why limit the vote to 4M?

EGL is built to adjust the gas limit gradually. In a perfect world EGL holders would vote each week, the miners would listen, and the next week’s vote would reflect those learnings. In reality, it might take several weeks before the effect of a gas limit change becomes apparent, and some EGL holders may not be watching the network that vigilantly. Having a 4M range to vote balances these two variables.

8 — What is the “revote” function?

Revote can be used in two ways: 1) to change your vote when EGLs are locked and owned by the contract (i.e. not available for withdrawal) and 2) to submit a new vote when EGLs are in the contract but available for withdrawal.

9 — Can I change my vote?

Yes! As mentioned above, you can always revote.

When you revote, any rewarded EGLs will be added to your revote and the amount of weeks you locked up your revote for will become your new multiplier.

10 — Can I revote and lock up my EGLs for fewer weeks than the original vote?

While you can technically revote for fewer weeks and this will become your new multiplier, your EGLs will still be locked for the original lock term because your EGLs are always locked for the longer of two terms.

For example, if you originally voted for 8 weeks, 2 weeks pass and you revote (so 6 weeks are left) and pick 3 weeks, then your new multiplier will be 3 but your EGLs will still be locked for the 6 weeks left on your original vote. Thus, it is suggested that you always revote for at least as long as your EGLs are still locked.

11 — What happens when we’ve hit my desired gas limit? Can I stop voting and sell my EGLs?

No. Optimizing the gas limit to its maximal safe value creates value for the entire ecosystem, but also opens the door for the tragedy of the commons; every actor will ask herself why should it fall upon her to invest capital and effort to hold EGLs and vote. To incentivize continued participation EGL leverages a two-step mechanism:

  1. For a weekly tally to pass, a minimal threshold of EGLs must participate in the vote, and this threshold gradually increases over time.
  2. If the threshold is not met, the desired gas limit does not remain unchanged. Instead, it is set to revert to 95% of the current gas limit. Thus, failure to participate in voting begins to revert the value EGL creates.

The rationale behind this unconventional design choice is that the community benefits greatly from EGL. Therefore they are significantly better off locking some capital in EGL and voting compared to losing the value they capture from EGL.

12 — Can I delegate my vote?

Not at this time, but this functionality could be added in the future should the community want it.

13 — Why would miners listen to EGL voters?

EGL incentivizes miners to listen to voters by rewarding them in EGLs for doing so.

14 — What happens if miners stop listening to EGL?

Miners are only rewarded with EGLs if they follow the vote. Thus, if miners stop listening to EGL and forgo such a reward, this likely signals that the new desired gas limit was at an unsafe level. In such an event, EGL holders ought to vote back towards the last level miners followed. This will allow miners to claim the EGL reward and allow the EGL community to hold the gas limit at such a level (remember, if no vote passes then the system automatically lowers the desired gas limit to 95% of the current gas limit).

15 — What happens if the desired gas limit is an “unsafe” number?

Don’t worry, EGL is built to adjust the gas limit gradually.‌

While you can vote for a gas limit of +/- 4M from the current gas limit, each week the new desired gas limit can move at most +/- 1M from the current gas limit. This gradual change allows the ecosystem to safely discover what the “right” number is.

Additionally, miners can only increase / decrease a block by 0.1% from the prior block, further allowing the ecosystem to discover if the desired gas limit is safe.

--

--

EGL
EGL

Written by EGL

The Ethereum Gas Limit (EGL) project passes control over the gas limit ("blocksize") back to the community.

No responses yet