Skip to content

Commit

Permalink
Merge pull request #1075 from darkfire-rain/master
Browse files Browse the repository at this point in the history
Update Breakout Room Meetings
  • Loading branch information
timbeiko committed Jun 19, 2024
2 parents fb485b2 + d05883c commit a44f61b
Show file tree
Hide file tree
Showing 11 changed files with 582 additions and 0 deletions.
63 changes: 63 additions & 0 deletions Breakout-Room-Meetings/eip-4844/Meeting 13.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@


# EIP-4844 Implementers' Call #13

## Meeting Details
### [Agenda](https://github.com/ethereum/pm/issues/716)
### Date: Jan 31, 2023
### [Video Link](https://youtu.be/O1LLyKIMHUM)
## Notes: Orignally Documented [here](https://docs.google.com/document/d/15EatedrJanNxBZGPVASvwq9xgbTs5UxjsDfjpM6ppSY/edit#heading=h.yo0u0frgagsa)

### Notes

* Updates from interop
* Had participation from every client except for Nimbus
* Client interop with all sorts of combinations
* Did some spamming of the devnet as an appetizer 🙂
* Lighthouse had a couple sync related bugs that they made fixes to
* Besu is connected externally to Devnet and are progressing
* Have some problems with some blocks that they are addressing and hope to fully join the devnet in the next few days
* Teku joined on the very last day and are following the chain correctly, but they were accidentally deleting the blobs that were being finalized (now fixed)
* Nethermind is still working to sync with lighthouse as their primary priority
* KZG Ceremony Output format for clients
* Hex-encoded with newlines
* Believe this is the same format that c-kzg already uses
* KZG Libraries status update
* Decision: Changing APIs so that clients just pass in bytes and the KZG library takes care of everything
* Decision: switching go-kzg to use Gnark backend for the library, given Gnark has been audited
* Have some audits coming up, so going to gradually slow down the pace of changes
* [Transaction Pool updates](https://gist.github.com/karalabe/e1c4e4c2a226926498cc9816d383cecb)
* A number of open questions and it would be good to have this ironed out AND have some tests that implement attack vectors to ensure we have some levle of compatibility
* Agreed that the transaction pool will not contain zero blob transactions but not for it to be a consensus pool change
* Should we bring up the issue of zero blob transactions on ACDE?
* Yes
* Discuss on ACD - what is the right way to test this?
* adding dataGasConsumed to the tx receipt format
* Perspective is that we should return this as part of the receipt, but not planning to change the consensus objects
* Open a PR on the json-rpc spec
* Blob/block sync decoupling
* Terrence reviewed and left some comments
* Yasick will come back to it soon
* This affects the cryptography layer quite a bit - have we decided we’re fully going for this?
* Decision: reached consensus at Interop
* Dankrad / Roberto
* Both feel like this is somewhat unnecessary
* Will only provide incremental gains
* All based on people’s intuitions
* Decision: we should talk about this on the call on Thursday
* Could have intermediate solution where the proposer would sign the fragments of the blobs, which wouldn’t require us to change the cryptography
* Dankrad: if we do this chang, we might as well change the cryptography so we get a bunch of nice cryptography things
* Even if we do change the crypto, not going to make the crypto more complicated
* Bandwidth/networking considerations
* No real input here
* Multiclient Sync
* Lighthouse was trying to sync with Teku but they had an issues there; Lighthouse seems to be ratelimiting Prysm - seanis still trying to dig in there
* Blob Transaction hashing
* There is a broader conversation going on around moving the EL over to SSZ entirely - some discussions and proposals that have popped up on the discord
* Proposal are around moving all the transactions within a block
* https://notes.ethereum.org/@vbuterin/transaction_ssz_refactoring
* Devnet transaction spamming
* Breaking Spec changes & devnet 5
* Goal is to get breaking spec changes in over the next two weeks (before mid-Feb)
* Then aim to get a devnet-5 two weeks after that
* Client & testing updates
67 changes: 67 additions & 0 deletions Breakout-Room-Meetings/eip-4844/Meeting 14.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# EIP-4844 Implementers' Call #14

## Meeting Details
### [Agenda](https://github.com/ethereum/pm/issues/718)
### Date: Feb 7, 2023
### [Video Link](https://youtu.be/vQGk9FDs_CM)
## Notes: Orignally Documented [here](https://docs.google.com/document/d/15EatedrJanNxBZGPVASvwq9xgbTs5UxjsDfjpM6ppSY/edit#heading=h.tyz3rvf5q08q)

### Notes

* [Introduce Deneb to remove EIP-4844 references beacon-APIs#289](https://github.com/ethereum/beacon-APIs/pull/289)
* Clients should already have this implemented in order to participate on Devnet
* Just about getting the spec updated, so we can work on top of it with other beacon API changes that will be necessary for block and blob decoupling
* This PR just need a rubber stamp to merge
* After that, can work to add the more information re: decoupling
* For signatures
* For validator behavior
* Sean @ Lighthouse will implement today / early this week
* [Add API to retrieve blobs sidecar beacon-APIs#298](https://github.com/ethereum/beacon-APIs/pull/298)
* Need to come to consensus, but not blocking interop (this is user facing)
* Terence @ Prysm is going to follow up with this to merge
* [EIP-4844: Free the blobs consensus-specs#3244](https://github.com/ethereum/consensus-specs/pull/3244)
* During interop week, there was rough consensus to decouple block and blob
* Have been iterating on the design doc and are now moving from design doc to PR
* Asking folks for review on the PR, so we can come to consensus
* This is the biggest blocker before Devnet-5
* Client teams will need 2-3 weeks to implement
* Jesse: is this strictly necessary to do the decoupling work now?
* Going to be easier to productionize decoupled design then start with a coupled design and then move to a decoupled design
* Decoupled design is also more flexible, which helps us with the fact that it’s hard to gather information about what this looks like on mainnet
* Hard to model what a dynamic and diverse network looks like when we’re making
* Answer: at the current blob sizes, could ship without this, but once we ship it, there will be more challenges in modifying it
* Blob decoupling is a lot of consensus layer work and the SSZ is a lot of the execution layer work, so not generally overlapping
* EF clients are working on the blob mempool - can use this time for decoupling
* Tim: does anyone on the client teams feel strongly they shouldn’t decouple?
* Roberto: If consensus teams are comfortable with it, we should be comfortable
* Re: SSZ, will be some consensus layer changes
* Discussion about verification of KZG proof with cryptography library
* Have solved the changes on the KZG cryptography library side
* Getting more data on the verification costs and whether we can move forward
* LIkely that we will be able to move forward
* We won’t be able to do aggregated proof on the mempool
* Likely that the difference between the two is very minor
* Transaction pool discussion
* Do we want to have a limitation on single blob per transaction?
* Started here thinking about aggregated proofs for max one blob per transaction
* Originally introduced aggregated proof technique just for the mempool to be faster
* If we are switching to one blob per transaction on the mempool, we less likely need aggregated proof
* Tim going to follow up with Geth on the transaction pool design
* Given the number of blobs is smaller than the number of cores, should be able to be parallelized well with multithreading and doing on multiple cores
* Shouldn’t be a part of the spec, but do think that if libraries can multithread something, they should
* Devnet-4 - how are clients tracking?
* Besu
* Now following devnet-4 chain correctly
* Locally they are now able to build blocks without any blob transactions
* Still having issues validating blob transactions that they are working on
* Should be the last issue before they can fully join devnet-4 as a supported client
* Lighthouse
* Just merged a fix for serving finalized blocks that have blob transactions
* Previously couldn’t sync by a lighthouse node by range
* Prysm
* Working on decoupling, doing implementation
* Nethermind
* Good devnet-4 implementation
* Just synchronized with lighthouse which was the last CL client we’re trying to synchronize
* Etan

77 changes: 77 additions & 0 deletions Breakout-Room-Meetings/eip-4844/Meeting 15.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# EIP-4844 Implementers' Call #15 #722

## Meeting Details
### [Agenda](https://github.com/ethereum/pm/issues/722)
### Date: Feb 14, 2023
### [Video Link](https://youtu.be/poTKRryqrzU)
## Notes: Orignally Documented [here](https://docs.google.com/document/d/15EatedrJanNxBZGPVASvwq9xgbTs5UxjsDfjpM6ppSY/edit#heading=h.451zbopl8rnb)

### Notes
*
* Spec updates
* [EIP-4844: Free the blobs consensus-specs#3244](https://github.com/ethereum/consensus-specs/pull/3244)
* Network tests looked really good
* Goal is to have this fully done by Thursday so we can get any final notes on ACDE
* Plan is to ship this in the consensus-specs release on Friday
* Going to flag on the ACDE to let folks know and “ask for any problems”
* Basically exactly on the schedule set on interop
* Do any clients have this implemented?
* Prysm started, but stopped as final tweaks were getting done
* Terence is going to pick it up this week again
* Going to do another old vs. new simulation with additional framework
* 0-blob transactions and how it relates to [ETH68](https://ethereum-magicians.org/t/eip-5793-eth-68-add-transaction-type-to-tx-announcement/11364/2)
* Right now, when we use a type 4 transaction, we always require it to have a blob when it enters the mempool, but don’t require this in consensus
* Should we add the number of blobs to the announcement
* Not sure we need to include the transaction type - only needed for ETH66
* May be able to include just the number of blobs
* Lukas: don’t like having the number of blobs because it’s now starting to leak out everywhere - could we instead use size?
* Mofi: point of using size was brought up at Bogota and decision to use the transaction type was because the cost of verifying the transactions could be incorporated (not just the size). For instance, if you have a large transaction that wasn’t a blob, then you’d you wouldn’t know this.
* Tim: does anyone see an issue with using size instead of type or data gas?
* Dankrad: geth won’t broadcast transactions over a certain size
* Dankrad: set rule to be don’t broadcast transactions >128kb
* Marius: we should disallow 0 blob transactions
* Enables us to have much better structure in the code
* Don’t have all these types that do the same things
* Dankrad: does this still exist if we also want SSZ transactions?
* Dankrad pushes for filtering transactions based on size vs. by the type
* Observation: transaction pool and transaction types are hard to get everyone on the same page about
* Recommendation from Tim: fully ban zero blob transactions
* Proto: for adding it as a tx-pool only rule,
* Marius: supportive, but wants it as a consensus rule if we have the restriction
* Decision: Adding this to ACDE agenda
* If you disallow zero blob transactions, do we do that
* In TX Pool
* In consensus
* If you do allow them, how you discriminate between 0 blob and 1+ blob transactions in mempool, validation, broadcasting, etc
* [SSZ List[T, 1] / Optional for Address: Update EIP-4844: Use SSZ Optional for Address EIPs#6495](https://github.com/ethereum/EIPs/pull/6495)
* SSZ unions are not standardized right now / unclear whether they will be
* Proposal from Etan is to replace the union with a list or optional type
* This avoids introducing the union discussion and getting blocked on that
* Dankrad: pushing back on the whether union is not standardized right now
* Sean: in favor of justing using what’s in the SSZ spec, seems as likely to change as doing something else and is already implemented
* Decision: discuss on PR and make a final decision next week
* 16 million blobs capacity: Would like to understand the design space
* Dankrad: for serialization, doesn’t matter, only matters for merkle proof
* Etan: theoretical limit is very unlikely to be met
* Decision: Dankrad going to tune this to an upper limit
* [HTR based signatures: 4844: use hash_tree_root for tx hash EIPs#6385(https://github.com/ethereum/EIPs/pull/6385)
* Right now, we are using keccack of transaction that is being signed for hash
* Mostly a discussion for SSZ tomorrow
* Goal is to optimize the tranasction to be a part of the SSZ transaction tree
* [Add blob signing endpoints #302](https://github.com/ethereum/beacon-APIs/pull/302)
* Adds core components to engine API
* Generally looking for feedback and would love folks to take a look
* Client progress
* Besu
* We are now feature complete
* Asking to join devnet-4 testnet
* Lighthouse
* Working on decoupling
* Prysm
* Working on decoupling and making their DBs more reasonable
* Teku
* Released the new image on Friday for devnet-4 with some fixes around sync and blob handling on DB
* So far so good, synced from genesis
* Starting to work on decoupling
* Nethermind
* Waiting for the SSZ discussion tomorrow
64 changes: 64 additions & 0 deletions Breakout-Room-Meetings/eip-4844/Meeting 16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# EIP-4844 Implementers' Call #16

## Meeting Details
### [Agenda](https://github.com/ethereum/pm/issues/726)
### Date: Feb 21, 2023
### [Video Link](https://youtu.be/hWcpSlwNTBU)
## Notes: Orignally Documented [here](https://docs.google.com/document/d/15EatedrJanNxBZGPVASvwq9xgbTs5UxjsDfjpM6ppSY/edit#heading=h.ngbel4ohs4ye)

### Notes

* Spec updates
* [New CL spec release](https://github.com/ethereum/consensus-specs/releases/tag/v1.3.0-rc.3)
* Primary inclusion is the free the blobs change (go Jasik)
* Some cryptography modifications
* Breaking change: excess data gas field is moved to end of transaction data
* Spec tests are out, so anyone can test it
* Beacon APIs need an update for signing blobs
* [Active PR](https://github.com/ethereum/beacon-APIs/pull/302) that will be discussed on Thursday
* Jesse: how are you feeling about spec?
* On consensus layer, feeling good
* Only big question is whether we need to change the engine APIs to handle the mempool stuff
* Danny is a strong “no” on this
* [KZG library refactor](https://github.com/ethereum/c-kzg-4844/pull/123)
* Moves library to doing isolated proofs rather than aggregated proofs
* Now we can verify blobs with individual proofs OR batch verify blobs with slightly faster verification
* After merging the spec, we started working on this on the implementation
* Base code of c-kzg now implements the new spec
* Python, Golang, and Java bindings updates
* Still work to be done on C#, Nodejs, and Rust bindings
* In particular, there is work that needs to be done on the Nodejs side for c-kzg
* Terence: are there spec tests for these bindings?
* Want to implement tests for each functions
* Likely going to have them in the spec tests
* George agrees that doing this in spec tests would be nice but py-acc will be very slow, so need a new library for BST
* Can’t use Milagro because it doesn’t have the group functions
* Kev is working on getting an API for arkworks and then we’ll have it
* Jesse: Dan is transitioning out so need someone to maintain bindings
* Dapplion from Lodestar is looking into it and will likely be able to take care of it
* Zero blob
* Ansgar going to land PR on EIP in time for ACDC on Thursday
* Ongoing discussion in the Etheruem Magicians thread [here](https://ethereum-magicians.org/t/eip-4844-shard-blob-transactions/8430/28?u=true&=true)
* Tim’s feeling is makes sense to apply the restrictions Roberto suggested
* Replace only w/ equal or > # of blobs, plus data gas & regular gas bump.
* Blob-holding txs should only be replaced by blob txs consuming at least as much datagas
* There can only be one blob-containing tx per account.
* Roberto: feels like we need to make this somewhat formal to make progress
* Client updates
* Prysm
* Focused on implementing the free the blobs PR - pretty significant change
* Lighthouse
* Working on the free the blobs PR, same as Prysm - considerable change
* Two weeks seems OK, but wouldn’t promise it
* Teku
* Started working on the decoupling - don’t have a timeline yet
* Lodestar
* Has also started working on decoupling as well
* Will handle the node bindings now that the implementation is complete
* EthereumJS
* No major updates
* Merged branch and synced devnet-4
* Hoping to work more on rust-kzg and implementation over the next couple weeks
* Nethermind
* Still on devnet-4, no major updates
* Plan to update KZG bindings
Loading

0 comments on commit a44f61b

Please sign in to comment.