Fusaka Update - Information for Blob users

3 days ago

tl;dr: Over the past mates of days, immoderate L2s noticed that their deployments connected Sepolia didn't enactment decently anymore. This is owed to EIP-7549 which changes the format for proofs. In anticipation of Fusaka, we impulse each blob originators to update their bundle to make Cell Proofs alternatively of blob proofs.

Background

One underdiscussed facet of EIP-7549 (PeerDAS) is that it changes the format for proofs from blob proofs to compartment proofs. This allows for downloading a circumstantial portion of the blob alternatively of the full blob for information availability sampling.

This alteration mightiness interruption idiosyncratic applications that nonstop blob transactions. Already signed transactions are inactive valid though, they conscionable request to recompute the compartment proofs. Some clients (most notably go-ethereum) volition bash this via the RPC connected eth_sendTransaction and eth_sendRawTransaction (1). This conversion from blob proofs to compartment proofs takes astir 1 second, truthful we promote blob transaction originators to determination to compartment proofs successful bid to trim overhead astatine the RPC level.

Transactions that are successful the txpool astatine the clip of the fork volition beryllium dropped by immoderate implementations, portion different implementations volition person them to compartment proofs. So it would beryllium prudent to resend your transactions with compartment proofs soon aft the fork, if they are not being included by the chain. Some implementations let for the organisation of blob impervious transactions up to a fewer minutes aft the hard fork connected the networking furniture for stableness purposes.

Actionable changes

If you are a blob transaction originator (e.g. an L2), you should update your transaction sending codification to make compartment proofs.

All large lawsuit libraries exposure functionality to make these proofs via ComputeCellsAndKZGProofs() which is disposable successful each large languages (2). Usage examples tin besides beryllium recovered successful each large languages successful the lawsuit libraries (3).

Outlook

We volition effort to pass these changes that interaction users much intelligibly via the Ethereum blog going guardant and effort to bash much assemblage outreach to forestall users of Ethereum from feeling blindsided by changes successful the protocol.

We besides promote L2s and different entities that heavy beryllium connected the Ethereum roadmap to travel the ACD process and to prosecute much straight with the community. We would besides similar to promote teams to deploy their contracts and trial infrastructure connected the devnets soon earlier we determination to the archetypal testnets. Another large instrumentality for keeping your changes up to day is to usage the Ethereum bundle provided by Kurtosis which tin beryllium utilized to make section networks with the latest specifications (4).

While it is unfortunate that blob originators learned this precocious successful the hard fork process, it besides shows that the testnet process works precise good and these issues are caught agelong earlier they would ever look connected mainnet.

(1): go-ethereum volition lone bash the conversion connected eth_sendRawTransaction from existent maestro and v1.16.5 onwards (2): spot https://github.com/search?q=repo%3Aethereum%2Fc-kzg-4844%20ComputeCellsAndKZGProofs&type=code (3) Example for go-ethereum: https://github.com/ethereum/go-ethereum/blob/7c107c2691fa66a1da60e2b95f5946c3a3921b00/crypto/kzg4844/kzg4844_test.go#L194 (4) Ethereum bundle for kurtosis: https://github.com/ethpandaops/ethereum-package

View source