Function lightning::ln::chan_utils::derive_private_revocation_key[][src]

pub fn derive_private_revocation_key<T: Signing>(
    secp_ctx: &Secp256k1<T>,
    per_commitment_secret: &SecretKey,
    countersignatory_revocation_base_secret: &SecretKey
) -> Result<SecretKey, SecpError>
Expand description

Derives a per-commitment-transaction revocation key from its constituent parts.

Only the cheating participant owns a valid witness to propagate a revoked commitment transaction, thus per_commitment_secret always come from cheater and revocation_base_secret always come from punisher, which is the broadcaster of the transaction spending with this key knowledge.

Note that this is infallible iff we trust that at least one of the two input keys are randomly generated (ie our own).