constantine
constantine copied to clipboard
Constantine: modular, high-performance, zero-dependency cryptography stack for proof systems and blockchain protocols.
Followup on #293 - Outline topology detection goals: - [ ] `get_num_threads_logical`: with no OS/C stdlib dependency on x86 (all other arch need privileges to access specific registers) - [...
# Uncompressed Serialization for Banderwagon Points In the compressed form, we used to send only the $x$ co-ordinate of the point, along with the sign of the $y$. Then the...
Exponentiation in 𝔾ₜ can be accelerated the same way as 𝔾₂ (it was for 𝔾ₜ and ported to 𝔾₂ thanks to the sextic twist).
## Production-grade commitments KZG is implemented and IPA is WIP for verkle trees (#275). - FRI commitments https://eprint.iacr.org/2020/654 ## Multilinear The SNARKs world is moving to multilinear polynomial commitment schemes...
cc @ec2. Point decompression is a bottleneck in protocols (or to load trusted setups). It's very slow due to square root.  Storing point uncompressed would be a memcopy instead...
This lists techniques to accelerate Elliptic Curve arithmetic in circuits: - Zero Knowledge Proofs of Elliptic Curve Inner Products from Principal Divisors and Weil Reciprocity Liam Eagen, 2022, https://eprint.iacr.org/2022/596 -...
Currently parallel sum reduction uses 2 strategies depending on the number of points to be summed. 0. Size checks https://github.com/mratsim/constantine/blob/0afccb412e2b0d2a182d13d1f42f6528307802ae/constantine/math/elliptic/ec_shortweierstrass_batch_ops_parallel.nim#L110-L123 1. Hard split for large inputs https://github.com/mratsim/constantine/blob/0afccb412e2b0d2a182d13d1f42f6528307802ae/constantine/math/elliptic/ec_shortweierstrass_batch_ops_parallel.nim#L27-L67 2. Automated split...
Json Web Token with HMAC-SHA256 are needed for communication between Ethereum Consensus and Execution clients. Specs: - https://github.com/ethereum/execution-apis/blob/431cf72/src/engine/authentication.md - https://datatracker.ietf.org/doc/html/rfc7519
Scalar multiplication and Multi-scalar-multiplication for Bandersnatch and Banderwagon can be improved by 30% by adding endomorphism acceleration. See: - https://eprint.iacr.org/2021/1152.pdf - https://ethresear.ch/t/introducing-bandersnatch-a-fast-elliptic-curve-built-over-the-bls12-381-scalar-field/9957 - https://github.com/asanso/Bandersnatch ## Impl direction We need to...
The goal is have test vectors to test pedersen commitment in IPA better