Skip to content

Conversation

@hjeljeli32
Copy link
Contributor

This PR updates crypto-benchmarks.rs/Specification.md to align it with:

  • CIP-0164 (wire format + certificate structure)
  • The updated Leios design README (BLS MinSig rationale)

Summary of changes

  1. Explicitly state that Leios uses the BLS12-381 MinSig variant.
    This matches the performance rationale (smaller signature size, significantly smaller certificates)
  2. Clarify that eligibility proofs are not aggregated in Leios.
    • Each non-persistent voter produces an individual BLS signature (48B).
    • These proofs must be verified independently to enforce the sortition threshold.

@bwbush I’d appreciate your confirmation that:

  • specifying MinSig explicitly here is correct and consistent with the intended benchmarks, and
  • the clarification that eligibility proofs remain non-aggregated matches your understanding of the current design.

Thank you!

Copy link
Member

@ch1bo ch1bo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love the level of detail in the design decisions and implementation subsections! This is exactly what I thought would be great to cover in this document.

Some higher-level / introductory content could be potentially dropped or moved to the CIP (e.g. leios voting in a nutshell) - see my comment there. Similarly, making plans and identifying steps to realize this is commendable, but IMO not the right place here. I'd suggest to use Github issues and the roadmap project for that?

All-in-all the cryptography section is coming together nicely and you are setting a great example. Good job!

- A secret key ($sk$) is created to generate signatures for the corresponding signature scheme.
- The public key ($pk$) is securely derived from $sk$ and used to verify the corresponding signatures.
- A proof of possession ($PoP$) is generated for $sk$ to ensure key ownership.
> Note that keys are not rotated periodically, as forward security is not required for IBs, EBs, or votes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are no IBs in the current design.

This is also a very generic section and if you feel this level of detail is missing from the CIP, we should rather expand on it there. The Design document then should not need to re-hash the workflows over and over, but only provide further detail and rationale.

Should: be able to drop the "Leios voting in a nutshell" overview?

- With MinPk, certificates grow to around **12.7 kB**, still within Praos limits but significantly heavier for bandwidth, storage, and diffusion—especially given the number of certificates the system will handle over time.
- Since Leios produces far more **signatures** (votes and eligibility proofs) than public keys, the overall cost is driven by signature size rather than key size.
In summary, the Leios cryptography design therefore **fixes MinSig as the BLS12-381 variant**.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI I had a comment about this section in the other PR

In summary, the Leios cryptography design therefore **fixes MinSig as the BLS12-381 variant**.
### Implementation Plan
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Implementation Plan
### Implementation

It's not really a plan but how the concrete functionality is to be implemented in cardano-base (as the intro of the section says nicely)

>
> TODO: Contribution from crypto team.
### Roadmap
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather not have this in the design document, but instead on the Github project. Delivery cycles are not really defined here either. Please create issues as you see fit to cover further steps.

Do you think differently?

@ch1bo ch1bo requested a review from curiecrypt December 4, 2025 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants