-
Notifications
You must be signed in to change notification settings - Fork 997
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
eip7251: Do not change creds type on consolidation #4020
eip7251: Do not change creds type on consolidation #4020
Conversation
Lgtm. Imo the UX impact is quite limited and it makes sense to get rid of this strange behavior, even if it's not really an attack vector. |
I like that this simplifies the complexity of the state transition and general validator lifecycle state graph it also handles the unauthorized consolidation issue will need to fix tests but I think we should 🚢 it |
I agree that this is not a great UX but simplify the complexity of state transition. It also prevents anyone from causing a permanent side-effect on someone else's validator (0x01 -> 0x02 unwanted creds change). |
Something else to mention about the impact is that the primary use case is staking pools consolidating, in which case needing to call the contract 63 times versus 64 times doesn't really make any difference |
LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a good idea. Previously, I was confused a bit by when credential switching happens.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
The PR is ready to be merged |
tests/core/pyspec/eth2spec/test/electra/block_processing/test_process_consolidation_request.py
Outdated
Show resolved
Hide resolved
tests/core/pyspec/eth2spec/test/electra/block_processing/test_process_consolidation_request.py
Show resolved
Hide resolved
Co-authored-by: Justin Traglia <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
Fixed with the latest commit. |
This PR introduces the following changes to the consolidation request processing:
Which effectively changes consolidation flow in a way that stakers will have to do it in two steps:
This change disallows an unauthorized update of withdrawal credential type and simplifies the protocol by trading off consolidation UX. To alleviate the UX downgrade this PR increases the MAX consolidation requests per block to
2
which allows to accommodate creds switch and consolidation in a single block.Supplants #4006
ToDo