Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement EIP-4844 #4631

Closed
22 tasks done
non-fungible-nelson opened this issue Nov 7, 2022 · 6 comments
Closed
22 tasks done

Implement EIP-4844 #4631

non-fungible-nelson opened this issue Nov 7, 2022 · 6 comments
Labels
4844 EIP Ethereum Improvement Proposal epic mainnet TeamChupa GH issues worked on by Chupacabara Team TeamGroot GH issues worked on by Groot Team TeamRevenant GH issues worked on by Revenant Team

Comments

@non-fungible-nelson
Copy link
Contributor

non-fungible-nelson commented Nov 7, 2022

@non-fungible-nelson non-fungible-nelson added mainnet EIP Ethereum Improvement Proposal labels Nov 7, 2022
@gezero
Copy link
Contributor

gezero commented Nov 29, 2022

I think this is the list so far of things that should be done:
For accepting blocks:

  • Parsing transactions requires new SSZ encoding Shard blob transaction encoding #4783
    • We need to refactor the current Transaction encoder that is tightly coupled with the current way of encoding and make it more generic
    • We need to find out if we can reuse what Teku has in Teku codebase
  • Integrating with c-kzg
    • stefan.bratanov has a repo
    • Integration with the c kzg library to check commitments for a block to validate it. One aggregate commitment over all transactions in block must be calculated for this to be done.
  • EVM has access to the commitments (not blobs) so that has to be handled
  • Precompiles

For creating new blocks:

  • We must work on new transaction gossip. The eth/68 I think specifies that the new transaction will be only advertised but not pushed to peers. We need logic to retrieve these transactions with blobs. There is a PR for eth/68 Implement eth/68 (EIP-5793) #4730
  • Transaction pool needs updates (maybe new transaction pool must be created) to handle new types of fees for blobs
  • Transaction commitments must be checked per transaction
  • We need a short-term storage mechanism for blobs. When a new block gets produced, EL is responsible for storing the blobs until CL asks for them
  • New APIs to provide blobs to CL

@daniellehrner
Copy link
Contributor

We could save bandwidth for non-validator nodes and not download any data blob transactions at all. Only validator nodes that need to create blocks need to do that. Right now Besu does not know if it is a validator or a non-validator node. It could make sense to tell Besu via config if it is one or not. For example something like --mode=[VALIDATOR,NONVALIDATOR,..]

@jframe jframe added TeamGroot GH issues worked on by Groot Team epic labels Dec 6, 2022
@gezero
Copy link
Contributor

gezero commented Dec 6, 2022

@fab-10
Copy link
Contributor

fab-10 commented Jan 16, 2023

Tracking transaction pool related sub tasks here:

@jflo jflo changed the title Implement Prototype of EIP-4844 Implement EIP-4844 Apr 27, 2023
@non-fungible-nelson
Copy link
Contributor Author

Devnet 5 reqs: https://hackmd.io/@inphi/HJZo4vQGn#

@jflo jflo unassigned gezero May 2, 2023
@non-fungible-nelson non-fungible-nelson added the TeamChupa GH issues worked on by Chupacabara Team label May 2, 2023
@macfarla macfarla added the TeamRevenant GH issues worked on by Revenant Team label May 31, 2023
@Gabriel-Trintinalia
Copy link
Contributor

@jflo jflo closed this as completed Jul 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4844 EIP Ethereum Improvement Proposal epic mainnet TeamChupa GH issues worked on by Chupacabara Team TeamGroot GH issues worked on by Groot Team TeamRevenant GH issues worked on by Revenant Team
Projects
None yet
Development

No branches or pull requests

8 participants