synor/docs/PLAN/PHASE7-ProductionReadiness/01-Milestone-02-MainnetLaunch.md
Gulshan Yadav 3041c6d654 feat(crypto-wasm): add deterministic Dilithium3 key derivation and hybrid signatures
This commit enables full wallet recovery from BIP-39 mnemonics by implementing
deterministic Dilithium3 key derivation using HKDF-SHA3-256 with domain separation.

Changes:
- crates/synor-crypto-wasm: Implement deterministic Dilithium keygen
  - Use HKDF with info="synor:dilithium:v1" for key derivation
  - Enable pqc_dilithium's crypto_sign_keypair via dilithium_kat cfg flag
  - Add proper memory zeroization on drop
  - Add tests for deterministic key generation

- apps/web: Update transaction signing for hybrid signatures
  - Add signTransactionHybrid() for Ed25519 + Dilithium3 signatures
  - Add createSendTransactionHybrid() for quantum-resistant transactions
  - Update fee estimation for larger hybrid signature size (~5.5KB/input)
  - Maintain legacy Ed25519-only functions for backwards compatibility

- WASM module: Rebuild with deterministic keygen
  - Update synor_crypto_bg.wasm with new implementation
  - Module size reduced to ~470KB (optimized)

- Documentation updates:
  - Update mobile wallet plan: React Native -> Flutter
  - Add testnet-first approach note
  - Update explorer frontend progress to 90%
2026-01-10 05:34:26 +05:30

187 lines
4.5 KiB
Markdown

# Phase 7, Milestone 2: Mainnet Launch
> Preparation and execution of mainnet launch
**Status**: ⏳ Blocked (Waiting for ecosystem completion)
**Priority**: Critical
**Components**: All
---
## Overview
Finalize mainnet parameters, conduct genesis ceremony, establish initial token distribution, and deploy production infrastructure.
> **Important:** MAINNET launch is blocked until:
> 1. All ecosystem applications are developed and deployed (wallets, explorer, website)
> 2. TESTNET has been running with 99.9% uptime for 30+ days
> 3. All applications are tested and validated on TESTNET
> 4. External security audits are complete
---
## Tasks
### Task 2.1: Finalize Mainnet Parameters
- [ ] Final block time (target: 1s)
- [ ] Final K parameter (target: 18)
- [ ] Maximum block size
- [ ] Initial difficulty
- [ ] Pruning parameters
- [ ] Fee structure
**Files:**
- `crates/synor-network/src/config.rs`
- `apps/synord/src/config.rs`
**Mainnet Parameters:**
| Parameter | Value | Rationale |
|-----------|-------|-----------|
| Chain ID | 0 | Mainnet identifier |
| Block Time | 1s | Balance throughput/latency |
| K Parameter | 18 | Security margin |
| Max Block Size | 1MB | Initial conservative limit |
| Pruning Depth | 100,000 | ~27 hours of blocks |
### Task 2.2: Genesis Ceremony
- [ ] Generate genesis block parameters
- [ ] Multi-party computation for randomness
- [ ] Distribute genesis block
- [ ] Verify genesis hash across parties
- [ ] Publish genesis specification
**Ceremony Participants:**
- Core team members (3)
- Community validators (5)
- External auditors (2)
**Ceremony Steps:**
1. Generate random seed using MPC
2. Create genesis block with allocations
3. All parties compute genesis hash
4. Verify hashes match
5. Sign genesis specification
6. Publish and archive
### Task 2.3: Initial Token Distribution
- [ ] Finalize allocation percentages
- [ ] Create vesting schedules
- [ ] Deploy distribution contracts
- [ ] Verify all addresses
- [ ] Execute initial transfers
**Token Distribution:**
| Allocation | Percentage | Vesting |
|------------|------------|---------|
| Public Sale | 30% | None |
| Team | 15% | 4 years, 1 year cliff |
| Development | 20% | 3 years linear |
| Community | 25% | Various programs |
| Treasury | 10% | DAO controlled |
### Task 2.4: Launch Infrastructure
- [ ] Deploy mainnet seed nodes
- [ ] Set up monitoring infrastructure
- [ ] Configure alerting systems
- [ ] Establish incident response
- [ ] Create status page
**Infrastructure:**
| Component | Count | Location |
|-----------|-------|----------|
| Seed nodes | 5 | Global (US, EU, Asia x3) |
| RPC nodes | 3 | Major cloud providers |
| Archive nodes | 2 | Cold storage backup |
**Monitoring:**
- Prometheus + Grafana for metrics
- PagerDuty for alerting
- status.synor.cc for public status
---
## Validation
### Pre-Launch Checklist
```bash
# Verify all tests pass
cargo test --workspace --release
# Verify benchmarks meet targets
cargo bench --workspace
# Security scan
cargo audit
cargo deny check
# Build release binaries
cargo build --workspace --release
# Verify reproducible builds
./scripts/reproducible-build.sh
```
### Validation Agents
| Agent | Purpose |
|-------|---------|
| `code-reviewer` | Final code review |
| `pr-test-analyzer` | Test coverage verification |
### Launch Criteria
- [ ] All security audit issues resolved
- [ ] Bug bounty program active
- [ ] 99.9% uptime on testnet for 30 days
- [ ] All genesis participants verified
- [ ] Documentation complete
- [ ] Community notification sent
### Go/No-Go Checklist
| Category | Criteria | Status |
|----------|----------|--------|
| Security | No critical vulnerabilities | Pending |
| Stability | 30 days testnet uptime | Pending |
| Performance | Benchmarks met | ✅ |
| Documentation | All docs complete | ✅ |
| Infrastructure | All nodes deployed | Pending |
---
## Launch Day Procedure
1. **T-24h**: Final go/no-go decision
2. **T-12h**: Team on standby
3. **T-6h**: Final testnet freeze
4. **T-1h**: Genesis block generation
5. **T-0**: Genesis ceremony
6. **T+15m**: Seed nodes start
7. **T+30m**: RPC endpoints live
8. **T+1h**: Public announcement
---
## Rollback Plan
If critical issues discovered:
1. Alert all node operators
2. Halt mining recommendations
3. Identify root cause
4. Deploy fix or rollback
5. Coordinate restart
---
## Acceptance Criteria
1. Genesis block created and verified
2. Seed nodes running and synced
3. Initial distribution complete
4. Monitoring active
5. No critical issues in first 24h
---
*Target: Q2 2026*