PiecewiseHow a peer to peer transfer actually works

Piecewise: how a peer to peer transfer actually works

A file arrives from everybody at once. Here is how that works

seed4 piecespeer2 piecesseedall of itpeer1 pieceseedall of itpeer6 piecesyou

moving 61% of 4.0 GB · 12 seeds · 34 peers · ratio 0.42 · port 6881

A peer to peer transfer takes one file from many machines at once. Nobody holds a master copy and no server hands it out: the file is cut into numbered pieces, every piece carries a fingerprint, and your machine collects them from whoever happens to have them while handing back the ones it already holds.

Piecewise is an independent reference on how that actually works, written for somebody who has a transfer running and has met a word they do not recognize. Every page explains a mechanism and then shows where it appears in your own client window. Nothing is sold here, nothing is downloaded from here, and no page will help anybody find something to copy.

How a transfer works

How a BitTorrent transfer works, from magnet link to seeding

Read this
The swarm

What the numbers in a client mean

Read this
The clients

What they are and how they differ

Read this
Why a transfer is slow

Why a transfer is slow, in the order worth checking

Read this
Peer to peer

What peer to peer means, and what still runs on it

Read this
How file sharing got here

The file sharing era, in order

Read this
What it carries

What the protocol carries every day

Read this
The four words a client uses
movingpieces are arriving
completeevery piece verified, now giving only
waitingconnected, and nothing arriving right now
failedrefused, errored, or no incoming connections at all

The four questions people arrive with

Why does it say firewalled?incoming: refused

failed The transfer still runs, because outgoing calls work. Nobody can call in, so it only reaches peers it dials itself.

What does stalled mean?peers: 6 · sources: 0

waiting Connected to the swarm, and nobody currently online holds a piece you are missing.

What is a good ratio?up 6.0 GB / down 4.0 GB

complete Uploaded divided by downloaded. One means the swarm got back what it gave; nobody is keeping score about you.

Is any of this safe?verified: 1,904 of 1,904

moving The protocol checks every piece against a hash written before the transfer began. The risks are the ordinary ones: where a program came from, and what you then run.

What a transfer looks like from the inside

A transfer in progress. Azure blocks have arrived and been verified, amber is being checked, mint has already been shared back out, hollow is still missing.

That is the whole idea. Each block is fetched from whichever machine has it, checked against a fingerprint, and immediately offered back out to the next person who needs it. The more people who want the file, the more machines there are to give it, which is the exact opposite of how one server behaves.

What this site is

A new and independent reference, at a web address a different project used many years ago. It is not that project, is not connected to its authors or to any later owner of this domain, and claims no continuity with any of them. It explains the technology: the protocol, the client software, the numbers in the window, and the documented history of the field. It carries no index or directory of anything, offers no downloads, recommends no service, and gives no legal advice.

Where to go next