Tldr:
Lido contributors recognize that consolidations are a critical unlock for the Ethereum network going forward and are working on making them a reality, but it’s going to take a lot of time. For a protocol like Lido, supporting something like this is substantial development work that is ongoing, and decentralized protocols are at a heavy disadvantage to centralized solutions which can do all of this work offchain vs on-chain. Centralized staking providers and delegated stake operators have the easiest time to support consolidations; for them all/most of their complexity is offchain, so they can adapt more quickly. If you want to apply pressure to make consolidations happen more quickly, they’re the optimal target. In turn, their readiness when on-chain protocols have completed the coordinated efforts will mean that consolidation rollouts for on-chain solutions can happen faster. For protocols like Lido, Rocketpool, etc., the process is complex, intricate, and has a lot of moving pieces; please support these on-chain and decentralized solutions with your brainpower and help.
—
I’m a contributor to the Lido DAO. I’d like to bring some illumination to what the process of implementing this kind of stuff looks like, so that one might develop an appreciation for the complexity of requests like this, because I get the feeling things may seem very simple when they’re not.
Centralized setups are exponentially faster at rolling out new Ethereum features that decentralized ones.
For simple staking solutions, rolling out things like consolidations will be relatively easy; for others, it’s an immensely complex task.
Consider a spectrum of staking where the simplest staking solution (on the left) is a mono-operator mono-infra set up: it’s just 1 person, running X validators, all on the same machine or general set up of machines, and there’s zero extra complexity compared to vanilla staking from a contracts, oracles, off-chain tooling perspective. Consider that at the other end there is the most-decentralized version of a staking solution: everything (or as many things as possible has to be done on-chain or via oracles), there are a variety of node operators who all interact with the protocol in different ways, interaction with the protocol is some mix of permissioned or permissionless, the protocol has to account for a liquid representation of stake that is underlain by the relevant validators and stake. A solo node operator is on the left end, a small staking business is somewhere to the right of it, a centralized exchange with one operator is probably 1/3 of the way on the spectrum (and moves rightwards as it has to support an LST, or has multiple operators, etc.), and on-chain solutions are scattered between the middle to furthest right end of the spectrum.
Now let’s consider the relative complexity of designing and implementing upgrades to necessary code, tooling, processes, etc. The more centralized and simple the staking solution is, the simpler it is to adopt and implement the new functionality. The more complex and decentralized, the more complicated it becomes. Lido protocol upgrades are months of work, by various teams (contributors, node operators, the community, stakers, auditors, etc).
Just the amount of work required to ensure that protocol economics cannot break, creating new processes, removing technical debt based on previous assumptions etc, all of that is months of design and development. Then you need to test (withdrawals testing for the Lido protocol was 1.5 months of work with client teams, node operators, etc., this was after most code was finalized). Then you need to finalize, audit, and deploy.
Work on consolidations has been ongoing for months, but is substantial and requires changing integral components of the Lido protocol
If you consider that changes to implementations for 7251 and 7002 were still being made a few months ago, it basically means that most staking solutions haven’t begun directly working on Pectra things until ~Nov. Perhaps it could have started earlier, as the specs didn’t have a lot of substantial changes since after Aug or so, and devnet-3 was the first stable devnet in Sep. But, consider that development is planned ~9-12 months ahead, based on things that are known. At the time, the priorities for contributors working on Lido protocol were upgrading the Staking Router and deploying the Community Staking Module (CSM) to allow for permissionless entry to the protocol, which occurred in November (but were being worked on for the last 1.5 years). Since then, efforts are focused on Pectra (in two pieces: compatibility and support of new features) and CSMv2.
For a protocol like Lido, the work needed just to “patch” the protocol so that it is compatible (without adding new features) with a hardfork like Pectra is substantial (you can see details here: LIP 27: Ensuring Compatibility with Ethereum’s Pectra Upgrade - Proposals - Lido Governance). Given these kinds of timings and the amount of work required, it’s unfortunately unfeasible for a protocol like Lido to support consolidations in the kind of timeframe that you’ve outlined here.
In tandem with the work being done to “patch” the protocol, work has begun to also prepare for 7002 and 7251 (note that 7002 is much simpler functionality to add than 7251, as 7251 entails a significant overhaul of protocol accounting given assumptions about the effective balances of validators and the relationship between “keys” and “stake”).
For both features, contributors are working towards outlining (in the next few weeks) a proposed way forward to address key aspects of with respect to the Lido protocol, chiefly (this isn’t an exhaust list of considerations):
- Impact of consolidations (risk, rewards, operations) and TWs
- Designing and implementing changes to on-chain and off-chain code
- Analyzing and determining optimal consolidation parameters at the protocol level (what % of protocol should be consolidated, e.g. “how to deal with exits given that partial exits are very costly? Should a % of validators be kept at 32 ETH to allow for finer-grained control of withdrawal amounts? How to reason about bonds for permissionless “fat” validators, etc”)
- Determining a timeline for implementation (when can consolidation support be deployed? How should consolidation happen after that?)
- Should consolidations be utilized to support stake re-allocation into more robust validation infrastructure (e.g. DVT)?