From 6cf2a1814cdb6773fd16e5e72a47be417fa5824a Mon Sep 17 00:00:00 2001 From: Siavash Sameni Date: Fri, 27 Mar 2026 09:33:03 +0400 Subject: [PATCH] Move WebSocket to Phase 2, add Ethereum identity + ENS to roadmap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 1 complete (WASM interop was the last item). Phase 2 additions: - WebSocket real-time push - Ethereum-compatible dual-curve identity (secp256k1 + X25519) - MetaMask/Rabby wallet connect - ENS domain resolution (@vitalik.eth → Warzone identity) - Hardware wallet via existing secp256k1 support - Session key delegation (sign once per 30 days) Co-Authored-By: Claude Opus 4.6 (1M context) --- DESIGN.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/DESIGN.md b/DESIGN.md index d735414..b247849 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -424,15 +424,24 @@ warzone.wasm # browser client (via wasm-pack) - [x] OTP key replenishment - [x] Fetch-and-delete delivery - [x] 17 protocol tests -- [ ] **WebSocket real-time push** (replace HTTP polling with instant delivery) +- [x] WASM bridge for web↔CLI interop (same crypto on both clients) ### Phase 2 — Core Messaging +- [ ] WebSocket real-time push (replace HTTP polling with instant delivery) - [ ] Delivery receipts (sent, delivered, read) - [ ] File transfer (chunked, encrypted) - [ ] Multi-device support (device list signed by identity key) - [ ] Sender Keys for group encryption (replace per-member fan-out) - [ ] Group management (kick, leave, key rotation) - [ ] Message ordering and deduplication +- [ ] Ethereum-compatible identity (dual-curve: secp256k1 + X25519 from same BIP39 seed) + - Fingerprint = Ethereum address (Keccak-256 of secp256k1 pubkey) + - BIP44 paths: m/44'/60'/0'/0/0 (Ethereum), m/44'/1234'/0' (Warzone X25519) + - MetaMask/Rabby wallet connect (sign challenge → derive session) + - Hardware wallet support via existing secp256k1 (Ledger/Trezor) + - ENS domain resolution (@vitalik.eth → 0xd8dA... → Warzone identity) + - Crates: k256, tiny-keccak, ethers-rs/alloy for ENS resolution + - Session key delegation from hardware wallet (sign once per 30 days) - [ ] TUI client (ratatui) - [ ] Web client (WASM)