Tenzro
MPC

Pre-signing + PKR Scheduler.

DKLS23 round 1 is the offline phase — it depends on the keyshare and a fresh randomness commitment, not on the message. Buffering pre-computed round-1 tuples cuts perceived signing latency ~30–40% for hot bridge flows; the PKR scheduler rotates shares on a governance-set cadence.
STATUS
Testnet
CRATES
tenzro-bridge::mpc::{presign, pkr_scheduler}
ALGO
DKLS23 (Silence Labs)
TYPE
Threshold ECDSA
01

Pre-signing pool

PresignPoolConfig {
    group_id, floor, ceiling, max_age_secs,
}

// One-shot per tuple: reuse across two messages is unsafe.
pool.deposit(tuple)?
pool.claim(now_secs) -> Option<PresignTuple>
pool.rotate_epoch(new_epoch)  // drains on PKR
02

PKR cadence

PkrCadence {
    rotate_every_secs: 86400,        // 1 day default
    max_sigs_per_epoch: 100_000,     // hard cap per epoch
}

scheduler.tick(now_secs) -> Option<RotationTrigger>
scheduler.force_rotate(now_secs)
scheduler.commit_rotation(&trigger, now_secs)?
03

Audit

Lifetime production and consumption counters are exposed via tenzro_mpcPresignStats and tenzro_mpcPkrStatus RPCs. Per-signing audit records persist to CF_MPC_SIGN_AUDIT for forensic review.

Related
← All docs