-
Notifications
You must be signed in to change notification settings - Fork 4
PRD-20: Key Refresh / Share Rotation Protocol #13
Copy link
Copy link
Open
Labels
P0Production blocker priorityProduction blocker priorityphase-2Go-live minimumGo-live minimumprdProduct requirement documentProduct requirement document
Description
Implement CGGMP24 key refresh as an interactive 3-party protocol to rotate all shares while preserving the same public key and ETH address.
Acceptance Criteria
-
cggmp24::key_refresh()exposed in WASM and native binary -
IThresholdSchemehascreateRefreshSession,processRefreshRound, anddestroyRefreshSessionmethods - Full 3-party refresh completes in under 30s (WASM) or 5s (native)
- After refresh, shared public key and ETH address are unchanged
- After refresh, old shares cannot co-sign with new shares
- After refresh, any 2 new shares can co-sign successfully
- Server Vault share updated atomically;
share_versionincrements - User share re-encrypted in browser and uploaded
- CLI signer share file re-encrypted and saved
-
refresh_historytable records all attempts with status - Failed refresh leaves all shares unchanged (old shares still work)
- Concurrent refresh attempts on the same signer are rejected
- All key material buffers wiped in
finallyblocks - No share bytes in server logs
Tasks
- Add
refresh.rsto WASM crate withcggmp24::key_refresh() - Add
refreshsubcommand to native binary - Add refresh methods to
IThresholdScheme+ implement inCGGMP24Scheme - Integration test: 3-party WASM refresh preserves public key
- Database migration:
share_versioncolumn +refresh_historytable -
RefreshService+RefreshControllerin server - Browser refresh flow in
browser-signer.ts - CLI
tw refreshcommand - Dashboard UI: refresh button on signer detail page
- Server integration tests + failure/rollback tests
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P0Production blocker priorityProduction blocker priorityphase-2Go-live minimumGo-live minimumprdProduct requirement documentProduct requirement document