Skip to content
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

add verifiable key resharing module #1

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

conduition
Copy link

@conduition conduition commented Feb 20, 2024

This PR implements Wang's Verifiable Secret Redistribution (VSR) Scheme to allow resharing of FROST shares, with protection against active adversaries. See ZcashFoundation#519 for research and justification. Also see ZcashFoundation#245 for related work.

This enables threshold modification, signer identifier changes, share revocation, and other cool downstream use-cases.

Also see ZcashFoundation#570, which was closed due to insufficient upstream bandwidth plus lack of formal proofs of security.

Warning

Chelsea points out that extending VSR into an environment with untrusted adversaries as co-signers is complicated. This should be addressed with a formal proof of security before this code goes into production. Without such a proof, this can only be used in environments where FROST signers trust each other.

conradoplg and others added 11 commits February 1, 2024 13:10
* frost-core: expose SigningKey::to/from_scalar()

* Update frost-core/CHANGELOG.md
…on#599)

Bumps [reviewdog/action-actionlint](https://github.com/reviewdog/action-actionlint) from 1.40.0 to 1.41.0.
- [Release notes](https://github.com/reviewdog/action-actionlint/releases)
- [Commits](reviewdog/action-actionlint@v1.40.0...v1.41.0)

---
updated-dependencies:
- dependency-name: reviewdog/action-actionlint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.4 to 4.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v3.1.4...v4.0.1)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5 to 6.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](release-drafter/release-drafter@v5...v6)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ation#610)

---
updated-dependencies:
- dependency-name: curve25519-dalek
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The new file was missing from a hardcoded list of
files whose code is duplicated automatically for
every ciphersuite crate.
The gencode utility does not copy the top-level
module header comment.
@conduition
Copy link
Author

The extra commits here are from upstream ZCashFoundation/frost

@conduition conduition marked this pull request as draft February 20, 2024 02:34
@conduition
Copy link
Author

Please don't merge this yet. I'm still working on adding additional features, like per-commitment and per-share verification (so blame can be assigned for misbehaving peers)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants