Skip to content

feat: run VRF DKG during EdDSA safe MPC root creation - #9699

Merged
danielpeng1 merged 1 commit into
masterfrom
WCN-2584/eddsa-vrf-dkg-createkeychains
Sep 9, 2026
Merged

feat: run VRF DKG during EdDSA safe MPC root creation#9699
danielpeng1 merged 1 commit into
masterfrom
WCN-2584/eddsa-vrf-dkg-createkeychains

Conversation

@danielpeng1

Copy link
Copy Markdown
Contributor

Run the MPS VRF DKG inside existing EdDSA MPCv2 keygen rounds when creating a safe MPC root, and store both shares in the encrypted key material.

  • Gate the VRF path on safeId so ordinary EdDSA MPCv2 wallet creation is unchanged
  • Ride VRF messages as opaque blobs on MPCv2-R1/R2 (no new round values)
  • Decode BitGo VRF blobs with codecs and keep only that party’s p2p openings
  • Wrap signing + VRF shares in the CBOR envelope used for encryptedPrv / reducedEncryptedPrv
  • Write user, backup, and BitGo keys through the existing keychain helpers so safeId lands on all three

Tests

  • Envelope encode/decode for full and reduced shares
  • Ordinary createParticipantKeychain still encrypts bare base64 and does not set safeId
  • Safe user path encrypts the envelope and tags the keychain with safeId
  • BitGo path tags safeId and does not encrypt
  • VRF blob round-trip keeps only the recipient’s p2p messages
  • Malformed VRF blobs are rejected

Ticket: WCN-2584

@danielpeng1 danielpeng1 self-assigned this Sep 9, 2026
@linear-code

linear-code Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

WCN-2584

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

⚠️ Unit tests are failing on Node 26.x (Current release line, non-blocking). This is not an LTS version yet, so it does not block merge, but it signals an incompatibility to fix before Node 26.x becomes LTS.

View run

@danielpeng1
danielpeng1 marked this pull request as ready for review September 9, 2026 16:57
@danielpeng1
danielpeng1 requested review from a team as code owners September 9, 2026 16:57
@danielpeng1
danielpeng1 merged commit 487d1cd into master Sep 9, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants