constantine icon indicating copy to clipboard operation
constantine copied to clipboard

Support proposed Ethereum curves in EIPs 1895, 1962, 2539, 3026

Open mratsim opened this issue 4 years ago • 0 comments

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

mratsim avatar Sep 27 '20 09:09 mratsim