Intro

Table of Contents

Summary

The purpose of this document is to provide a collaborative resource to aid Node Operators participating in the Lido protocol to timely and effectively execute any updates to their infra or processes necessary for the smooth execution of the Lido V2 upgrade and resulting changes w.r.t. validator exit processing.

Validator Exits Policy

NO Responsibilities

Expectations and requirements are detailed in the Lido Validator Exits Policy.

Validator exit requests are signaled to all Node Operators via the on-chain Ejector Oracle reports multiple times a day. Node Operators have a duty to set up infrastructure to capture signaled validator exit requests and process relevant (i.e. pertaining to their validators) requests as soon as possible.

Node Operators participating in the Lido curated registry have a duty to exit validators in a timely manner when they are requested to do so. The actual mechanisms for validators to be exited are at the discretion of Node Operators. Open source tooling is available to aid Node Operators in identifying signaled validator exit requests, as well as in processing these requests.

Monitoring

The below are excerpts from the policy. Please consult the full policy for details.

If Node Operators are processing signaled validator exit requests as soon as they are available, the shortest possible time for a validator exit request to go from “signaled” to “processed” will be somewhere within the range of a few minutes to an hour. With respect to validator exit performance, each Node Operator may be considered to have one of the below three statuses.

Penalties

A node operator may be penalized if they have strictly more “stuck” validators than “refunded” validators (see reimbursement section of policy). While this condition is met, the Node Operator receives only half of the rewards and does not receive any new stake. Once the Node Operator manages to either withdraw the required number of validators or compensates for the lost validators and increases the “refunded” count through DAO voting, the node operator is considered under penalty for STUCK_PENALTY_DELAY seconds and then returns to the normal state. Rewards are automatically restored to normal, but in order to start to receive new stake, the Node Operator (or anyone else) have to call the permissionless method clearNodeOperatorPenalty.

<aside> 📄 Lido Validator Exits Policy Status: Ratified (2.0)

**SNOP - Validator Exits Policy 2.0 (IPFS), Discussion thread

</aside>


NO Tooling

<aside> 📖 Please refer to the below guide ****for details and an overview of a reference ansible implementation

Link: NOTE (this replace the previous doc in notion)

What's Changing for Node Operators in Lido V2 - HackMD

</aside>

Other tooling / scripts / resources

<aside> 🎥 See below for recordings of various deep-dive sessions!

</aside>

Resources

Name Description Link
Validator Exits policy The Lido Policy regarding exits https://lido.mypinata.cloud/ipfs/QmZTMfmJZsYHz61f2FjhYdh5VNu6ifjYQJzYUGkysHs8Uu
Validator exits discussion Governance forum post with all relevant discussions leading up to the policy https://research.lido.fi/t/update-proposal-lido-on-ethereum-standard-node-operator-protocol-validator-exits/8722
Goerli V2 PSA Segment in NOM Community Call #4, introducing the steps necessary for the upcoming Goerli hardfork https://www.youtube.com/watch?v=hms1Cln1Z0E&t=152s
New tooling works Information on the works necessary to set up the suggested tooling https://hackmd.io/jXgXjSIbQ1a_fUJeyUyL2A
Exits Deep-Dive #1 Recording of one of the 2 technical deep-dives into exits. Aimed at Node operators. https://drive.google.com/file/d/153KSfnWxH0x7V_xH961N7N38NICtcUPf/view?usp=share_link
Exits Deep-Dive #2 Recording of one of the 2 technical deep-dives into exits. Aimed at Node operators. https://drive.google.com/file/d/1RgNZEpNpwur5wYlv5TAzKQ4Q9CpsYctl/view?usp=share_link
Zheijiang exit walkthrough #1 Recording of one of the 2 technical deep-dives showing validator exit flow. Zoom recording (online) (passcode .K0V#wj9)
Google drive (video, chat transcript)
Zheijiang exit walkthrough #2 Recording of one of the 2 technical deep-dives showing validator exit flow. Zoom Recording (online) (passcode 5A9@i#=5)
Google drive (video, chat transcript)
Lido keys api repo KAPI (Key API) repository https://github.com/lidofinance/lido-keys-api
Lido Validator Ejector repo Validator Ejector (eventlistening daemon) repository https://github.com/lidofinance/validator-ejector
Lido CLI repo https://github.com/lidofinance/lido-cli
Dune - Lido Rewards & Penalties Dashboard showing the individual rewards and penalties on an aggregated as well as a per operator basis. (Note: to use the parameters, you need to be logged in using any Dune account) https://dune.com/lido/lido-node-operator-withdrawals
Dune - Status of Buffer and Exits Status of the buffer and statistics of individual exits. https://dune.com/lido/buffer-oracle-exits
Ejector Oracle Specs Technical specs on how the Ejector Oracle will function https://hackmd.io/PbUr-orDTAqH63F4-n8-pw?view#Ejector-oracle

lido_blue.svg

Follow

**Twitter Discord GitHub**