Commit Graph

17 Commits

Author SHA1 Message Date
George Kadianakis 86e15764ad
EIP4844: Update cryptography API (#3038)
This commit changes the public API of the KZG library to the following high-level API:

```
- verify_kzg_proof()
- compute_aggregate_kzg_proof()
- verify_aggregate_kzg_proof()
- blob_to_kzg_commitment()
```

compared to the previous much more low-level API:

```
- compute_powers()
- matrix_lincomb()
- lincomb()
- bytes_to_bls_field()
- evaluate_polynomial_in_evaluation_form()
- verify_kzg_proof()
- compute_kzg_proof()
```

This means that all the cryptographic logic (including Fiat-Shamir) is now isolated and hidden in the KZG library and the `validator.md` file ends up being significantly simplified, only calling high-level KZG functions.

Some additional things that this commit does:

- Moves all EIP4844 cryptography into polynomial-commitments.md
- Improves the Fiat-Shamir stack by removing the need for SSZ and by introducing simple domain separators

Co-authored-by: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
Co-authored-by: Dankrad Feist <mail@dankradfeist.de>
2022-11-03 17:01:32 +02:00
inphi ceee7bfbf1
EIP-4844: Fee market updates to execution 2022-09-21 09:14:46 -04:00
Hsiao-Wei Wang 4176781123
PR feedback from @djrtwo 2022-07-15 23:37:32 +08:00
George Kadianakis 5b9bf41de6 EIP-4844: Further improvements on the spec
- Move constants around
- Implement missing functions to make the spec executable

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-07-13 13:13:30 +03:00
George Kadianakis 221f3687bd EIP-4844: Improve the cryptographic parts of the spec
- Move more code into polynomial-commitments.md
- Implement aggregated sidecar verification logic from PR #2915
- Rename `kzgs` to `kzg_commitments`

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-07-13 13:12:31 +03:00
George Kadianakis 534a9d1d95 Move EIP-4844 cryptography code to its own file 2022-06-22 15:42:03 +03:00
Hsiao-Wei Wang 8a70295a84
Fix ToC 2022-06-20 21:26:41 +08:00
George Kadianakis 4be0b9d6bc Add needed math/crypto functions to validate KZG aggregated proofs
All code pretty much straight up copied from https://github.com/ethereum/EIPs/pull/5088
2022-06-14 16:37:08 +03:00
George Kadianakis e4c75d67ce Introduce high-level logic of new efficient block validation 2022-06-14 16:37:08 +03:00
Hsiao-Wei Wang 83ac38c183
Merge pull request #2872 from benjaminion/patch-1 2022-04-17 08:00:33 -07:00
Ben Edgington eca7237b27
Correct typo: BLSCommitment -> KZGCommitment
The consensus chain counterpart to https://github.com/ethereum/EIPs/pull/4992. The same comment from there applies here as well.
2022-04-13 15:04:55 +01:00
Hsiao-Wei Wang 5978c86f3a
Typo fix: `ksg_to_version_hash` -> `kzg_to_versioned_hash` 2022-04-10 18:41:49 +08:00
terence tsao eb26a1d74c
EIP4844: fix a minor typo 2022-03-26 08:26:52 -07:00
protolambda dc5f9dffa0
eip4844: process_blob_kzgs - move TODO to issue, add missing input argument 2022-03-14 21:50:07 +01:00
protolambda 9b760dfb54
eip4844: beacon doc - update TOC 2022-03-14 19:08:50 +01:00
protolambda 45e207be4d
EIP-4844 consensus-specs review fixes
Co-Authored-By: terenc3t <terence@prysmaticlabs.com>
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2022-03-14 18:57:11 +01:00
protolambda 8ec4773339
EIP-4844: consensus layer changes 2022-03-10 06:52:27 +01:00