Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adapt fees to declared effective balance #52

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

GalRogozinski
Copy link
Contributor

Description

Have users update their effective balance on the contract so correct fees can be calculated after EIP-7251 is deployed on Ethereum.

@GalRogozinski GalRogozinski changed the title Adapt fees to decalred effective balance Adapt fees to declared effective balance Sep 18, 2024
```

```solidity
// Function to get the maximum ETH balance deviation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it really need to be stored on chain? or can nodes simply parse it from events?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

events sounds good to me

@mtabasco wants to comment?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, if there is no major UX issue removing getAllowedBalanceDeviation(), the ETH balance deviation can be emitted.

|-------|----------------|--------------------------------------|---------|--------------------|
| Gal Rogozinski & Marco Tabasco | Adapt fees to declared effective balance | Contracts & Core | open-for-discussions |18.09.2024 |


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what bothers me with this approach is that a user having thousands of validators will need to update each one independently ..

Post pectra all validators start to compound above 32 automatically? if so it will be a nightmare from UX POV

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the contract owner (DAO) allows a deviation in percentage. So that the maxEffectiveBalanceUpdate won't have to be too frequent.
There is already a similar UX issue with SSV top ups. The UI can combine them into one UX issue.
It can demand an amount of SSV that should be enough until the user will have to do the next balance update.

If we don't go with this solution we need to think about something smarter like estimating the effective balance compounding (I have a draft for it) or using oracles.

In a conversation with @liorrutenberg we decided we should push the simplest solution.
We can try to dive into the complicated ones.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could be also that updating clusters instead of validators will simplify things

@GalRogozinski
Copy link
Contributor Author

GalRogozinski commented Sep 30, 2024

Take aways from meeting:

  1. Maybe the operators can act as oracles because they are incentivized to... but we may have a cheating problem. @MatusKysel reminds that if balance decreases there is no incentive to update it. @GalRogozinski says If balance decreases the user has an incentive though. @moshe-blox reminds that the operators will have to create transactions... might be an over demanding task.
  2. @moshe-blox claims that the UX issues we present now are similar to the issues with topping up SSV balance.


## Motivation

Operators on SSV Network charge validators a fee based on an expected workload. The expected workload is proportional to the the effective balance a validator has. Currently the effective balance is assumed to be a constant 32 ETH by the contract. With the introduction of [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) the effective balance of a validator could be as high as 2048 ETH.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workload won't increase linearly in proportion to eff balance... so maybe this should be rephrased

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants