-
Notifications
You must be signed in to change notification settings - Fork 325
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
Ethereum Core Devs Meeting 135 Agenda #500
Comments
Before we merge Goerli, I would like to inflate the supply. So I decided not to create an EIP to not distract too many people with that.
Any feedback would be appreciated. |
Copying Moody's comment from the Shanghai Planning issue here:
|
I think deactivating I'd love to discuss further on the call. They're obviously not exclusive, but in the case of EIP-1153 we have many protocol developers who want it and are willing to do or fund the work, and the chance of breakage due to inclusion of EIP-1153 is close to zero. |
we decided on the overall approach to validator withdrawals on the last ACD and moved EIP-4895 to CFI. there was some rough consensus around a few remaining details and I've put those details into writing in an update to 4895 here: ethereum/EIPs#4957 I'd like to run thru the high-level points of this update on the call to make sure everyone is on the same page :) |
I have an emergency EIP to add to the agenda. |
I would like to touch |
Oops, I meant to post this here, but posted it to the shanghai planning instead
|
About this, I know @jwasinger has done a pretty thorough investigation. He has a repo about it here: https://github.com/jwasinger/eth-selfdestruct-analysis . |
The estimates are covered in security considerations. However the time complexity of the journaling is not deeply considered in the gas costs. Currently in the EthereumJS VM implementation, the time complexity is as follows:
I'd have to check but I think 300k memory accesses in the worst case might be pretty fast still.
Are they in competition if we do all the work? We are willing to do the work or find people to do the work and fund it. If we do all the work and have working implementations in at least geth and 1-2 other clients, and comprehensive tests by late summer, can we assume this is not an issue? We are just asking for it to be considered for inclusion so we can commit to doing the work. |
In that case, I think there's a different attack that EthereumJS is vulnerable too, namely basically what geth was vulnerable to back in the shanghai days. We had map-backed "journalling". With map-backing, as opposed to linear log/journal, when one enters a new scope, there are two choices. Either you copy the outer map With that schema, the attack is to fill up The second choice is to not copy the outer map, but instead keep it, but have a second Anyway, in geth, we use a journal, which is just a series of change-events, which can be applied in reverse if needed.
Unfortunately, yes |
In the current implementation I agree. If you create a very deep call stack, write a bunch of keys, and then return from the innermost call, you will copy the map for each call in the callstack. The memory complexity will not be more than One easy solution is limiting the number of keys in the per-address map to 1024. That is more than enough for our use case.
Do you have to iterate the journal to load a key with this implementation? The stack of maps solution (second choice) seems better than a journal of changes.
Can you elaborate? Per @gcolvin, this EIP does not interact with other EIPs being considered. We can also implement it in clients without turning it on with Shanghai, if it's CFI. |
No, the data is in a map. Reverting means applying the change-entries in reverse.
I mean, this is just all my opinion, but this is a large implementation. I don't think any client-implementation will just accept a PR without review. Reviewing a PR (and especially a PR which touches core/consensus) takes more time than writing the code. Reviewing the tests, to ensure they cover all edgecases, testing any DoS-attacks etc etc all takes time. Anyway, I just wanted to signal my 5c early to save some time on the call. |
Not sure where I said that, @moodysalem, but I suspect I spoke only in terms of semantics. Regardless, I'm more likely to be wrong about these things than @holiman. |
I don't believe @holiman ever contradicted this statement. |
Meeting Info
Agenda
latestValidHash
EL implementations (context, summary)The text was updated successfully, but these errors were encountered: