constantine/constantine
markspanbroek 5f7ba18f2e
Conversion of little endian hex strings to bigints (#292)
2023-10-26 15:20:30 +02:00
..
ciphers Ethereum KZG polynomial commitments / EIP-4844 (part 1) (#239) 2023-08-13 15:08:04 +02:00
commitments Parallel Ethereum protocols (BLS signature and KZG) (#279) 2023-10-06 09:58:20 +02:00
csprngs Expose OS-provided cryptographically secure RNG (#257) 2023-08-27 20:50:09 +02:00
hash_to_curve Ethereum KZG polynomial commitments / EIP-4844 (part 1) (#239) 2023-08-13 15:08:04 +02:00
hashes Ethereum KZG polynomial commitments / EIP-4844 (part 1) (#239) 2023-08-13 15:08:04 +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 Conversion of little endian hex strings to bigints (#292) 2023-10-26 15:20:30 +02:00
math_arbitrary_precision EVM modexp: solve DOS vectors (#286) 2023-10-19 01:20:52 +02:00
math_codegen [Research] x86 code generator (#234) 2023-04-27 21:52:51 +02:00
platforms Rust bindings (#287) 2023-10-24 10:56:28 +02:00
serialization Batch Serialization (#283) 2023-10-25 11:13:57 +02:00
signatures Parallel Ethereum protocols (BLS signature and KZG) (#279) 2023-10-06 09:58:20 +02:00
threadpool Parallel Ethereum protocols (BLS signature and KZG) (#279) 2023-10-06 09:58:20 +02:00
trusted_setups Rust bindings (#287) 2023-10-24 10:56:28 +02:00
README.md Productionize: move protocols top-level vs backend (#179) 2022-02-21 01:04:53 +01:00
curves_primitives.nim Ethereum KZG polynomial commitments / EIP-4844 (part 1) (#239) 2023-08-13 15:08:04 +02:00
ethereum_bls_signatures.nim Rust bindings (#287) 2023-10-24 10:56:28 +02:00
ethereum_bls_signatures_parallel.nim Parallel Ethereum protocols (BLS signature and KZG) (#279) 2023-10-06 09:58:20 +02:00
ethereum_eip2333_bls12381_key_derivation.nim Ethereum KZG polynomial commitments / EIP-4844 (part 1) (#239) 2023-08-13 15:08:04 +02:00
ethereum_eip4844_kzg.nim Parallel Ethereum protocols (BLS signature and KZG) (#279) 2023-10-06 09:58:20 +02:00
ethereum_eip4844_kzg_parallel.nim Parallel Ethereum protocols (BLS signature and KZG) (#279) 2023-10-06 09:58:20 +02:00
ethereum_evm_precompiles.nim 32-bit fixes (#288) 2023-10-22 03:54:09 +02:00
ethereum_verkle_primitives.nim `MapToScalarField()` added for Banderwagon points (#278) 2023-10-06 10:03:42 +02:00
hashes.nim C API for Ethereum BLS signatures (#228) 2023-04-18 22:02:23 +02:00
zoo_exports.nim Rust bindings (#287) 2023-10-24 10:56:28 +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