Skip to content

Exchange storage key DKG artifacts over Iroh - #2434

Open
huitseeker wants to merge 14 commits into
issue-2426-golden-storage-key-bootstrapfrom
issue-2426-iroh-docs-bulletin-board
Open

Exchange storage key DKG artifacts over Iroh#2434
huitseeker wants to merge 14 commits into
issue-2426-golden-storage-key-bootstrapfrom
issue-2426-iroh-docs-bulletin-board

Conversation

@huitseeker

@huitseeker huitseeker commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Stacked on #2433.

This replaces manual public file exchange with one shared Iroh document. One operator starts dkg board from the genesis file, threshold, and epoch, then sends the private ticket to each validator through the trusted bootstrap channel. Each operator runs dkg run with that ticket, the genesis file, its signing key, a private work directory, and an output directory.

The runners exchange signed public artifacts, resume after restarts, and write local storage key bundles. Operators compare the shared public output, keep each secret share private, and start validators only after every runner succeeds. An opt-in Compose check runs the full three-validator flow.

Changelog

[[entry]]
scope       = "validator"
impact      = "added"
description = "Adds an Iroh bulletin board for exchanging storage key DKG artifacts."

@huitseeker
huitseeker force-pushed the issue-2426-iroh-docs-bulletin-board branch from 1e1d453 to 4550f53 Compare August 4, 2026 17:48
@huitseeker
huitseeker marked this pull request as ready for review August 4, 2026 18:07
Comment thread bin/validator/src/main.rs Outdated
Comment thread compose/validator.yml Outdated
Comment thread bin/validator/src/commands/dkg/runner/tests.rs Outdated
Comment thread bin/validator/src/commands/dkg/tests.rs Outdated
Comment thread bin/validator/src/commands/dkg/runner.rs Outdated
Comment thread bin/validator/src/commands/dkg/board.rs
Comment thread docs/external/src/network-operator/validator.md Outdated
@Mirko-von-Leipzig

Copy link
Copy Markdown
Collaborator

I think broadly speaking this would benefit from an explanation/goal and having the code model that.

@huitseeker
huitseeker force-pushed the issue-2426-iroh-docs-bulletin-board branch from 3258fcb to 48e8586 Compare August 5, 2026 13:39
@huitseeker huitseeker changed the title Exchange Golden DKG artifacts over Iroh Exchange storage key DKG artifacts over Iroh Aug 5, 2026
@huitseeker
huitseeker force-pushed the issue-2426-iroh-docs-bulletin-board branch from df7aa83 to 008bd45 Compare August 5, 2026 23:24
@huitseeker
huitseeker force-pushed the issue-2426-iroh-docs-bulletin-board branch 2 times, most recently from 5abd9b9 to 3a27882 Compare August 6, 2026 16:17
@huitseeker
huitseeker force-pushed the issue-2426-iroh-docs-bulletin-board branch from 3a27882 to 54e06b2 Compare August 7, 2026 18:34
@huitseeker
huitseeker force-pushed the issue-2426-iroh-docs-bulletin-board branch from 54e06b2 to 95fc9f5 Compare August 7, 2026 18:46
@Mirko-von-Leipzig

Mirko-von-Leipzig commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

I'll need to dig into the actual DKG ceremony in more detail first; I'd also like to know what alternatives there are to a central board, or how this would operate for a live network key rotation. I imagine we would want something like this to share txs for new incoming validators etc.

This is beyond the purvey of this PR, but I need to just wrap my head around things.

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