# Bond Sizing Documentation ## Overview This document describes the bond sizing mechanism for the trustless bridge system, including rationale, calculations, and optimization recommendations. ## Current Bond Sizing ### Formula ``` bondAmount = max(depositAmount * 1.1, 1 ETH) ``` Where: - `depositAmount`: Amount of the deposit - `1.1`: Bond multiplier (110%) - `1 ETH`: Minimum bond amount ### Rationale 1. **Economic Security**: Bond must exceed potential profit from fraud 2. **Minimum Bond**: Ensures meaningful bond even for small deposits 3. **Scalability**: Bond scales with deposit amount ## Bond Analysis ### Small Deposits (< 1 ETH) - Bond = 1 ETH (minimum) - Bond ratio > 100% of deposit - Higher security margin for small deposits ### Medium Deposits (1-10 ETH) - Bond = depositAmount * 1.1 - Bond ratio = 110% of deposit - Standard security margin ### Large Deposits (> 10 ETH) - Bond = depositAmount * 1.1 - Bond ratio = 110% of deposit - Consistent security margin regardless of size ## Attack Cost Analysis ### Attack Scenario **Fraudulent Claim**: 1. Relayer submits claim for non-existent deposit 2. Bond posted: `depositAmount * 1.1` 3. Gas cost: ~0.001 ETH (estimate) 4. Total cost: `bond + gas` **If Challenged**: - Bond slashed: 50% to challenger, 50% burned - Relayer loses: `bondAmount` - Net loss: `bondAmount - 0` (no profit from fraud) **Profit from Successful Fraud**: - Would receive: `depositAmount` - But bond required: `depositAmount * 1.1` - Net: `depositAmount - (depositAmount * 1.1) = -0.1 * depositAmount` **Result**: Fraud is unprofitable ## Optimization Recommendations ### Dynamic Bond Sizing Consider dynamic bond sizing based on: - Historical fraud rates - Network conditions - Deposit amount tiers ### Tiered Structure ``` if depositAmount < 0.1 ETH: bond = 1 ETH (1000%+ ratio) elif depositAmount < 1 ETH: bond = 1 ETH (100%+ ratio) elif depositAmount < 10 ETH: bond = depositAmount * 1.1 (110% ratio) else: bond = depositAmount * 1.05 (105% ratio for large deposits) ``` ### Analysis Tool Use `scripts/bridge/trustless/analyze-bond-sizing.py` to analyze optimal bond sizing for different scenarios. ## Security Considerations ### Minimum Bond - Current: 1 ETH - Rationale: Ensures meaningful economic security - Consider: Adjust based on ETH value and gas costs ### Bond Multiplier - Current: 1.1 (110%) - Rationale: Exceeds potential profit from fraud - Consider: Adjust based on attack cost analysis ### Gas Costs - Factor in gas costs for attack - Higher gas = lower required bond multiplier - Monitor gas price trends ## References - Bond Manager: `contracts/bridge/trustless/BondManager.sol` - Analysis Tool: `scripts/bridge/trustless/analyze-bond-sizing.py` - Security Model: `docs/bridge/trustless/SECURITY.md`