cardano-base
cardano-base copied to clipboard
KES Improvements
What
Implement a more efficient representation of KES signatures.
Why
Current implementation is not the most efficient, and we can get a ~30% reduction in KES signatures size. KES go in the block header, so reducing the size of this is of high interest.
Functional requirements
- Implement an improved Haskell KES primitive
- Adapt node/ledger to use these new versions
External dependencies
- Audit from bcryptic
- Consensus/Ledger
- Performance (no regression in testing/block propagation)
Acceptance Criteria
We have a positive audit accepted by CyberSec. The current testing framework sees no effects. No regression in benchmarks.
Risks
Testing fails (low risks)
Definition of Done
The new node version uses the improved KES implementation
Working Assumptions
- Hard fork required
- This change will go together with the VRF improvements
Cardano base code already implemented in #244, but still not in use.