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

Improved electra attestations packing #6497

Closed
wants to merge 51 commits into from

Conversation

pedromiguelmiranda
Copy link
Contributor

Improved attestations packing for Electra addressing creation of attestations with a single committee allong side with some general cleanups.

etan-status and others added 30 commits July 22, 2024 03:36
* Fix blob syncing for Electra

`BlobSidecar` requests on libp2p have a context prefix based on:

> The `<context-bytes>` field is calculated as context =
>     `compute_fork_digest(fork_version, genesis_validators_root)`

We currently only process blobs if that indicates Deneb, meaning that
on Electra we incorrectly report `InvalidContextBytes` and refuse to
process the blob response data.

Fix this, and also ensure that the code no longer needs maintenance
with every fork unrelated to blobs.

* fix
Use `_ELECTRA` suffix for gindex constants to match consensus-specs.
To avoid "forked" types creeping into `BlobSidecar`, move the reduction
to `BlobSidecarInfoObject` to the sole caller. The info object is fork
agnostic, so does not need "forked" if `BlobSidecar` ever updates.
…#6440)

The fork digest determines the underlying data type on libp2p gossip,
so it's important to use the matching fork digest instead of picking
whatever wall epoch happens to be.
* ci: bump status-jenkins-lib version, don't use a branch

Also renamed `Jenkinsfile.nix` to `nix.Jenkinsfile` because the filename makes no sense.

But left a symlink temporarily to not break things.

Signed-off-by: Jakub Sokołowski <[email protected]>

* nix: fix hash for Nim compiler checksums repo

Signed-off-by: Jakub Sokołowski <[email protected]>

* nix: do not create variable name conflicts

Signed-off-by: Jakub Sokołowski <[email protected]>

---------

Signed-off-by: Jakub Sokołowski <[email protected]>
`lcDataForkAtEpoch(.)` is not used anywhere and can be removed.
`lcDataForkAtConsensusFork(consensusForkAtEpoch(.))` saves same purpose.
- bump blst to `v0.3.13`
- Update `nimbus-eth2` reference
- fix results import
- Fixes compilation issues in v3 compatibility mode
  (`-d:chronosHandleException`)
- pretty-printer for `Duration`
- update ci.yml and be more explicit in .nimble
- Fix tests to be string hash order independent
- add ubuntu 24 and gcc 14
- update ci.yml and be more explicit in .nimble
- bump csources to `v1.0.3`
- Some minimal changes to be able to base the `nimlangserver` in
  `json_rpc`
Use `withAll` to generate the tests for various blinded block types
instead of copy pasting them for every fork.
Followup of #3212 to test proper signature verification. Also document
possible further optimization based on blst `v0.3.13`.
…6461)

- bump miniupnp to `miniupnpc_2_2_8`
- Fix for API VERSION 18 UPNP_GetValidIGD after last bump miniupnp
- update `ci.yml` and use non-deprecated `results`
- don't test alternative API with `--mm:ORC`
- Remove outdated upstream reference
- Do not set conflicting `--mm` params
- fix deprecation warnings from results; deprecate shims/io module;
  rm deprecated shims/os module
- Reduce declared but unused warnings in keyed-queue
- Add truncate()/ftruncate() cross-platform implementation
- Fix OpenFlags.Append mode for io2.openFile()
Followup on incorrect upgrade procedure in #6375 where `blob_gas_used`
was accidentally copied into `excess_blob_gas` when running Electra
`LightClientStore` with earlier `LightClient(Bootstrap|Update)`.
etan-status and others added 21 commits August 6, 2024 20:58
- hash limbs instead of bytes
- fix modmul 256-bit perf
…f5c` (#6475)

- Fix syntax highlighting in README.md
- Do not close `nil` stream when it failed to open
…39` (#6476)

- update ci.yml and fix deprecations
- Add two convenience aliases from specification
* remove option to select Capella fork choice algo

With Deneb having run stable for quite a while now, it's time to remove
the option to select the prior fork choice algo from Capella.

* also remove usage from test
* bump nim-blscurve to `d5d595a59ca906898c51af7f9511a01082435393`

- Regenerate `blst_abi.nim`
- Expose Pippenger multiplication for combining multiple sigs of same msg

* bump nim-kzg4844 to `7bd7f115db8983be2549ce1a55891355c404fdc0`

- Ensure compatibility with patched `blst.h` from `nim-blscurve`
- port eth2_digest speedups to eth_hash
- hash compatibility fix
- Revert speedups
- Removed obsolete chunked rlpx message protocol extension
- Treat putting empty data in hexary trie as deleting data
Reject blocks with zero length transactions early when no EL connected.

- ethereum/consensus-specs#3885
…6484)

Newer `blst` releases expose multiscalar Pippenger multiplication that
allows accelerated verification of signatures pertaining to same msg.

- https://gist.github.com/wemeetagain/d52fc4b077f80db6e423935244c2afb2
Copy link

Pull requests to the stable branch are not allowed.
Please open your pull request against the unstable branch.
See https://nimbus.guide/contribute.html#build-and-deploy

@github-actions github-actions bot closed this Aug 20, 2024
@pedromiguelmiranda pedromiguelmiranda deleted the dev/pedro/electra-atts branch August 20, 2024 10:00
@pedromiguelmiranda pedromiguelmiranda restored the dev/pedro/electra-atts branch August 20, 2024 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants