constantine
constantine copied to clipboard
Support proposed Ethereum curves in EIPs 1895, 1962, 2539, 3026
The following EIPs require support for new curves
- EIP 1895 - https://eips.ethereum.org/EIPS/eip-1895
- EIP 1962 - https://eips.ethereum.org/EIPS/eip-1962
- EIP 2539 - https://eips.ethereum.org/EIPS/eip-2539
- EIP 3026 - https://eips.ethereum.org/EIPS/eip-3026
Reference implementation/documentation:
- https://github.com/matter-labs/eip1962/tree/master/documentation
Implementations
- https://github.com/matter-labs/eip1962
- https://github.com/matter-labs/eip1962_cpp
- https://github.com/saitima/eip1962
Curves
- [x] BN254-Snarks
- [x] BLS12-381
- [x] BLS12-377
- [ ] Secp256k1 with Schnorr signatures and for Bulletproofs
- [ ] BW6-761
Companion curve that embeds BLS12-377
- [ ] BW6-761 from Celo
- https://github.com/celo-org/celo-bls-snark-rs
- https://gitlab.inria.fr/zk-curves/bw6-761/
- https://eprint.iacr.org/2020/351.pdf
- https://eips.ethereum.org/EIPS/eip-3026
- [ ] CP6-782
Curve cycles: https://eprint.iacr.org/2014/595.pdf
- [ ] MNT4-298
- [ ] MNT6-298
- [ ] MNT4-753
- [ ] MNT6-753
Curve families:
- BN -> Barreto Naehrig
- BLS -> Barreto Lynn Scott
- BW -> Brezing Weng
- CP -> Cocks-Pinch