ChainSafe / ChainSafe/ProtoBanshee
Aggregation circuit: pub-key decompression as recursive PoK system
- 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.