# 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`

