Skip to content

Latest commit

 

History

History
119 lines (89 loc) · 4.04 KB

File metadata and controls

119 lines (89 loc) · 4.04 KB

FrostDAO - Hierarchical Threshold Signatures for Bitcoin

Fork from nickfarrow/yushan

🏆 Winner at BTC++ Taipei 2025

  • 1st Place Overall
  • Best Use of Cryptography

No single party ever knows the full private key.

FrostDAO implements FROST threshold signatures with Hierarchical TSS (HTSS) for Bitcoin Taproot. Create t-of-n multisig wallets with optional rank-based access control.

Features

  • Threshold Signatures - FROST-based t-of-n without trusted dealer
  • Hierarchical TSS - Rank-based signing (CEO must approve)
  • HD Derivation - BIP-86 Taproot receive/change addresses from one DKG wallet
  • Resharing - Refresh shares without changing address
  • Share Recovery - Reconstruct lost shares from t parties
  • BIP-39 Backup - 24-word mnemonic for share recovery

Installation

git clone https://github.com/cheng-chun-yuan/frostdao.git
cd frostdao
cargo install --path .

Quick Start

Terminal UI (Recommended)

frostdao tui

CLI: Create 2-of-3 Wallet

# Each party runs Round 1
frostdao keygen-round1 --name treasury --threshold 2 --n-parties 3 --my-index 1

# Exchange outputs, run Round 2
frostdao keygen-round2 --name treasury --data '<all_round1_outputs>' --encrypt

# Finalize
frostdao keygen-finalize --name treasury --data '<round2_outputs_for_this_party>'

# Check address and balance
frostdao dkg-address --name treasury
frostdao dkg-balance --name treasury

Send Transaction

# TUI guides wallet review, test-chain sends, and Nostr proposal consent
frostdao tui
# Navigate to wallet → Send Transaction

Documentation

Document Description
Showcase Walkthrough path, code tour, and verification map
Run Guide Current build, test, TUI, CLI, TSS, HTSS, reshare, recovery, and Nostr usage
CLI Reference All CLI commands
TUI Keymap Unified terminal keyboard shortcuts
Backup Guide Share mnemonic, manifest, verification, and storage guidance
Protocols Current TSS, HTSS, DKG, signing, derivation, reshare, and recovery overview
Nostr Protocol Relay message protocol for DKG, signing, and resharing
Miniscript Optional Taproot policy and agent payment draft support
ROAST And Hardware Robust coordinator and hardware/PSBT integration direction
Security Model Security invariants, threat model, and mainnet cautions
Production Readiness Release gates, runbooks, and mainnet criteria
User Flow Multi-device UX flow for TSS, HTSS, signing, reshare, and recovery

Architecture

frostdao/
├── src/
│   ├── protocol/     # DKG, signing, reshare, recovery
│   ├── crypto/       # Birkhoff, HD, helpers
│   ├── btc/          # Bitcoin, Schnorr, addresses
│   └── tui/          # Terminal UI
├── docs/             # Documentation
└── tests/            # Integration tests

Quality

./scripts/doctor.sh
./scripts/quality.sh
./scripts/quality.sh --full

Security

  • Keys stored in ~/.frostdao/ (not in repo)
  • Choose t > n/2 to prevent minority attacks
  • Never reuse nonces - causes key leakage
  • Security audit recommended before production

References

License

MIT