# BFT-CRDT Oracle Network Demo A live demonstration of a decentralized oracle network using Byzantine Fault Tolerant Conflict-free Replicated Data Types (BFT-CRDTs). ## What This Demo Shows This demo simulates a network of 7 oracle nodes (5 honest, 2 Byzantine) that: - Submit price data independently without coordination - Handle network partitions gracefully - Filter out Byzantine manipulation attempts - Achieve consensus without a consensus protocol ## Running the Demo From the root of the `bft-crdt-experiment` directory: ```bash cargo run -p oracle-demo ``` ## What You'll See The demo runs for 30 seconds and shows: 1. **Real-time Price Submissions**: Each oracle submits ETH/USD prices every second 2. **Network Partitions**: Every 10 seconds, the network splits and heals 3. **Byzantine Behavior**: Two nodes attempt to manipulate prices (20% higher) 4. **Aggregated Results**: Despite attacks, the network maintains accurate pricing ## Key Observations - 🟢 **Honest nodes** submit prices around $2500 with small variance - 🔴 **Byzantine nodes** try to push prices to $3000 - The **aggregated price** remains accurate (~$2500) due to outlier detection - Network partitions don't break the system - nodes sync when reconnected ## How It Works 1. **Independent Submissions**: Each oracle fetches prices and submits attestations 2. **CRDT Propagation**: Nodes share attestations without needing agreement 3. **Outlier Detection**: IQR (Interquartile Range) method filters manipulated prices 4. **Weighted Aggregation**: Final price weighted by confidence and reputation ## Example Output ``` 📈 Current Network State: ------------------------ honest_1 sees: $2498.73 (confidence: 94%, sources: 6) honest_2 sees: $2499.15 (confidence: 94%, sources: 6) honest_3 sees: $2498.92 (confidence: 94%, sources: 6) honest_4 sees: $2499.31 (confidence: 94%, sources: 6) honest_5 sees: $2498.67 (confidence: 94%, sources: 6) byzantine_6 sees: $2499.02 (confidence: 94%, sources: 6) byzantine_7 sees: $2498.88 (confidence: 94%, sources: 6) 📊 Network Consensus: Average: $2498.95 Range: $2498.67 - $2499.31 Max Deviation: 0.03% ``` ## Why This Matters Traditional oracle networks require expensive consensus rounds for each price update. This demo shows how BFT-CRDTs enable: - **No Consensus Needed**: Oracles operate independently - **Byzantine Tolerance**: Malicious nodes can't corrupt the data - **High Frequency**: Updates every second vs every minute - **Lower Costs**: No consensus overhead ## Learn More See the [full documentation](../../docs/use-case-2-oracle-networks.md) for: - Detailed architecture - Smart contract integration - Production deployment guide - Security analysis