ethereum / pm

Project Management: Meeting notes and agenda items
Other
1.59k stars 323 forks source link

Shanghai Planning #450

Closed timbeiko closed 1 year ago

timbeiko commented 2 years ago

Sept 19, 2022 Update

We discussed this issue on #616 and agreed to move forward with the process detailed here while ACD/CL calls are paused.


Original Issue Text

Using this issue to keep track about conversations related to Shanghai planning.

First discussed on ACD129, prompted by this comment:

Can we please discuss on what we want to concentrate for Shanghai? There are quite a few potential items, and it's unlikely that we'll manage to do all of them, so we'll have to pick which to work on first. I see the following candidates:

To clarify, the point is not to go through each and every of these proposals in detail during this call, but rather to get a feel of what we want to prioritize for Shanghai.

lightclient commented 2 years ago

Also EIP-3074

timbeiko commented 2 years ago

Yes! For future reference, the most up to date place for potential EIPs is https://github.com/ethereum/pm/issues. The comment quoted above will be out of date fairly quickly as we start planning Shanghai.

holiman commented 2 years ago

EIP-3540: EVM Object Format (EOF) v1 + EIP-3670, EIP-3690, EIP-4200

Is the proposal to do all four of them in one fork?

gcolvin commented 2 years ago

It's not necessary to do them all in one fork, @holiman , depending on how crowded the forks get and how long between forks.

There was talk last year of having one fork devoted to the various EVM improvements which have been six years in the making, and all-in-all form a complete, safe and efficient control-flow facility. They make for a big meal, but no bigger than EIP-615 was. A reasonable order of inclusion would be as follows.

These are essential for most of the remainder.

These provide static jumps and subroutines. EIP-4200 does not depend on EIP-2315.

This specifies additional validation to constrain JUMP, JUMPI , static jumps and subroutines -- thus providing a higher level of safety than promised by EIP-615. It depends on the object format, validation, static jumps, and subroutines.

This is in early design stage. It provides multiple code sections, procedures with defined interfaces, and a frame stack for disciplined use of memory.

And these are independent of the others, and can be included independently.

timbeiko commented 2 years ago

In ACD131, we discussed a large number of proposals for Shanghai and asked client teams for their general priorities.

EIPs 3540, 3670 and 3860 were considered high priority and moved to CFI for Shanghai (PR). Beyond these, any change that could benefit Ethereum's scalability was considered high priority. The main options now are either the introduction of blob-carrying transactions or, if too complex, EIP-4488-style CALLDATA cost reduction. Additionally, an EIP to specify Beacon Chain withdrawals is expected soon.

timbeiko commented 2 years ago

On ACD133, we agreed to move EIP-3651 to CFI for Shanghai. Commit: https://github.com/ethereum/execution-specs/commit/ded8ebeb9d79fe4729efe10b0b5e5c211eaa39c1

moodysalem commented 2 years ago

I'd like to discuss specifically moving EIP-1153 to CFI in ACD 135 for the reasons:

holiman commented 2 years ago

To save some time, here are my thoughts around EIP-1153

timbeiko commented 2 years ago

After ACD135, client teams agreed to hold off considering new CFI EIPs until we are farther along in the merge work, see here

Screen Shot 2022-04-13 at 9 40 39 AM
protolambda commented 2 years ago

Also EIP-4844 (Shard Blob Transactions)

phpmac commented 2 years ago

When will you upgrade in Shanghai? When can eth be extracted?

solomontan88 commented 2 years ago

When will you upgrade in Shanghai? When can eth be extracted?

What's do you mean extracted ?, withdraw ?

timbeiko commented 2 years ago

See my thoughts about async planning here https://ethereum-magicians.org/t/shanghai-core-eip-consideration/10777

lightclient commented 2 years ago

Also EIP-3074

solomontan88 commented 2 years ago

Is Shanghai upgrades includes "Surge" / "Sharding" upgrades ? or between Merge and Surge ? @timbeiko

MostBolone commented 2 years ago

When will you upgrade in Shanghai? When can eth be extracted?

What's do you mean extracted ?, withdraw ?

@solomontan88 - I believe he means staked ETH. Staked ETH looks not to be unstake-able until the Shanghai Upgrade. What is the ETA for the Shanghai update?

Thanks

holgerd77 commented 2 years ago

Staked ETH looks not to be unstake-able until the Shanghai Upgrade. What is the ETA for the Shanghai update?

Shanghai is in the very early stages of planning with the scope of the changes getting into the HF still to be discussed, see the Magicians thread linked by Tim above, so there is no timeline on this yet.

I guess it's safe to say that the Shanghai hardfork won't happen this year any more, also that it is somewhat likely that it will happen sometime next year.

protolambda commented 1 year ago

I'd like to discuss moving EIP-4844 to CFI in ACD 150 (Nov 24) for the reasons:

timbeiko commented 1 year ago

On ACD150, we moved the following EIPs to CFI:

PR: https://github.com/ethereum/execution-specs/pull/656

On ACD149, we moved 1153 to CFI.

timbeiko commented 1 year ago

On ACD151, the scope for Shanghai was finalized, see: https://github.com/ethereum/execution-specs/pull/663

gaozhenyusky commented 1 year ago

just expect!

timbeiko commented 1 year ago

Update: Shanghai will go live on Sepolia on Tuesday, February 28, 2023 4:04:48 AM UTC

timbeiko commented 1 year ago

Given we are now moving to testnets, I'll close this planning-related issue.