Reduce Express Ticket Allocation

Basics:

The express queue schema, which was formulated 1.5 years ago does not appear to be an appropriate incentivization given current rETH demand. Essentially, while every NO can get enough express tickets to migrate >100% of their ETH through express tickets, there is likely only going to be enough demand for <10% of ETH migrated. Thus the number of express tickets should be reduced.

History:

Summary

This is as best as I can remember, since the discussion was about 2 years ago. But the intent of the express ticket/queue was twofold:

  1. Protection of NO interests: The flow of Saturn is such that anyone who is validating minipools at launch will need about 1 week (on average, depends on sweep timing) plus exit queue time before they can transition their nETH to megapools. That means every current NO is a large structural disadvantage compared to any new NO and would be stuck behind the queue of all the non-RPL bonded megapools. That length of queue could be extra days unstake or could be in a forever queue if rETH demand does not ever increase 250%. So rather than intended to give a “benefit” to NOs, the queue is intended to neutralize the structure disadvantage of being a loyal NO. This is partly based on the experiences during Atlas where current NOs had a disadvantage of ~3 days to bond reduce compared to folks making minipools from scratch, resulting in sometimes weeks of addition time in the queue.

  2. Protection of rETH interests: Given that the optimal route for NO is to exit just before Saturn 1, this would greatly increase the amount of inefficient staked ETH waiting in the exit queue or in an overfull deposit pool for weeks/months before saturn launch. More importantly, because minipools need to be exited to to form megapools, there would be extremely low interest in NOs spinning up more minipools in the months leading up to Saturn given substantial (30%) RPL exposure risks, gas costs, and the intrinsic disadvantage of being a NO as opposed to having unstaked ETH. All told, this complete halt of nETH staking would drastically reduce rETH APR going into an event where we need substantially more rETH demand.

  3. Protection of decentralized governance: This is a bit more in the weeds, but NOs are likely to migrate over most/all of their stake at one time; some will migrate immediately, some will migrate late; some will never migrate; this is the pattern we saw in LEB8 bond reduction, i think it will hold true for further bond reduction. If there exists a forever queue at some point, the RPL which remains staked in minipools/queued validators will not be generating voter_share and will lose the current inflationary rewards- thus having no benefit over unstaked RPL but obviously worse liquidity; this bottleneck is likely to significantly decrease the breadth of NOs who are participating in governance as those NOs divest themselves of “staked” but inefficient RPL. The queue was intended to ensure that folks could migrate over enough ETH to megapools to make their RPL efficient and remain in governance.

  4. Prioritizing new NOs: The idea of allowing a provision of 2 express tickets for each megapool was partially intended as a countermeasure for the benefits that whales would receive in saturn upgrades- namely greater capital efficiency due to to a bond curve in Saturn2 and the greater gas savings; it also was intended to encourage new NOs including those with <8ETH who were unable to form minipools prior to Saturn, and prevent the feeling of treating current NOs/RPL holders as an higher class of stakeholders.

At the time, it was discussed that sybil nodes could be a problem; however, it was suspected that given the large amount of latent demand (in the hundreds of thousands of ETH), it was unlikely that a handful of bad actors would both take the capital efficiency/gas efficiency losses and provide the ETH capital needed to really form a effective vector. Unfortunately, with a far less rETH supply expected, even a very small number of sybils with relatively modest ETH holdings would be able to monopolize a great deal of the early staking on megapools.

Intervening events:

Summary
  1. saturn 0: This completely changes the risk/benefit of minipools going into the Saturn upgrade; as RPL is no longer needed, the primary barrier to NOs spinning up new minipools going into Saturn has been removed. As a result, we are not NO limited in a real way.

  2. low gas costs: the penalty to spin up minipools is far more quickly reimbursed with staking income, by a factor of 10-50x, reducing the breakeven window for spinning up minipools.

  3. rETH demand: Many of the decisions going into Saturn had to guess at what demand would be in two years while we were not rETH constrained. The painful lesson from Saturn 0 was that there was a lot less latent rETH demand than even the more bearish estimates accounted for. To allow complete migration/use of express tickets of all current NOs under the current rules, we will need close to a 250% INCREASE in rETH; it seems like it is more likely that that number will be much closer to 0% increase in rETH immediately after Saturn 1 release.

  4. Loss of RPL/ETH ratio: When tokenomics were released, the 75th percentile of nodes staked RPL staked amount was ±40%; that means to get most RPL migrated over effectively, you’d need ± 25% of nETH migrated (90th percentile ~60% of nETH migrated). now that 75th percentile is like 10%, so to get most RPL effectively staked for saturn you’d need 1/4 as much, or about 7% migrated (90th percentile ~10% of nETH migrated).

