May 22 Update
From EIP-7600: Hardfork Meta - Pectra:
EIPs Included
- EIP-2537: Precompile for BLS12-381 curve operations
- EIP-2935: Save historical block hashes in state
- EIP-3074: AUTH and AUTHCALL opcodes
- EIP-6110: Supply validator deposits on chain
- EIP-7002: Execution layer triggerable exits
- EIP-7251: Increase the MAX_EFFECTIVE_BALANCE
- EIP-7549: Move committee index outside Attestation
- EIP-7685: General purpose execution layer requests
EIPs Considered for Inclusion
- EIP-7212: Precompile for secp256r1 Curve Support
- EIP-7547: Inclusion lists
- EIP-7623: Increase calldata cost
- EOF EIPs listed as part of EIP-7692, namely:
- EIP-663: SWAPN, DUPN and EXCHANGE instructions
- EIP-3540: EOF - EVM Object Format v1
- EIP-3670: EOF - Code Validation
- EIP-4200: EOF - Static relative jumps
- EIP-4750: EOF - Functions
- EIP-5450: EOF - Stack Validation
- EIP-6206: EOF - JUMPF and non-returning functions
- EIP-7069: Revamped CALL instructions
- EIP-7480: EOF - Data section access instructions
- EIP-7620: EOF Contract Creation
- EIP-7698: EOF - Creation transaction
Other Pectra Proposals
- EIP-3068: Precompile for BN256 HashToCurve Algorithms
- EIP-5806: Delegate transaction
- EIP-5920: PAY opcode
- EIP-6404: SSZ Transactions Root
- EIP-6465: SSZ Withdrawals Root
- EIP-6466: SSZ Receipts Root
- EIP-6493: SSZ Transaction Signature Scheme
- EIP-6913: SETCODE instruction
- EIP-6914: Reuse validator indices
- EIP-7702: Set EOA account code for one transaction
- EIP-7212: Precompile for secp256r1 Curve Support
- EIP-7377: Migration Transaction
- EIP-7545: Verkle proof verification precompile
- EIP-7553: Separated Payer Transaction
- EIP-7557: Block-level Warming
- EIP-7594: PeerDAS - Peer Data Availability Sampling
- EIP-7609: Decrease TLOAD/TSTORE pricing for common cases
- EIP-7623: Increase calldata cost
- EIP-7664: Access-Key opcode
- EIP-7667: Raise gas costs of hash functions
NONREENTRANT
&REENTRANT
opcodes
April 10 Update
Note: I accidentally removed EOF from the proposals list as part of my March 28 update. Fixed on April 5th. Also including EIP-7667 to the list which was recently proposed
From EIP-7600: Hardfork Meta - Pectra:
EIPs Included
- EIP-2537: Precompile for BLS12-381 curve operations
- EIP-6110: Supply validator deposits on chain
- EIP-7002: Execution layer triggerable exits
- EIP-7251: Increase the MAX_EFFECTIVE_BALANCE
- EIP-7549: Move committee index outside Attestation
EIPs Considered for Inclusion
- EIP-7547: Inclusion lists
Other Pectra Proposals
- EOF (megaspec, implementation matrix)
- EIP-2935: Save historical block hashes in state
- EIP-3068: Precompile for BN256 HashToCurve Algorithms
- EIP-3074: AUTH and AUTHCALL opcodes
- EIP-5806: Delegate transaction
- EIP-5920: PAY opcode
- EIP-6404: SSZ Transactions Root
- EIP-6465: SSZ Withdrawals Root
- EIP-6466: SSZ Receipts Root
- EIP-6493: SSZ Transaction Signature Scheme
- EIP-6913: SETCODE instruction
- EIP-6914: Reuse validator indices
- EIP-7212: Precompile for secp256r1 Curve Support
- EIP-7377: Migration Transaction
- EIP-7545: Verkle proof verification precompile
- EIP-7553: Separated Payer Transaction
- EIP-7557: Block-level Warming
- EIP-7594: PeerDAS - Peer Data Availability Sampling
- EIP-7609: Decrease TLOAD/TSTORE pricing for common cases
- EIP-7623: Increase calldata cost
- EIP-7664: Access-Key opcode
- EIP-7667: Raise gas costs of hash functions
Post-Pectra Proposals
Execution Layer: Osaka
From EIP-7607: Hardfork Meta - Osaka:
Considered for Inclusion
Consensus Layer: F-Star
Likely focus on EIP-7594: PeerDAS - Peer Data Availability Sampling
February 5, 2024 Update
- Prague/Electra Meta EIP PR
- EIPs 6110, 7002 and 7549 Included
- EIP-2537 CFIād
- Verkle Tries included in post-Prague EL fork, Osaka
- EIP-4444 work to continue in parallel to network upgrades
- CL proposal tracker
- Other EL proposals, in order of appearance here:
- EVM Object Format (EOF)
- EIP-3074: AUTH and AUTHCALL opcodes
- EIP-3068: Precompile for BN256 HashToCurve Algorithms
- EIP-6913: SETCODE instruction
- Increase codesize limit to
2**16
- EIP-7251: Increase the MAX_EFFECTIVE_BALANCE
- EIP-7377: Migration Transaction
- EIP-7547: Inclusion Lists
- EIP-7212: Precompile for secp256r1 Curve Support
- EIP-5920: PAY opcode
- EIP-7553: Separated Payer Transaction
- EIP-5806: Delegate transaction
- EIP-7609: Decrease TLOAD/TSTORE pricing for common cases
- EIP-6404: SSZ Transactions Root
- EIP-6465: SSZ Withdrawals Root
- EIP-6466: SSZ Receipts Root
- EIP-7557: Block-level Warming
January 15, 2024 Update
Jan 15, 2024 Update
Proposals so far, in order of appearance, highlighting if they are for the [EL], [CL] or [EL+CL]:
- [EL] EIP-2537: Precompile for BLS12-381 curve operations
- [EL] EVM Object Format (EOF)
- [EL+CL] EIP-7002: Execution layer triggerable exits
- [EL] Verkle Trees
- [CL] EIP-7549: Move committee index outside Attestation
- [EL] EIP-3074: AUTH and AUTHCALL opcodes
- [EL] EIP-3068: Precompile for BN256 HashToCurve Algorithms
- [EL+CL] EIP-6110: Supply validator deposits on chain
- [EL] EIP-6913: SETCODE instruction
- [EL] Increase codesize limit to
2**16
- [CL] EIP-7251: Increase the MAX_EFFECTIVE_BALANCE
- [EL] EIP-7377: Migration Transaction
- [EL+CL] EIP-4444: Bound Historical Data in Execution Clients
- [EL+CL] EIP-7547: Inclusion Lists
- [EL] EIP-7212: Precompile for secp256r1 Curve Support
- [EL] EIP-5920: PAY opcode
- [EL] EIP-7553: Separated Payer Transaction
- [CL] EIP-7594: PeerDAS
Additionally, here are extra proposals from the CL Github issue:
December 19, 2023 Update
Dec 19th Update
Given the activity here, Iāll compile the proposals to date, in order of appearance, highlighting if they are for the [EL], [CL] or [EL+CL]:
- [EL] EIP-2537: Precompile for BLS12-381 curve operations
- [EL] EVM Object Format (EOF)
- [EL+CL] EIP-7002: Execution layer triggerable exits
- [EL] Verkle Trees
- [CL] EIP-7549: Move committee index outside Attestation
- [EL] EIP-3074: AUTH and AUTHCALL opcodes
- [EL] EIP-3068: Precompile for BN256 HashToCurve Algorithms
- [EL+CL] EIP-6110: Supply validator deposits on chain
- [EL] EIP-6913: SETCODE instruction
- [EL] Increase codesize limit to
2**16
- [CL] EIP-7251: Increase the MAX_EFFECTIVE_BALANCE
- [EL] EIP-7377: Migration Transaction
- [EL+CL] EIP-4444: Bound Historical Data in Execution Clients
Additionally, here are extra proposals from the CL Github issue:
Orignal Post
With Dencun wrapping up, the time has come to start thinking about the Prague/Electra upgrade. Similarly to Cancun, I propose using this thread to discuss the overall process and scope of the upgrade.
EIP champions can use the prague-candidate
tag to signal their desire for inclusion in the upgrade. Note that the consensus layer teams already have a Github issue to track proposals.
As for larger process tweaks, my #1 suggestion is to bring back Meta EIPs.
There currently is no good place to track the full scope of a network upgrade prior to it being deployed and announced in a blog post.
For Dencun, we have EL EIPs in a hard to find markdown file and CL EIPs as part of the Beacon Chain spec.
This isnāt great, as both of these are somewhat hard to find, each of them uses a separate āformatā and it results in duplication. With ERC and EIPs now separate, I suggest (going back to) using Meta EIPs to track EIPs included in network upgrades.
For coupled upgrades, the EL + CL could share a single Meta EIP, and for de-coupled upgrades, they could each have their own. If an upgrade goes from coupled to de-coupled or vice-versa, we can simply create a new Meta EIP which superceeds the previous one.
Lastly, as a āstretch goalā, we should agree on what to do with āConsidered for Inclusionā. This āproto-statusā was created to provide more legibility to EIP champions about which EIPs may be included in an upgrade. That said, it can be argued the lack of commitment associated with CFI causes more confusion than it removes. Additionally, CFI is only used on the execution layer.
If it isnāt useful, we should consider modifying or removing it, or potentially harmonizing its definition and usage across both the EL & CL processes.