Skip to content

Releases: ethereum/c-kzg-4844

v2.1.7

11 Mar 13:40
9f4bcc8

Choose a tag to compare

Overview

This is a minor release which contains an optimization in the rust bindings.

What's Changed

Full Changelog: v2.1.6...v2.1.7

v2.1.6

26 Feb 15:12
673d93c

Choose a tag to compare

Overview

This is a minor release which improves the performance of compute_cells_and_kzg_proofs and recover_cells_and_kzg_proofs by ~10%, and improves portability across compilers and operating systems (notably FreeBSD).

What's Changed

  • Add skip-existing option to Python release workflow by @jtraglia in #614
  • Rerun formatter with clang 20 updates by @jtraglia in #615
  • Use latest python version in CI actions by @jtraglia in #616
  • Install setuptools in source distribution step by @jtraglia in #617
  • Update trusted setup URL to use master branch by @jtraglia in #623
  • Benchmark measuring proof verification with different numbers of cells by @kasey in #624
  • Batch convert commitments/proofs to bytes by @jtraglia in #626
  • Add missing include for assert by @jtraglia in #627
  • Prescale coefficients to avoid expensive scalar multiplications by @jtraglia in #628
  • Simplify missing cell handling in recovery by @jtraglia in #629
  • Require gmake in python bindings build for FreeBSD by @jtraglia in #630
  • Update all dependencies by @jtraglia in #631
  • Bump versions to v2.1.6 by @jtraglia in #632
  • Allow compiler overrides & only use some flags for clang by @jtraglia in #633
  • Bump clang-format to v21 by @jtraglia in #634

New Contributors

Full Changelog: v2.1.5...v2.1.6

v2.1.5

30 Sep 18:36
7043f4d

Choose a tag to compare

Overview

This is a minor release which contains an important bug fix. The computed challenge for verify_cell_kzg_proof_batch did not take into account all deduplicated commitments, resulting in a potential Weak Fiat-Shamir vulnerability. See #607 for more details.

What's Changed

Full Changelog: v2.1.4...v2.1.5

v2.1.4

18 Sep 16:08
a679ae5

Choose a tag to compare

Overview

Some Ethereum clients have (rightfully) expressed concerns with using an unreleased version of blst. To address these concerns, we reverted blst to its latest stable version and added back point-at-infinity filtering in c-kzg-4844.

What's Changed

Full Changelog: v2.1.3...v2.1.4

v2.1.3

16 Sep 19:53
936125d

Choose a tag to compare

Overview

This is a minor release that fixes a bug which could cause verify_cell_kzg_proof_batch results to be incorrect. In the previous release we simplified g1_lincomb_fast by removing point-at-infinity filtering because blst added this filtering. Unfortunately, there was a path in which the filtering did not happen. We have updated blst to the latest commit which includes a fix for this.

What's Changed

Full Changelog: v2.1.2...v2.1.3

v2.1.2

04 Sep 10:24

Choose a tag to compare

Overview

This is a minor release that fixes audit findings (ZKSecurity and internal), adds RecoverCells() to Go bindings, simplifies code, and improves test coverage.

What's Changed

New Contributors

Full Changelog: v2.1.1...v2.1.2

v2.1.1

31 Mar 20:52
28743bc

Choose a tag to compare

Overview

This is a minor release which includes various improvements to the bindings.

What's Changed

New Contributors

Full Changelog: v2.1.0...v2.1.1

v2.1.0

13 Mar 18:34
570d3fe

Choose a tag to compare

Overview

This is a minor release which adds a compute_cells method to all bindings.

What's Changed

New Contributors

Full Changelog: v2.0.1...v2.1.0

v2.0.1

03 Sep 13:27
1cf06e1

Choose a tag to compare

Overview

This is a minor release which fixes package publishing issues for some bindings.

What's Changed

Full Changelog: v2.0.0...v2.0.1

v2.0.0

20 Aug 11:25
252a6b2

Choose a tag to compare

This is a major release which adds support for EIP-7594 (PeerDAS).

Notable changes:

  • The codebase implements and exposes all public methods of the EIP-7594 cryptography specification.
  • The trusted setup format has been updated to include G1 points in monomial form.
    • This version of c-kzg-4844 requires the new trusted setup file.
    • The new trusted setup file can be used with previous versions of c-kzg-4844.
    • Download the new file from trusted_setup.txt in this repository.
    • This should match trusted_setup_4096.json in the specifications.
  • A new precompute parameter has been added to functions which load the trusted setup.
    • This configuration option is used to optimize FK20 proof computations.
    • Higher values will compute FK20 proofs faster but use more memory.
    • Compared to precompute=0, precompute=8 is ~75% faster but uses 96 MiB of memory.
  • In the Nim bindings, the "zero overhead aliases" have been removed.
    • There is only a single set of API functions exposed now.
  • In the Rust bindings, the API functions have been moved to the KzgSettings structure.
    • For example, here is the before and after for blob_to_kzg_commitment:
      • KZGCommitment::blob_to_kzg_commitment(&blob, &kzg_settings)
      • kzg_settings.blob_to_kzg_commitment(&blob)

What's Changed

New Contributors

Full Changelog: v1.0.3...v2.0.0