Skip to content

Conversation

@zenopie
Copy link

@zenopie zenopie commented Dec 8, 2025

Summary

Adds a new x/tss module implementing FROST (Flexible Round-Optimized Schnorr Threshold) signatures for distributed key management among validators inside of wasm.

Implemented

  • Distributed Key Generation (DKG) via vote extensions
  • Threshold signature requests from CosmWasm contracts
  • Encrypted on-chain storage for validator key fragments
  • ABCI vote extension handlers for validator coordination

TODO

  • Key reshare functionality (for validator set changes)
  • Delete tss key (message and handler)
  • Unit tests
  • Integration tests
  • testnet

zenopie and others added 2 commits December 7, 2025 18:40
Implements FROST threshold signatures for Secret Network:
- Distributed Key Generation (DKG) with t-of-n threshold
- Threshold signing with two-round protocol
- On-chain encrypted key share storage
- Vote extension integration for validator participation
- CosmWasm contract callbacks

Full integration:
- app/keepers/keepers.go: TssKeeper initialized
- app/modules.go: TSS module registered
- app/app.go: Vote extensions, proposal handlers, validator identity loading
- Compute keeper connected for contract callbacks

Remaining: Generate protos with `bash ./scripts/protocgen.sh`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Generates pb.go files from proto definitions for:
- genesis.pb.go: Genesis state serialization
- module.pb.go: Module config
- query.pb.go/query.pb.gw.go: Query service and gRPC gateway
- tx.pb.go: Transaction messages
- types.pb.go: Core types (KeyGenRequest, SignRequest, etc.)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@zenopie
Copy link
Author

zenopie commented Dec 9, 2025

currently TSS is happening outside of the enclave, would be a huge security boost if keyshare decryption happened in the TEE

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