Expand description
Information sharing:
https://github.com/o1-labs/proof-systems defines tools for interfacing with the mina blockchain
(pretty sure that) the actual internals of the mina blockchain such as signature verification for
contracts with the signature permission happens through the OCaml implementation.
There are 3 relevant crates in the proof-systems, signer which uses hasher and curves
Do not use the pasta-curves from crates.io. That’s different implementation of pasta by the
ZCash Foundation (the won’t match up nicely). The above 3 crates are not on crates.io and are
used directly from github.
The goal is to replace the functionality of signer with the implementation of frost-core
found in this file! So the tests will generate a signature with our implementation and try to
verify it with the signer’s verify method. We do not use signer at all in our
implementation. We do use hasher which provides the hash functions used by signer and our
implementation of frost-core.
Re-exports§
pub use frost_core as frost;
Modules§
- errors
- Error types for the frost-bluepallas library
- hasher
- Mina-compatible hashing utilities for FROST using the Pallas curve.
- keys
- This module contains utilities for FROST key management using the BluePallas curve
- negate 🔒
- Utilities for negating Y coordinates in FROST commitments using the BluePallas curve. This mimics Mina’s handling of point negation.
- round1
- FROST(Pallas, Posiedon) Round 1 functionality and types.
- round2
- FROST(Pallas, Posiedon) Round 2 functionality and types, for signature share generation.
- signing_
utilities - Convenience functions to generate FROST signatures from various inputs.
Structs§
- Blue
Pallas - The BluePallas ciphersuite, which uses the Pallas curve and Poseidon hash function.
- Pallas
Group - PallasGroup implements the FROST group interface for the Pallas curve
- Pallas
Scalar Field - PallasScalarField implements the FROST field interface for the Pallas scalar field
Enums§
- Field
Error - An error related to a scalar Field.
- Group
Error - An error related to a Group (usually an elliptic curve or constructed from one) or one of its Elements.
Constants§
Traits§
- Challenge
Message - Message contract required by the BluePallas challenge logic.
- Ciphersuite
- A FROST ciphersuite specifies the underlying prime-order group details and cryptographic hash function.
- Field
- A prime order finite field GF(q) over which all scalar values for our prime order group can be multiplied are defined.
- Group
- A prime-order group (or subgroup) that provides everything we need to create and verify Schnorr signatures.
Functions§
Type Aliases§
- Error
- Identifier
- Signature
- A Schnorr signature on FROST(Pallas, Posiedon).
- Signing
Key - A signing key for a Schnorr signature on FROST(Pallas, Posiedon).
- Signing
Package - Generated by the coordinator of the signing operation and distributed to each signing party.
- Verifying
Key - A valid verifying key for Schnorr signatures on FROST(Pallas, Posiedon).