LIP-12: On-chain part of the rewards distribution after the Merge

Preface

This is a follow-up thread for the already published rewards distribution architecture decision record. Today we present an on-chain design implementing the chosen options.

Simple summary

The Lido protocol upgrade that re-stakes newly appeared rewards after the Ethereum Merge will happen to achieve rewards compounding.

Abstract

We introduce the rewards distribution mechanism which consists of a dedicated vault contract acting as a coinbase (i.e. fee recipient) for the newly appeared rewards on the execution layer (ex. ETH1), and an upgrade for the Lido contract which affects the rewards distribution run, i.e. the Lido oracle beacon report handler.

The proposed rewards distribution mechanism should work as follows:

  1. Node operators collect ether-nominated execution level rewards on a dedicated vault contract by setting its address as a fee recipient. To be precise, MEV rewards could be collected in the two ways: directly by setting the validator’s feeRecipient address as the coinbase address of the payload, or the payload builders may include an explicit transaction which transfers MEV rewards to the feeRecipient. So the proposed dedicated contract also accepts incoming ether (payable) transactions.

  2. The Lido contract withdraws all collected rewards from the vault, re-stakes it and mints new stETH only for protocol fee (10%) as part of the beacon chain (or consensus layer, CL) rewards distribution run

  3. In the case of the non-profitable Lido oracle report don’t mint any new stETH (i.e. the protocol fee).

Motivation

Now the Lido protocol collects only Beacon chain staking rewards. These rewards are locked on the Beacon chain until withdrawals are enabled sometime later in 2022. After the merge, validators will start to receive two additional types of rewards: transaction fees (priority fee, to be exact) and extracted MEV which would be paid on the execution layer (EL).

Lido is likely to approach MEV using Flashbots ecosystem. The Lido Node Operators would use mev-boost as a middleware which allows to receive transaction bundles submitted by searchers. Searchers share the revenue with validators by sending part of rewards to the feeRecipient address.

We propose to re-stake all collected EL rewards while minting only the protocol fee (10%) stETH as part of the beacon chain rewards distribution run. But don’t mint/distribute any protocol fee on the non-profitable Lido oracle report.

The proposed way brings rewards compounding, has a fast shipment time due to little impact on the existing distribution scheme. It’s also reasonably automated and self-governed. And finally, it fallbacks to the already adopted solution in case Merge hardfork is delayed.

The compound effect depends on the EL- and CL- APRs, but a long-term stakeholder generally gains additional interest rate increase every day. For example, if EL- ad CL- APRs are both equal to 4.5% (i.e., their sum is 9%), then a 1y-long stakeholder has an APY value near ~9.2%, and a 3y-long stakeholder has an APY value near ~9.6%.

The rewards distribution scheme is provided below.

rewards distribution scheme draft

Formal specification, Backwards compatibility, Security considerations

Please proceed to the GitHub lido-improvements-proposals repo for the full spec text.

Links

10 Likes

re-stakes it

Small change proposal: if price on the curve pool is below 1, buy stETH from it up to 1, burn it and rebase remaining stETH to keep the same total supply.
As only a fraction of the total supply is in the curve pool, this would have a strong effect of driving the price towards the peg.

3 Likes

Yep this isn’t a bad idea, we do discuss it in the ADR here: ADR #3: Rewards distribution after The Merge - HackMD ; if implemented it will most likely it will be in the next release and not the initial one.

1 Like

You are right, it’s a neat idea, especially viewing recent exchange rate fluctuations.

We assessed the approach earlier and decided to decouple the core protocol from the market routing strategies for the current upgrade. There are additional security considerations that appear if the core protocol is heavily dependent on price feeds and market routes.

We may return to the topic for the next major protocol upgrade (which preliminary should be devoted to withdrawals support).

1 Like

The way around that is bake in a simple auction in the protocol and let auction participants to actually do the routing and stuff.

4 Likes

Hello everyone :slightly_smiling_face:
Could anyone tell me, in simple terms as i’m not English and the article is a bit too technical for me, what this would mean for the “simple stETH stakers” regarding the distribution of transaction fees if the validator gets chosen.
Thank you

Hey-hey!

Basically, all of the new rewards will be accrued in favor of stETH stakers (except usual 10% protocol fee).
I would recommend you to look over the following notes to get familiar with the post-Merge Ethereum rewards: https://twitter.com/EthereumPools/status/1542241205597134849

2 Likes

Thank you very much for the info and link :pray:

I was asking because it’s not easy to understand when you are like me (not tech savy on top of relative language barrier :sweat_smile:). I didn’t understand if Lido was thinking about doing something like Rocket Pool will implement (everyone will receive transaction fees, minus the pool fees for simple rETH stakers, because all the fees will be sent to a giant pool and redistributed to everyone). I have staked ETH via Lido and Rocket pool and was thinking adding some more, but i didn’t know towards which protocol to add them to.
Thank you again, i’ll read the new thread that was released about this subject :slightly_smiling_face:

Edit: I take the opportunity to ask you an other question as you know what you are talking about; do you know how far is Lido from implementing a trustless system ? i read the blog article, but i can’t find if the protocol as evolved since. Thank you

It’s an ongoing process to minimize governance risks and resolve trust and permission issues, and it’s hard for me to provide you with a simple and clear answer, tbh.

We are keep evolving, and the current state in a form of self-assessment is available here: https://scorecard.lido.fi/
The scorecard is updated once the protocol (or Lido on Ethereum, in general) is enriched with new qualities.

Recently we have adopted a two-phase voting governance process, for example: https://twitter.com/LidoFinance/status/1541692637060685826

5 Likes

Thank you very much for your fast replies and links, you are the best :slightly_smiling_face:

I’ll read the links to learn more about it

3 Likes