constantine/constantine
Mamy Ratsimbazafy 1cb6c3d9e1
[Threadpool] Backoff revamp (#224)
* Threadpool: eventcount didn't put threads to actual sleep :/

* rework task awaiter sleep to prevent use-after-free race condition after task completion

* Need memory fence for StoreLoad synchronization ordering

* update design doc

* set memory order in sleep of eventcount

* cleanup debug logs

* comment cleanup [skip ci]
2023-02-25 17:11:33 +01:00
..
ciphers Add ChaCha20 stream cipher 2022-03-02 01:18:47 +01:00
hash_to_curve Parallel for (#222) 2023-02-24 09:47:36 +01:00
hashes pararun: Ignore error #259, sha256: add back a paper 2022-09-19 09:11:16 +02:00
kdf Eip2333 (#202) 2022-08-16 12:07:57 +02:00
mac style: casing of WordBitWidth/WordBitwidth 2023-01-11 19:31:23 +01:00
math Parallel for (#222) 2023-02-24 09:47:36 +01:00
math_gpu [Backend] Add support for Nvidia GPUs (#210) 2023-01-12 01:01:57 +01:00
platforms [Threadpool] Backoff revamp (#224) 2023-02-25 17:11:33 +01:00
signatures Multi-Scalar-Multiplication / Linear combination (#220) 2023-02-16 12:45:05 +01:00
README.md Productionize: move protocols top-level vs backend (#179) 2022-02-21 01:04:53 +01:00
blssig_pop_on_bls12381_g2.nim BLS Aggregate and Batch verify (#214) 2023-01-27 00:42:12 +01:00
curves_primitives.nim BLS Aggregate and Batch verify (#214) 2023-01-27 00:42:12 +01:00
ethereum_eip2333_bls12381_key_derivation.nim Eip2333 (#202) 2022-08-16 12:07:57 +02:00
ethereum_evm_precompiles.nim Multi-Scalar-Multiplication / Linear combination (#220) 2023-02-16 12:45:05 +01:00
hashes.nim BLS Aggregate and Batch verify (#214) 2023-01-27 00:42:12 +01: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