Docs

BitTorrent


DevGuide

Overview

Horizon is based upon peer-to-peer (P2P) technologies, including BitTorrent.  Readers may be familiar with BitTorrent technology since it has been widely used for illegal (copyright infringing) file sharing.  BitTorrent splits files into small chunks, and distributes them across many hosts.  When someone wishes to download a file over BitTorrent, individual chunks can be provided from many different sources.  This makes BitTorrent dramatically faster for file downloads than other technologies.

BitTorrent network participants that hold a complete copy of a file are called "seeders" of that file, while those in various stages of download (having only a proper subset of the set of chunks) are called peers.  Note that even peers can share chunks with other peers.  As soon as any chunk has been downloaded, and verified by any peer, it can be shared with other peers.  This is how download efficiency is achieved.

Whenever Horizon participants share code containers, those containers must be cryptographically signed, then seeded into BitTorrent.  Whenever another participant wants to run that code (e.g., because they have accepted a corresponding contract proposal) they will use a BitTorrent client to rapidly download the file.  Then of course they will verify the container's signature before using it.

Note that currently Horizon uses a private BitTorrent network where all seeders are controlled by the Horizon team.

External BitTorrent Reference Material

If you wish to get more information about BitTorrent technology, you may find the links below useful.