Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DelphinusLab/halo2ecc-s
A re-implemented ECC circuits with halo2.
https://github.com/DelphinusLab/halo2ecc-s
Last synced: about 1 month ago
JSON representation
A re-implemented ECC circuits with halo2.
- Host: GitHub
- URL: https://github.com/DelphinusLab/halo2ecc-s
- Owner: DelphinusLab
- License: mit
- Created: 2022-11-03T13:22:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-23T05:45:53.000Z (3 months ago)
- Last Synced: 2024-04-23T09:46:27.208Z (3 months ago)
- Language: Rust
- Homepage:
- Size: 299 KB
- Stars: 20
- Watchers: 2
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-halo2 - DelphinusLab's BN256 and BLS12-381 pairings
README
# halo2ecc-s
Re-implement an ecc circuits with halo2.## Optimizations
1. Generate witness outside of synthesize.
2. Support multi-threading for witness generation.
3. Use 3 limbs for bn256 Fp over Fr integer.
4. Reduce lookup.## Pairing
1. Support bn256 pairing check over bn256 Fr circuit. See `test_bn256_pairing_chip_over_bn256_fr` for usage.
2. Support bls12_381 pairing check over bn256 Fr circuit. See `test_bls12_381_pairing_chip_over_bn256_fr` for usage.## Observation
1. I tried to optimize msm by group points like pippenger, but the benefit is small. The bottleneck is on the `pick_candidates` if the window size is large.## TODO
1. Because `pick_candidates` is current bottleneck, I think `wnaf` can be used to reduce the select count.