pub struct RootSigningNonces {
pub frost_identifier: u16,
pub ceremony_id: String,
pub artifact_hash: Hash256,
pub commitment_hash: Hash256,
pub nonces: Vec<u8>,
}Expand description
One signer’s round-one SECRET signing nonces. LOCAL-ONLY — this artifact
must never be broadcast, archived off the signer, copied to the coordinator,
or submitted through the portal. In FROST, disclosure of these nonces
together with the signer’s later signature share can compromise the signer’s
secret key share. It derives Serialize/Deserialize only so a signer can
persist it to a 0600 local file between sign_commit and sign_share; the
distinct type name keeps it from being confused with relay-safe data.
Fields§
§frost_identifier: u16Owner’s FROST identifier.
ceremony_id: StringCeremony these nonces were generated for; sign_share rejects reuse in a
different ceremony.
artifact_hash: Hash256blake3 of the exact root artifact (message) these nonces commit to.
sign_share requires the message it signs to hash to this value, so a
given nonce set can only ever sign its one bound artifact — this is what
prevents a coordinator from getting the same nonces to sign two different
messages (FROST nonce reuse exposes the signer’s key share).
commitment_hash: Hash256blake3 of the public commitment these nonces pair with. sign_share
requires this to equal the hash of the commitment bound for this signer in
the signing package.
nonces: Vec<u8>Serialized secret signing nonces (retained by the signer; never shared).
Trait Implementations§
Source§impl Clone for RootSigningNonces
impl Clone for RootSigningNonces
Source§fn clone(&self) -> RootSigningNonces
fn clone(&self) -> RootSigningNonces
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RootSigningNonces
impl Debug for RootSigningNonces
Source§impl<'de> Deserialize<'de> for RootSigningNonces
impl<'de> Deserialize<'de> for RootSigningNonces
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RootSigningNonces
Source§impl PartialEq for RootSigningNonces
impl PartialEq for RootSigningNonces
Source§fn eq(&self, other: &RootSigningNonces) -> bool
fn eq(&self, other: &RootSigningNonces) -> bool
self and other values to be equal, and is used by ==.