constantine/constantine
Mamy Ratsimbazafy 47b4f48dfb
fix overflow when truncating in submod2k, fix Guido fuzzing failure 8 (#251)
2023-07-11 09:06:46 +02:00
..
ciphers C API for Ethereum BLS signatures (#228) 2023-04-18 22:02:23 +02:00
hash_to_curve Fuzz Fix - Hash-To-Curve - Isogeny EC add non-fully-reduced input (#250) 2023-07-03 06:57:22 +02:00
hashes C API for Ethereum BLS signatures (#228) 2023-04-18 22:02:23 +02:00
kdf C API for Ethereum BLS signatures (#228) 2023-04-18 22:02:23 +02:00
mac C API for Ethereum BLS signatures (#228) 2023-04-18 22:02:23 +02:00
math fix bigint mul non-compilation after #231 2023-07-09 18:57:12 +02:00
math_arbitrary_precision fix overflow when truncating in submod2k, fix Guido fuzzing failure 8 (#251) 2023-07-11 09:06:46 +02:00
math_codegen [Research] x86 code generator (#234) 2023-04-27 21:52:51 +02:00
platforms Fix Fuzz 5: off-by-1 in even modexp (#247) 2023-07-02 17:14:50 +02:00
signatures C API for Ethereum BLS signatures (#228) 2023-04-18 22:02:23 +02:00
threadpool Pasta / Halo2 MSM bench (#243) 2023-06-04 17:41:54 +02:00
README.md Productionize: move protocols top-level vs backend (#179) 2022-02-21 01:04:53 +01:00
curves_primitives.nim BLS Aggregate and Batch verify (#214) 2023-01-27 00:42:12 +01:00
ethereum_bls_signatures.nim Rework assembly to be compatible with LTO (#231) 2023-04-26 06:58:31 +02:00
ethereum_eip2333_bls12381_key_derivation.nim C API for Ethereum BLS signatures (#228) 2023-04-18 22:02:23 +02:00
ethereum_evm_precompiles.nim Accelerate eth_evm_modexp by 25x by dividing input size by 8 (#249) 2023-07-03 01:45:36 +02:00
hashes.nim C API for Ethereum BLS signatures (#228) 2023-04-18 22:02:23 +02:00
zoo_exports.nim Rework assembly to be compatible with LTO (#231) 2023-04-26 06:58:31 +02:00

README.md

Constantine-backed protocols

This folder stores protocol implemented on top of Constantine.

Ethereum Virtual Machine

Constantine implements precompiles primitives for the Ethereum virtual machine

  • ECADD on BN254_Snarks (called alt_bn128 in Ethereum), address 0x6, spec EIP-196 and pricing EIP-1108
  • ECMUL on BN254_Snarks (called alt_bn128 in Ethereum), address 0x7, spec EIP-196 and pricing EIP-1108
  • ECPAIRING on BN254_Snarks (called alt_bn128 in Ethereum), address 0x8, spec EIP-197 and pricing EIP-1108

Their main use-case is for use zero-knowledge proofs and zkRollups and be compatible with work on Zcash