Conclusions:

  1. The headwinds for NOs supply have been largely mitigated by Saturn 0, so this inducement is no longer necessary to prevent damages to rETH APR.

  2. Although enough tickets exist to migrate all nETH, based on a relatively stable rETH supply with current settings, if every NO attempted to migrate there would only be room for about 25% through the express queue; the remainder would be in queue. As it is unlikely that the NOs from 200,000 ETH would be willing to sit in a potential forever queue while losing the benefit of their existing minipools; so in reality we may be looking at 5-10% migration.

  3. As noted above, NOs are most likely to migrate their whole stake or nothing; thus a relatively small cohort of NOs would benefit from Saturn (ie, ~5-10% of NOs- specifically those with scripts/bots/additional funds saved who have found ways to get an advantage), rather than a relatively small amount (5-10%) of each NO’s stake. This advantage is amplified because by preventing other NOs from staking more ETH in megapools, NOs amplify their own share of voter_share rewards.

  4. There is a significant and relatively inexpensive sybil vector to use the guaranteed 2 provisions currently enshrined.

Recommendations:

  1. Reduce express_queue_tickets_base_provision from 2 to 0.

  2. Reduce express tickets provided from (bonded ETH in legacy minipools)/4 to (bonded ETH in legacy minipools)/16 , rounding up (maybe something like (IF legacy ETH = 0, 0, else (LegacyETH/16.00001)+1). This should be enough to migrate >25% of nETH, which should be plenty to allow essentially all RPL stake to be effective for voter_share

  3. If it appears this estimate is underpowered and there is sufficient rETH demand, AND the NO_share/voter_share incentives aren’t enough to draw NOs into the regular queue, then consideration of additional ticket allocations could happen for Saturn 2.

This is a bit rougher draft than my normal, given the time constraints, and I will likely edit (leaving the edit trail) for any corrections/improvements.

3 Likes
  • We should NOT CHANGE the express ticket allocation as currently written
  • We should REDUCE the express ticket allocation about as recommended
  • This idea would benefit from further refinement, I have left my advice below
0 voters

I mostly agree with what you wrote out. I think there are 3 things that could be tweaked:
1. express_queue_tickets_base_provision
2. number of express tickets issued per bonded ETH
3. express_queue_rate

Express_queue_tickets_base_provision
I agree with the recommendation to reduce the base provision of tickets to 0 in Saturn 1. The main incentive to prevent against Sybil is bond curves (higher rewards for more validators on the same megapool), but for that to work you have to assume there is enough rETH demand for most node operators to have several 1.5 ETH bonded validators (matching with 30.5 pETH per validator). If we instead don’t have enough rETH demand the decision could become: “no access to any pETH” (due to an extremely long standard queue), vs “access to pETH via express queue, by Sybil attacking with several megapools and using base provision tickets” and people may choose the latter. I think base provision tickets could still be issued at a later date (could be at Saturn2 or some other time).

To illustrate the effects of the other two variables I think it’s helpful to look at the extremes:

From a high level:

  1. Less express queue tickets issued: reduces how much express queue ticket holders can flood each other out

  2. Increased express queue rate: reduces how much existing folks (ticket holders) could get flooded out by new folks (non ticket holders)

Number of express tickets issued per bonded ETH

If we had (at one extreme) 1 ticket per existing NO:

  • Every existing NO would be able to easily create one megapool, and then the standard queue would just work like it does today
  • I think even this extreme would be a better result than only having a standard queue

If we had (at the other extreme) unlimited tickets for every NO:

  • The express queue would be useless, since people will just enter whichever queue is shorter and the result would be the same as there just being one standard queue
  • I think the status quo is too close to this extreme at the moment

My recommendation:

  • Agree with you we should do 1/16
  • Actual equation could be expressTickets += (bondedETH + 8) / 16 ether
    • This has the effect of “rounding up” so that a NO with a single LEB8 minipool would get 1 ticket, but has little benefit to a whale with a ton of minipools
  • Justification:
    • Theoretically right now there should be enough existing pETH for ~43% of nETH to migrate (LEB8 requires 24pETH, vs 2x4 ETH bonded validators requires 56pETH) - but that would be more tickets than necessary - since migrators can also use the standard queue, not all pETH will be migrated, and some percent of the pETH may go to newcomers. So I think it would be better to target something like 25% at most. This would be divide by 16 instead of divide by 4 (the current spec divides by 4 to give enough tickets for 100% of nETH to migrate)

Express_queue_rate

If we had (at one extreme) an express queue rate of 1,000,000:

  • This would essentially result in: anyone who has an express queue ticket (existing NOs) that they want to use gets to go first… Only after those have been used can anyone else enter (via standard queue).
  • Someone holding a ticket could save it and wait until there is no line in the express queue, and then regardless of the length of the standard queue they could just jump straight to the front of the line with the express queue
  • I think this extreme favors migrations too much, we still want to give access to newcomers

If we had (at the other extreme) an express queue rate of 1:

  • The express queue wouldn’t move any faster, so the only benefit would come from a limited number of tickets causing a shorter line
  • I think the status quo is too close to this extreme at the moment, trending toward useless

My recommendation:

  • One way to view it is what % of megapool pETH do we want to be allocated for migrated nETH vs migrations? I think for Saturn 1 - mostly migrations would be my preference, so something like 75%. To hit say 80% directionally, if you had an express queue rate of 4, that would mean newcomers at most could have access to 1 out of every 5 new validators. In practice it may be more than 80% to migrators since they can also use the standard queue.
  • Due to current conditions (long exit queue, uncertainty of new rETH demand / ability to re-enter, uncertainty / length of entry queue + RP queues)… I suspect existing minipool operators will be cautious to exit their minipools. The protocol benefits from migrations though, and increasing the express queue rate is a “free” way to help assist existing NO’s by shortening their expected “idle/unproductive” time that their ETH is not staked.

Overall recommendations

1. express_queue_tickets_base_provision: 0
2. number of express tickets issued per bonded ETH: expressTickets += (bondedETH + 8) / 16 ether
3. express_queue_rate: 4

I think the most impactful change is reducing the number of tickets issued (which 1. and 2. help with), but I think 3. could be helpful as well.

3 Likes
  • I agree on reducing total number of express tickets being an improvement
  • I disagree about the perceived sybil threat at this express_queue_rate. Here I would expect to see people tough out the normal queue as convenient for higher yield OR not bother migrating.
  • It’s not clear if the rounding suggested is within scope (we’re past feature freeze). Rounding down (ie, what integer division does naturally) with a base provision hits a pretty similar vibe.

So I either wouldn’t bother taking away the base provision, or I’d make express_queue_rate higher and take away the base provision.

That all said – I don’t think this mechanic has a huge amount of impact in even the medium term, so I’m mostly :person_shrugging:

1 Like

Yes, please.

Not sure about changing the formula as well.

1 Like

Is it wrong and/or impossible to consider doing tickets differently for pre-Saturn 0 and Saturn 0 minipools? Maybe give more incentive to pre-Saturn 0 pools to migrate by upping their tickets relative to Saturn 0?

I think the acceptable scope of change at this point that Kane already mentioned in the discord was “tweaks to constants in the formula” - which this seems more extensive of a request… and also I’m not sure why would do what you mentioned :sweat_smile: ?

ye, fine. The reason is because pre_saturn minipools are more desirable to migrate (from the protocol perspective) because of the pure 14% commission.