mirror of
https://github.com/luxfi/threshold.git
synced 2026-10-30 15:15:53 +00:00
Adds the Tier A formal-artifact cluster for protocols/bls (Lux profile of Boldyreva 2003 threshold BLS over BLS12-381). Mirrors luxfi/pulsar's Tier A structure adapted to BLS's algebraically minimal threshold construction (Lagrange + G2-linearity, no nonce sampling, no MtA, no ZK). - proofs/easycrypt/BLS_Threshold_N1.ec — Class N1 byte-equality reduction - proofs/easycrypt/BLS_Threshold_N1_Refinement.ec — partial_sign + aggregate - proofs/easycrypt/BLS_Threshold_N4.ec — DKG public-key preservation - proofs/easycrypt/lemmas/BLS_Threshold_CT.ec — constant-time obligations - proofs/easycrypt/AXIOM-INVENTORY.md — honest enumeration - proofs/lean-easycrypt-bridge.md — Lean↔EC bridge map - jasmin/lib/ + jasmin/single-party/ + jasmin/threshold/ — Jasmin scaffolds BLS-threshold has the smallest formal-methods surface of the three classical threshold protocols. Admit budget: 1/1 (same one-line group-identity admit as FROST_N4, CGGMP21_N4, Pulsar_N4). Production deployment note: ships with trusted-dealer keygen only; DKG gap disclosed in SUBMISSION-STATUS.md §3.3.
23 lines
616 B
Plaintext
23 lines
616 B
Plaintext
// BLS12-381 shared parameters (Lux profile).
|
|
|
|
// BLS12-381 scalar field byte length.
|
|
param int BLS_SCALAR_BYTES = 32;
|
|
|
|
// G1 compressed byte length (public-key group).
|
|
param int BLS_G1_COMPRESSED_BYTES = 48;
|
|
|
|
// G2 compressed byte length (signature group).
|
|
param int BLS_G2_COMPRESSED_BYTES = 96;
|
|
|
|
// Signature byte length (compressed G2 point).
|
|
param int BLS_SIG_BYTES = 96;
|
|
|
|
// Public-key byte length (compressed G1 point).
|
|
param int BLS_PK_BYTES = 48;
|
|
|
|
// Maximum supported quorum size for the threshold layer.
|
|
param int BLS_MAX_QUORUM = 1024;
|
|
|
|
// Maximum supported message length.
|
|
param int BLS_MAX_MSG = 4096;
|