# EIP-4844 Open Issues Spec/design-level issues which need to be resolved prior to EIP-4844 being deployed. If you'd like to add/update something here and need access, please reach out to Tim Beiko (@timbeiko on discord/TG/twitter, [email protected]). ### Quick Glossary EL: Execution Layer (clients), f.k.a. "eth1" (e.g. geth, erigon, etc.) CL: Consensus Layer (clients), a.k.a. Beacon Chain (clients) (e.g. prysm, lighthouse, etc.) ## Open Issues Note, some of these were discussed in the 4844 breakout room and [the notes from the call](https://docs.google.com/document/d/1KgKZnb5P07rdLBb_nRCaXhzG_4PBoZXtFQNzKO2mrvc/edit#heading=h.65brgxi8xdtf) have more context. ### [WIP 🛠] KZG Library Selection - **Problem:** BLST, the main BLS library used by CL clients doesn't expose all necessary functionality and has poor documentation. - **Potential solutions:** - Improve BLST - Consider other BLS libraries - **Next Steps:** Working with BLST maintainers to expose functionality required for 4844 and make changes based on client feedback. ### [WIP 🛠] CL Sync Specification - **Problem:** There are two potential ways to approach blob syncing: either couple them with blocks, or have them sync separately. The first approach is simpler, but won't be forward compatible with full danksharding. The second approach is forward compatible but introduces more complexity and may not be required given the low volume of blobs with 4844. - **Solution:** Have CL client teams agree about with approach is best. - **Next Steps:** Discuss with CL teams to reach consensus on sync strategy ### Fee Market Design - **Problem:** The current fee market for blob tracks the long-run average of blobs, which is different from EIP-1559 that tracks the short-term gas usage. This has implications on the most optimal way for blobs to be sent, i.e. whether there are many short bursts of blobs or a constant "stream" of them. See [here](https://github.com/ethereum/EIPs/pull/5353#issuecomment-1199277606) for more context. - **Potential Solution**: - Accept the mechanism as-is - Modify to optimize for a more constant stream of blobs - Make more modifications to the mechanism - **Next Steps:** discuss with CL client to understand the constraints to optimize for. ### [WIP 🛠] Fee Market Data Location - **Problem:** The current full version of the [Gas Price Update Rule](https://eips.ethereum.org/EIPS/eip-4844#gas-price-update-rule-full-version) in the EIP requires adding a field to the state which is then used to asses transaction validity. Currently, transaction validity checks only depend on data from the block header (e.g. `baseFeePerGas`) or the balance of an account (and not its code). - **Solution:** Modify the update rule to instead append this value to the block header. - **Next Steps:** PR on EIP with proposed changes: https://github.com/ethereum/EIPs/pull/5353 ### [WIP 🛠] Transaction Pool Blob Verification - **Problem:** Verifying blobs' validity in the transaction pool is a potential DoS vector. - **Solution:** using KZG proofs to optimize verification. - EL fix: https://github.com/ethereum/EIPs/pull/5088 - CL fix: https://github.com/ethereum/consensus-specs/pull/2915 - **Next Steps:** implementing the spec changes in prototypes and benchmarking efficiency