-
Notifications
You must be signed in to change notification settings - Fork 52
Closed
Labels
cryptography 🔐Cryptography relatedCryptography related
Description
Why
Building a SNARK friendly STM library requires that the following elements cohabit:
- 2 signature schemes (BLS multi signature and Schnorr signature)
- 2 commitment schemes (Merkle trees with different leaves, or Merkle tree and Pedersen commitment)
- 2 proof systems (Concatenation and SNARK)
We have the following constraints:
- Do not introduce any breaking change to the stable implementation for Concatenation proofs
- Support the optional activation of the unstable implementation for SNARK proofs (via feature)
What
Design an architecture and an implementation plan for the SNARK-friendly STM library.
How
- Design an ideal architecture for the SNARK friendly STM
- Prototype a non working implementation of this architecture
- Prepare the implementation path for the SNARK-friendly STM library
Constraints to solve:
- Support activation of the SNARK signature by activation of a feature
- Do not change the stable
Concatenationproof system to provide full backward compatibility for:- Signer node (key registration and signature diffusion messages)
- Client node (aggregate signature verification message)
- Decouple
BLSkeys from signer registration - Support different types of leaves in
Merkletree - Support for eventual different commitment scheme for SNARKs
- Support for a an
Initializerwhich createsSinglesignatures for bothBLSandSchnorr - Support for a
SignatureAggregator(akaClerk) which creates eitherConcatenationproof orSNARKproof - Support for a
Basicverifier which does not check the registration of the signers (do we want to keep that feature?)
Metadata
Metadata
Assignees
Labels
cryptography 🔐Cryptography relatedCryptography related