pub fn batch_verify(items: &[(&PublicKey, &[u8], &Sig)]) -> Result<()>Expand description
Batch-verify multiple signatures at once.
This is 3-8x faster than verifying signatures individually for large batches. Uses Arcanum’s optimized Ed25519 batch verifier with Straus’ multi-scalar multiplication algorithm.
§Arguments
items- Slice of (public_key, message, signature) tuples to verify
§Returns
Ok(())if all signatures are validErrif any signature is invalid (does not identify which one)
§Example
ⓘ
let items = events.iter()
.map(|e| (e.attester(), e.canonical_bytes(), e.signature()))
.collect::<Vec<_>>();
batch_verify(&items)?;