This repository has been archived by the owner on Jan 24, 2024. It is now read-only.
Withdrawal Design #139
Unanswered
karlfloersch
asked this question in
Design Decisions
Replies: 2 comments 1 reply
-
Some of the questions on my mind here:
|
Beta Was this translation helpful? Give feedback.
0 replies
-
From a planning perspective, I think we should not include the optimization in the Proposer / State Commitment milestone, and that we should create a new milestone for the optimizations.
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Here to kickoff discussion about various withdrawal designs. This also includes a rough sketch of the withdrawal contract.
Withdrawal Contract Sketch
Quick sketch of the withdrawal contract:
https://gist.github.com/karlfloersch/02ce7938000680ce7820f39ba06bd9b1
Design Decisions
The main tradeoffs which we need to decide our stance on is whether or not we optimize the withdrawal costs for v1.0. There are two things we can do to optimize withdrawal costs:
a. This can be done by adding a "withdrawal root" for each state root that we post. Note that the tricky thing here is that because we submit state roots every
n
blocks, we will need to persist all state roots from the period somewhere. It's implementation complexity.a. Not something that we'd want to do for a minimal v1.0 release, but including it here as it is something that we can consider long term - especially if it is implemented in L1.
TODO
Determine how complex it would be to implement optimization #1, and then determine if the complexity is worth the gas savings.
cc @K-Ho
Beta Was this translation helpful? Give feedback.
All reactions