You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Written by Matt Nelson with support & input from Maintainers at Consensys and Hedera. 

Besu reaching Quorum... 

Cancun is just hitting public testnets and Core Devs are setting their sights on Prague, the next EL update to Ethereum. Scoping is underway from the Besu Maintainers and we wanted to share some thoughts. Besu's team is a little different than many client teams in that we are part of the Hyperledger Foundation. We have a set of maintainers that represent themselves and the project, not necessarily their employers. To that end, we wanted to share our team's take on the Prague fork and what we would like to see. 

How the sausage is made

When the decentralized Besu team discusses scope for forks, we like to take a champion-based approach. Maintainers that want to propose or progress scope/EIPs must be the evangelizer, both to the other team members and to the Core Dev community. Below, the champions will break down what they want to see in the next fork and why. Let's get the items we have a complete consensus on out of the way first.

Verkle or Velocity...? 

The Besu team is in favor of shipping a Prague fork that excludes Verkle in its current form. This is not to delay Verkle, but to give it more time to bake and for the Besu client to participate in the Kaustinen testnet. We know delaying the transition will cause headaches but view current UX improvements and a more stable transition as paramount. We do want to keep up velocity of shipping improvements on Mainnet and see delaying the next fork to a soft 2025 as unacceptable. 

We are the Champions (or, Scope)

In keeping up with velocity, our maintainers propose the following scope...

EOF (Danno) 

Besu supports adding EOF to the Prague hard fork. 

The EVM Object Format is a collection of smaller changes aiming at paying down a significant amount of technical debt that the EVM has accrued over nearly a decade, and prepare the EVM so that "calcification" can occur on a robust foundation. EOF does not fundamentally change the execution of the EVM, instead it introduces a container format and migrates key instructions to new formats that resolve long standing problems such as eliminating dynamic jumps and the associated JUMPDEST analysis. An incomplete bullet point list of benefits

  • EOF contracts will typically be smaller than legacy contracts (~1%-3% in typical cases and 20% in extreme cases).
  • EOF contracts can safely have unlimited size, while doing the same for Legacy EVM code would require over 10% more code storage
  • EOF contracts can reliably be AOT compiled to traditional or ZK languages because of code validation, stack validation, and static jump operations
  • EOF contracts enable eliminating Code observability and Gas observability, paving the way for a full ZK migration of the execution layer.

There are so many cool features an entire website is needed to explain them.

// Team ipsilon is launching https://evmobjectformat.org/ next week

EF Devops is aiming to get a dev net started in March, which Besu aims to join.  We anticipate being fully ready with the full EOF spec by then, as our current prototype has the core and most difficult features already implemented. This spec is derivative of the "Big EOF" spec, of which Besu, Nethermind, Geth, and EtherumJS were app participating on the "Shandong" dev net in early 2023.

EOAs & Next Steps (Gary, Danno (question) , Justin) 

pros, cons, next steps

Gotta figure this one out ^^^ 

//TODO text and decision  Danno is cool with anything from "ship" to "ship later" to "no opinion", or even "unsuitable"


The following two EIPs as currently written are unsuitable for fork scheduling.

* EIP-5003 - AUTHUSURP

This EIP provides the same category of functionality seen in EIP-7377, except in the form of an opcode driven by external data.  From a UX perspective this introduces unique risks not present in 7377. A transaction may or may not result in an account migration depending on smart contract logic.  The process of upgrading in 7377 is unambiguous and direct: the account will be migrated if the transaction reaches consensus.  Furthermore wallets can appropriately detect such actions and warn users as needed, whereas a smart contract activated migration can be constructed to make such warnings unreliable. Shipping EIP-7377 would be better, as would waiting for better EOA evolution alternatives.

* EIP-3074 - AUTH and AUTHCALL

This EIP was considered and rejected for the London hard fork, almost three years ago. There was a call for a security audit, which has not been done. Many of the security concerns have not been addressed, and the recent change to add nonce support still permits eternal authorizations. Furthermore wallet providers such as MetaMask are hesitant to provide support for this feature.  Unlike constructions like Permit2, ERC-20 allowances, and ERC-4337 smart contract wallets, the side effects of 3074 authorizations impact all users of the EVM, not just contracts that opt into such semantics.

Deposit Flow Updates (Fabio) 

pros, cons, next steps

EIP-6110 

Have to discus EIP 7002 and decide vs 6110

Inclusion Lists (Justin) 

pros, cons, next steps

Do we want to move this to the CREEP section? Or are we ready to champoion? 

SETCODE (Daniel) 

pros, cons, next steps

Do we have consensus on this one? 

// Danno would vote no, but doesn't feel strong enough to actively oppose.

EIP-4444 - History Expiry (Matt)

pros, cons, next steps

No-Brainers

EIP-2537 - BLS Precompile

EIP-7212 - Precompile for Secp256R1 - //Danno - The question is at a rollup address or at a mainnet address, or both?

Anti-Goals (or, creep)

Verkle (Karim)

Pros, cons, why not now? 


  • No labels