INNER CODE UNIT · Rust
z
ZcashFoundation/frost · frost-core/src/lib.rs:651
z = z + signature_share.to_scalar();
}
let signature = Signature {
R: group_commitment.0,
z,
};
// Verify the aggregate signature
let verification_result = pubkeys
.verifying_key
.verify(signing_package.message(), &signature);
// Only if the verification of the aggregate signature failed; verify each share to find the cheater.
// This approach is more efficient since we don't need to verify all shares
// if the aggregate signature is valid (which should be the common case).
match cheater_detection {
CheaterDetection::Disabled => {