-
Notifications
You must be signed in to change notification settings - Fork 52
Open
0 / 30 of 3 issues completedLabels
cryptography 🔐Cryptography relatedCryptography relatedepic ⚔️Epic that gathers related tasksEpic that gathers related tasks
Description
Why
We need to refactor the STM library in order to make it SNARK-friendly. Following the definition of the architecture in #2763, we have defined an implementation plan and we want to address the refactoring part of the plan as a first step.
What
Implement the refactoring of the STM library for the concatenation proof.
How
- Step 1: Code re-organization
- Create a
commitment_schememodule and movemerkle_treein it - Create a
signature_schememodule and movebls_multi_signatureandschnorr_signaturein it - Create a
proof_systemmodule and moveconcatenation_proofin it - Create a
coreorprotocolmodule and move all the other modules in it
- Create a
- Step 2: Code simplification
- Move errors to their belonging modules
- Remove the
future_proof_systemfeature and replace it with the existingfuture_snarkfeature - Limit usage of
<D: Digest>generics tomerkle_treemodule only (to be rechallenged) - Remove
BasicVerifierimplementation (and create a ticket for supporting this feature in a cleaner way in the future?) (to be rechallenged)
- Step 3: Implement SNARK-friendly changes for concatenation proof
- Update the Merkle tree to support multiple leaves (for concatenation and following proof systems)
- Update the key registration to support the new Merkle tree structure
- Move responsibility of creating single signature artifacts to the concatenation proof system (in the
proof_systemmodule)
Sub-issues
Metadata
Metadata
Assignees
Labels
cryptography 🔐Cryptography relatedCryptography relatedepic ⚔️Epic that gathers related tasksEpic that gathers related tasks