Add GG20 one-round signing support for tss-lib v2#2
Open
boldbitcoin wants to merge 6 commits intomasterfrom
Open
Add GG20 one-round signing support for tss-lib v2#2boldbitcoin wants to merge 6 commits intomasterfrom
boldbitcoin wants to merge 6 commits intomasterfrom
Conversation
added 6 commits
December 24, 2025 16:25
- Add OneRoundData to signature.proto with BigR, BigRBarJ, BigSJ maps - Implement NewLocalPartyWithOneRoundSign for one-round mode - Add FinalizeGetOurSigShare and FinalizeGetAndVerifyFinalSig functions - Modify rounds 1, 5, 7, 8 to handle one-round mode (m == nil) - Add conditional verification for BigRBarJ/BigSJ (v2 protocol limitation) - Store k_i, r*sigma_i, BigR, BigRBarI, BigSI for one-round finalization - Update go.mod to Go 1.20 for protobuf compatibility This implementation enables one-round signing where parties: 1. Run pre-processing rounds (1-8) without message 2. Exit with OneRoundData containing intermediate values 3. Later combine s_i shares to produce final signature Note: v2's protocol structure doesn't expose k_j/sigma_j from other parties, so BigRBarJ/BigSJ verification is conditionally skipped (security maintained via ecdsa.Verify)
- Add gg20-one-round-v2 branch to workflow triggers - Switch to ubuntu-latest for better CI performance and cost - Add protoc and protoc-gen-go installation steps (required for protobuf generation) - Generate protobuf files before running tests (make protob) - Update actions/setup-go to v4 - Add timeout for test execution (90 minutes) - Fix PATH environment variable for protoc-gen-go
- Upgrade Go from 1.20 to 1.21 (required for protobuf generated code using min() function) - Pin protoc-gen-go to v1.31.0 to match go.mod protobuf version - Fix PATH setup for protoc-gen-go using GITHUB_PATH - Update go.mod to require Go 1.21
This reverts commit 9ba552c.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This implementation enables one-round signing where parties:
Note: v2's protocol structure doesn't expose k_j/sigma_j from other parties, so BigRBarJ/BigSJ verification is conditionally skipped (security maintained via ecdsa.Verify)