Skip to content

Conversation

@boldbitcoin
Copy link

  • 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)

bbtc 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.
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