Extensions
A torrent file can also contain additional metadata defined in extensions to the BitTorrent specification. These are known as "BitTorrent Enhancement Proposals." Examples of such proposals include metadata for stating who created the torrent, and when.
Draft extensionsedit
These extensions are under consideration for standardization.
Distributed hash tablesedit
BEP-0005 extends BitTorrent to support distributed hash tables.
A trackerless torrent dictionary does not have an announce key. Instead, a trackerless torrent has a nodes key:
For example,
The specification recommends that nodes "should be set to the K closest nodes in the torrent generating client's routing table. Alternatively, the key could be set to a known good node such as one operated by the person generating the torrent."
Multiple trackersedit
BEP-0012 extends BitTorrent to support multiple trackers.
A new key, announce-list, is placed in the top-most dictionary (i.e. with announce and info)
HTTP seedsedit
BEP-0017 extends BitTorrent to support HTTP seeds.
A new key, httpseeds, is placed in the top-most list (i.e. with announce and info). This key's value is a list of web addresses where torrent data can be retrieved:
Private torrentsedit
BEP-0027 extends BitTorrent to support private torrents.
A new key, private, is placed in the info dictionary. This key's value is 1 if the torrent is private:
Private torrents are to be used with a tracker; decentalized methods like DHT, PeX, LSD are disabled to maintain the centralized control. A private torrent can be manually edited to remove the private flag, but doing so will change the info-hash, forming a separate "swarm" of peers.
Merkle treesedit
BEP-0030 extends BitTorrent to support Merkle trees. The purpose is to reduce the file size of torrent files, which reduces the burden on those that serve torrent files.
A torrent file using Merkle trees does not have a pieces key in the info list. Instead, such a torrent file has a root_hash key in the info list. This key's value is the root hash of the Merkle hash:
Comments
Post a Comment