ChainSafe / ChainSafe/ProtoBanshee

Aggregation circuit: pub-key decompression as recursive PoK system

Open
#57 0 comments 0 reactions 0 assignees View on GitHub
optimization research
Dominant language
Rust
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Implement constraints for the consistency between compressed encoded [pubkeys](https://eth2book.info/capella/annotated-spec/#blspubkey) from the [BeaconState](https://eth2book.info/capella/annotated-spec/#beacon-state) and uncompressed affine representation needed for public key aggregation. This issue is to explore the potential optimizations via recursive zk but not limited

The leading idea so far is to structure this part as a recursive proof-of-knowledge argument, such that only pub-keys of the newly added validators are being checked in-circuit. The older pubkeys' decompression is trusted after verifying the previous instance of the recursive proof. This approach is also used in #1.

For elliptic curve cryptography use the [halo2-ecc](https://github.com/axiom-crypto/halo2-lib/tree/community-edition/halo2-ecc) library.

### [Spec](https://hackmd.io/@timofey/rkydnJ3Hh)

### References
- https://hackmd.io/@benjaminion/bls12-381#Point-compression
- https://github.com/sigp/milagro_bls/blob/master/src/amcl_utils.rs#L52

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.