BitTorrent Swarm & Tit-for-Tat Protocol Simulator

P2P v7.8.5
1.0x
Seeder
Leecher
Free-Rider
Active Unchoked

Compare fairness with actual progress

Does a high fairness score mean that the swarm is fast?

Read fairness alongside piece completion. Equal allocations can be slow, while unequal allocations can move many pieces. This page computes fairness across currently incomplete peers, so the compared population changes as peers finish.

Whole Boolean pieces move probabilistically. The displayed transfer values are model scores without byte accounting, and the clock is simulated. A fairness value of 0.94 when every compared score is zero is an authored fallback, not a measured result.

Try a worked example

For two incomplete peers with scores 1 and 3, Jain’s formula gives (1 + 3)² / (2 × (1² + 3²)) = 0.8. Scores 10 and 30 also give 0.8: scale changes, equality does not. Scores 0 and 0 make the denominator zero; this page displays its 0.94 fallback instead of an empirical fairness value.

Know which peers the formula includes

The formula is squared total allocation divided by population times the sum of squared allocations. It measures relative equality independently of units. Here the allocation inputs are successful-transfer scores from the latest step, and complete peers are omitted. Raj Jain: performance testing and fairness

The hidden efficiency mirror is fairness multiplied by 100, and its health mirror is the same fairness value. Neither is a separate efficiency or reliability measurement. The pieces mirror is the configured file size, and the time mirror is elapsed simulated time, even before completion.

Read the authored transfer and clock rules

Each uploader divides its capacity parameter across permitted peers. A receiver’s cap is applied per link rather than across all simultaneous senders. A successful attempt copies one entire piece and adds the transfer score to cumulative sender/receiver histories; those histories are not a recent-rate window.

The success probability is min(1, transfer score × 0.4 × speed). Each step advances the clock by 0.5 × speed. Speed therefore changes both modeled time and transfer probability. Rebalancing runs whenever the floored clock is divisible by the interval, which can occur more than once around the same boundary. Compare runs as authored scenarios, not real download benchmarks.

Real BitTorrent possession announcements follow piece integrity checks. This teaching page holds Boolean flags and does not exchange file bytes or validate their hashes. BEP 3: BitTorrent Protocol Specification

Sources and further reading
Super generates helpful tools and automates fact-checking across the internet proactively. If you enjoyed this tool, build your own with Super and share it with a friend.