Giter VIP home page Giter VIP logo

Comments (7)

Rassska avatar Rassska commented on August 10, 2024

Actually, I got it, in the context of the Lido withdrawals it doesn't make any sense.

from lido-dao.

Rassska avatar Rassska commented on August 10, 2024

But wait, what if the following sequence of actions happens?

  • Bob requests a withdrawal of 1e18 stETH. <-- Tx1
  • AccountingOracle reports(Let's say the negative rebase happens here (after a massive slashing)). <-- Tx2
  • The bunker mode is activated. <-- Tx3

In case of the following sequence of txs, nothing weird happens. But what if the Bob's withdrawal request comes right after AccountingOracle's report(which will report negative rebase) in the same block? In this case, the bunker mode is not activated yet, but it seems Bob loses some funds due to the negative rebase.

from lido-dao.

Rassska avatar Rassska commented on August 10, 2024

Anyways, I think it's better to have some slippage control mechanism for unexpected cases like that.

from lido-dao.

TheDZhon avatar TheDZhon commented on August 10, 2024

Hey, @Rassska
Thank you for bringing up this issue 👍

The current architecture presumes strict FIFO ordering of finalization, and requests aren't cancellable.
Based on this, 'virtual slippage' control isn't feasible for implementation on the protocol's level.

To overcome the issue, one might want to exchange stETH for ETH on secondary markets or sell the already placed request position represented as an ERC721-compatible token (NFT).

from lido-dao.

Rassska avatar Rassska commented on August 10, 2024

Of course, the probability for such case is pretty low, but as I got it correctly it makes some sense:
I'm talking about the following txs order:

  • tx2(negative rebase),
  • tx1(Bob's Withdrawal),
  • tx3(Bunker mode is activated).

As a result, after 36 days or when bunker mode is de-ativated and the batch which contains Bob's withdrawal is finalized, Bob receives less amount of ETH compared to the case where he simply could front-run tx2 which causes the negative rebase.

I mean, the whole concept here is to explore some withdrawal requests passed right after negative rebase happens.

Anyways, thanks a lot, I'm just exploring the Lido for fun!

from lido-dao.

TheDZhon avatar TheDZhon commented on August 10, 2024

I see your point, yet the bunker mode activates retroactively, practically excluding the probability of the bunker mode front-running (by means of the associated frame definition of the withdrawal request)

see the second rule for the 'Withdrawal requests finalization' section
https://docs.google.com/document/d/1NoJ3rbVZ1OJfByjibHPA91Ghqk487tT0djAf6PFu8s8/edit

image

Nevertheless, maybe you see any additional weaknesses? 👀

from lido-dao.

Rassska avatar Rassska commented on August 10, 2024

Thanks a lot, gotcha!

from lido-dao.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.