ferveo
ferveo copied to clipboard
Main development tasks and choices tracking list
Tracking all major tasks and decisions to be made, both roughly in order of importance.
Decisions:
- [ ] ~~Choose a BLS signature crate/library/implementation and/or choose to write a new one~~ #23
- [ ] Choose symmetric key crypto primitives #10
- [ ] Choose signature scheme for DKG participant identities #11
Tasks:
- [ ] ~~Implement integrate BLS signatures~~ #23
- [ ] Implement group secret key compatible signature (if necessary)
- [x] Integrate threshold decryption crate and/or contribute upstream #26
- [ ] Side-channel analysis #16
- [x] Implement loading of trusted setup #17
- [ ] Implement all scalability and performance enhancements #5
- [ ] Implement key refresh #18
- [ ] Implement randomness beacon #27
- [ ] #54
- [ ] #77
- [ ] #78
- [ ] #79
We're also dependent on some external tasks:
- [ ] Improve arkworks Fp12 performance https://github.com/arkworks-rs/algebra/issues/121
- [x] Improve arkworks subgroup check #14
- [ ] Contribute tests to arkworks hash-to-curve https://github.com/arkworks-rs/algebra/pull/343
- [ ] Use hash-to-field/hash-to-curve to arkworks https://github.com/arkworks-rs/algebra/pull/343
Main blockers at the moment:
- Hash to curve still not implemented
- Key-committing AEAD implementation needed
- Operations that can be parallelize should be using rayon or similar