Skip to content

Adding DKG to Polkadot/Substrate #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft

Conversation

coax1d
Copy link

@coax1d coax1d commented May 19, 2025

βœ„ -----------------------------------------------------------------------------

Thank you for your Pull Request! πŸ™ Please make sure it follows the contribution guidelines outlined in this
document
and fill out the
sections below. Once you're ready to submit your PR for review, please delete this section and leave only the text under
the "Description" heading.

Description

This is the implementation of the a-DKG pvss scheme for Polkadot. This allows for validators to enact a Distributed Key Generation Protocol ontop of the Barreto-Lynn-Scott curve BLS-381. Validators can via a gossip protocol setup a shared Public key with which all validators contain a share of the secret key. Validators can engage in a signing process using their secret share s with which they can sign a message m with aggregated secret key SK if threshold t (2/3 of validators) is met. This message can verified against aggregate public key PK. The aggregation of shares is done by collators of the Bridge Hub System Parachain. Validators will post shares to the BridgeHub Collator set.

Integration

In depth notes about how this PR should be integrated by downstream projects. This part is mandatory, and should be
reviewed by reviewers, if the PR does NOT have the R0-Silent label. In case of a R0-Silent, it can be ignored.

Review Notes

In depth notes about the implementation details of your PR. This should be the main guide for reviewers to
understand your approach and effectively review it. If too long, use
<details>
.

Imagine that someone who is depending on the old code wants to integrate your new code and the only information that
they get is this section. It helps to include example usage and default value here, with a diff code-block to show
possibly integration.

Include your leftover TODOs, if any, here.

Checklist

  • My PR includes a detailed description as outlined in the "Description" and its two subsections above.
  • My PR follows the labeling requirements of this project (at minimum one label for T required)
    • External contributors: ask maintainers to put the right label on your PR.
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

You can remove the "Checklist" section once all have been checked. Thank you for your contribution!

βœ„ -----------------------------------------------------------------------------

@coax1d coax1d self-assigned this May 19, 2025
@coax1d coax1d changed the title Adding DKG service to Polkadot/Substrate Adding DKG to Polkadot/Substrate May 19, 2025
@coax1d coax1d marked this pull request as draft May 21, 2025 08:08
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.

1 participant