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 PKR02
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