Withdrawals for Lido on Ethereum

What are the approaches to perform these tasks in a more trustless way? How far are these developements?

This post should be relevant, but in short - there’s a proof-of-concept solution for an oracle that solves a simpler problem (total value locked oracle), but the approach there is scalable to handle arbitrarily complex logic.

At a very high level the “widthrawals oracle” logic seems to boil down to “given the data about the WithdrawalsQueue, validator balances and withdrawal requests as input, determine if any validator exists are needed, validators to exit, and finalization time according to the specified logic”.

This can be generally achieved the same way as in the TLV oracle example above:

  • merkle tree(s) (or similar techniques) to ensure that an actual and correct data about the queue/validators/widthrawals requests is used as an input via
  • implementing “specified logic” via a verifiable “program” (TVL oracle example uses Cairo, but there are some other similar technologies).

Re: Truebit - probably quite close, but looks like it does not solve the problem of not having Consensus Layer data accessible to Execution Layer and smart contracts (correct me if I’m wrong).

2 Likes