Closed
Description
This is a tracking issue for EIP-4844. Some of the issues might get broken down into very low level piecemeal ones that might help review and/or work on a different larger ones. Ideally we'll end up with a batch of PRs people can take a look at to wrap their head around 4844 and it's progress / coding history.
-
Integrate an SSZ library / generator for the blob transactions- Work is ongoing via https://github.com/OffchainLabs/methodical-ssz
- Integrate a KZG library for blob verifications
- Pull in the C and Go dependencies for different systems, wrap together
crypto/kzg4844: pull in the C and Go libs for KZG cryptography #27155 - Benchmark batched vs concurrent verifications and extend the API if needed
- Pull in the final trusted setup parameters
- Pull in the C and Go dependencies for different systems, wrap together
- Define the blob transaction
- Define the new transaction type and integrate the interfaces and signers
core/types, params: add blob transaction type, RLP encoded for now #27049 -
Convert the blob transaction encodings from RLP to SSZ
- Define the new transaction type and integrate the interfaces and signers
- Update the header with the 4844 fields and implement validations
- Add
excessDataGas
field to header, disable before Cancun
consensus, core/typer: add 4844 excessDataGas to header, tie it to Cancun #27046 - Implement
excessDataGas
to blob fee conversions
consensus/misc, params: add EIP-4844 blobfee conversions #27041 - Implement
excessDataGas
validations and calculations across blocks
consensus, core, eth/downloader: add 4844 excessDataGas validations #27340
consensus, core, eth/downloader, params: 4844 chain validation #27382 - Validate blob hashes in bundled transactions (block processing and snap sync)
core, eth/downloader, params: validate blob tx bodies #27392
core, eth/downloader: validate blobtx.To at serialization time #27393
- Add
- Update the receipts with the blob gas usage and pricing fields
core/types: add data gas fields in Receipt #27743 - Implement BLOBHASH opcode and point evaluation precompile
core: 4844 opcode and precompile #27356 - Implement blob transaction pool
- Abstract out transaction validation to support reuse across multiple tx pools
core/txpool: make transaction validation reusable across packages (pools) #27429 - Make the old transaction pool a subpool / sibling of the blobpool
all: move main transaction pool into a subpool #27463 - Define the integration points between the old txpool and the new blob pool
core/txpool: make transaction validation reusable across packages (pools) #27429
all: move main transaction pool into a subpool #27463 - Implement the standalone blob transaction pool
core/txpool/blobpool: 4844 blob transaction pool #26940
- Abstract out transaction validation to support reuse across multiple tx pools
- Implement blob transaction propagation
- Update the
eth
protocol to support announce-only for blob txs
eth: implement eth/68 to support only announcing certain tx types #25980 - Implement a blob transaction fetcher to throttle the data rate of blob propagations
- Update the
- Integrate the blob transactions with the miner
- Implement the engine API extensions for the blob transactions
beacon/engine, eth/catalyst: EIP-4844 updates for the engine API #27736 - Add support for delaying the Cancun fork
cmd, eth, les: replace Shanghai override flag with Cancun #27171
Note, an initial proof of concept was prepared by Coinbase and Optimism at #26283.
Metadata
Metadata
Assignees
Labels
No labels