mirror of
https://github.com/luxfi/tss.git
synced 2026-10-30 15:14:51 +00:00
3.5 KiB
3.5 KiB
AI Assistant Knowledge Base
Last Updated: 2025-11-12 Project: Lux TSS Organization: Lux Industries
Project Overview
Lux TSS is a production-ready implementation of multi-party threshold signature schemes (TSS) for ECDSA and EdDSA. This library enables secure distributed key management where multiple parties collaborate to generate signatures without any single party having access to the complete private key. Based on the Gennaro-Goldfeder 2018 research paper.
Essential Commands
Development
# Install dependencies
go mod download
# Run tests
make test
# Generate pre-parameters for testing
go run test/preParams_test.go
# Build documentation
cd docs && pnpm install && pnpm build
# Run benchmarks
go test -bench=. ./...
Architecture
Core Components
- ECDSA: Full implementation of threshold ECDSA (secp256k1)
- EdDSA: Full implementation of threshold EdDSA (Edwards25519)
- Common: Shared protocol infrastructure (parties, messages, rounds)
- Crypto: Cryptographic primitives (Paillier, VSS, ZKPs, MTA)
Protocol Structure
- Keygen: Distributed key generation without trusted dealer
- Signing: Threshold signing using key shares
- Resharing: Dynamic group changes and share refresh
Security Features
- Feldman VSS for verifiable secret sharing
- Multiple zero-knowledge proofs (Schnorr, DLN, Range)
- Paillier encryption for MTA protocol
- Commitment schemes to prevent equivocation
Key Technologies
- Language: Go 1.19+
- Curves: secp256k1 (ECDSA), Edwards25519 (EdDSA)
- Crypto: math/big, crypto/elliptic, custom implementations
- Protocols: GG18 (Gennaro-Goldfeder 2018)
- Documentation: Fumadocs, Next.js 16, MDX
Development Workflow
Testing Approach
- Unit tests for each cryptographic primitive
- Integration tests for complete protocols
- Concurrent party simulation tests
- Property-based testing for invariants
Code Organization
/ecdsa/ - ECDSA implementation
/keygen/ - Key generation protocol
/signing/ - Signing protocol
/resharing/ - Resharing protocol
/eddsa/ - EdDSA implementation (parallel structure)
/crypto/ - Cryptographic primitives
/common/ - Shared utilities
/tss/ - Core TSS abstractions
/docs/ - Documentation site
Documentation Updates (2025-11-12)
Enhanced Documentation
- index.mdx: Comprehensive introduction with architecture diagrams, protocol flows, use cases
- api.mdx: Complete API reference with all core types, functions, and examples
- security.mdx: Detailed security guide covering threat model, best practices, vulnerabilities
- getting-started.mdx: Step-by-step tutorial with working code examples
Documentation Build
- Successfully configured Fumadocs with Next.js 16
- Fixed frontmatter validation issues
- Build output: 7 static pages generated
- Location:
/docs/.next/(production build ready)
Context for All AI Assistants
This file (LLM.md) is symlinked as:
.AGENTS.mdCLAUDE.mdQWEN.mdGEMINI.md
All files reference the same knowledge base. Updates here propagate to all AI systems.
Rules for AI Assistants
- ALWAYS update LLM.md with significant discoveries
- NEVER commit symlinked files (.AGENTS.md, CLAUDE.md, etc.) - they're in .gitignore
- NEVER create random summary files - update THIS file
Note: This file serves as the single source of truth for all AI assistants working on this project.