High level summary
The open fronts that the crypto team is working on are:
- Mithril: We explored whether some uses of
transmute
could be removed, but it resulted in considerable regression. - cardano-base: Some issues with Nix are blocking merge of VRF update. BLS12-381 benchmarks where quite satisfactory. Next steps will be defined by cryptography strategic decision.
- KES agent: An inconsistency between
contra-tracer
available in hackage and the one in cardano-haskell delayed our progress. Now we are adapting PRs to thecontra-tracer
used by consensus.
Low level summary
Mithril
- We removed the usage of transmute in mithril-core (and exchanged it with ser/deser, as unfortunately there is no other way with the library we currently use). However, the benchmarks showed an important regression - ~30% worse on average PR#675. We decided to keep transmute, but instead group all its usage in helper functions, to facilitate auditing.
- We are writing a RFP for the audit of the core library.
cardano-base
- A problem with Nix is blocking merge of PR#341
- Plutus team ran benchmarks of BLS12-381 built-ins. The results are satisfactory, and while we have yet not implemented SNARK verification in plutus, it all seems to point that we'll be able to verify some proofs in a single script execution.
- Team is fully digesting the Plonk paper.
- There's been a lot of discussions (with internal and external projects) regarding pairings in plutus, and what elliptic curve should be used.
KES agent
- A little unforseen delay has been caused by a mismatch in the use of
contra-tracer
. The one in hackage and that in cardano-haskell are not compatible. Unfortunately, for secure forgetting we use that of hackage, and now realised. We are doing the change, but still the CI is not happy. - The same was needed for the KES agents prerequisites PR#317.
- We've started working with the agent itself again, upgrading the cardano-base dependency and adding ouroboros-network-framework dependency