Slashdot Mirror


Trackerless BitTorrent Beta Posted

jgarzik writes "BitTorrent development is occuring at a furious pace. At the beginning of May, an Azureus update added distributed tracker and database features. Yesterday, Bram updated BitTorrent to include support for trackerless torrents in the new BitTorrent 4.10 beta."

29 of 432 comments (clear)

  1. Re:So... by TrevorB · · Score: 4, Informative

    It sounds as if the .torrent files still need to be downloaded or stored somewhere. It's just the middle step of the tracker that can (optionally) be eliminated.

  2. Easy, it's the same, but different by Anonymous Coward · · Score: 2, Informative

    Instead of posting to a tracker, you post your .torrent to a forum via free webspace.

    It's the same basic method, just now the actually torrent mechanicans are now on the peer instead of the server.

  3. Re:Hmm... by Anonymous Coward · · Score: 4, Informative

    You mean this?

  4. Since TFA is a bit short on details... by 42forty-two42 · · Score: 5, Informative
    ... here's some more info on this, assuming it's compatible with Azureus:
    • Peers are located with an overlay network based on the Kademlia algorithm, with small tweaks.
    • You can enter the overlay network either by a central seed node (which is needed only one per install) or by asking some of your peers on some other torrent for their DHT addresses.
    • Azureus has a magnet link system, where given a 'magnet link' containing the infohash of the torrent, it will use the DHT to find a peer and download the .torrent file from them. Hopefully the official client will get this as well.
    • Yes, this really does work. Grab a copy of Azureus 2.3.0.0 and enter magnet:?xt=urn:btih:MC2ZPC2TCW2TJTY5DSSOMDX533EPXV FU (no spaces!) into the open location box to try it out. Be sure to wait for the dot on the bottom to change from yellow/"Initializing..." to green, and open your UDP port (same as torrent data port by default)
    • Check out the Azureus wiki for more info.
  5. Re:So... by saskboy · · Score: 5, Informative

    Essentially, the client is now also a simple tracker. You still need a torrent file, you just don't have to set up a tracker now, just open your client, like you'd normally do for Kazaa or other file sharing programs.

    Here is the bittorrent.com explanation:

    ***
    BitTorrent Goes Trackerless: Publishing with BitTorrent gets easier!

    As part of our ongoing efforts to make publishing files on the Web painless and disruptively cheap, BitTorrent has released a 'trackerless' version of BitTorrent in a new release.

    Suppose you bought a television station, you could broadcast your progamming to everyone in a 50 mile radius. Now suppose the population of your town tripled. How much more does it cost you to broadcast to 3 times as many people? Nothing. The same is not true of the Web. If you own a website and you publish your latest video on it, as popularity increases, so does your bandwidth bill! Sometimes by a lot! However, thanks to BitTorrent the website owner gets almost near-broadcast economics on the web by harnessing the unused upstream bandwidth of his/her users.

    In prior versions of BitTorrent, publishing was a 3 step process. You would:

    1. Create a ".torrent" file -- a summary of your file which you can put on your blog or website
    2. Create a "tracker" for that file on your webserver so that your downloaders can find each other
    3. Create a "seed" copy of your download so that your first downloader has a place to download from

    Many of you have blogs and websites, but dont have the resources to set up a tracker. In the new version, we've created an optional 'trackerless' method of publication. Anyone with a website and an Internet connection can host a BitTorrent download!

    While it is called trackerless, in practice it makes every client a lightweight tracker. A clever protocol, based on a Kademlia distributed hash table or "DHT", allows clients to efficiently store and retrieve contact information for peers in a torrent.

    When generating a torrent, you can choose to utilize the trackerless system or a traditional dedicated tracker. A dedicated tracker allows you to collect statistics about downloads and gives you a measure of control over the reliability of downloads. The trackerless system makes no guarantees to reliability but requires no resources of the publisher. The trackerless system is not consulted when downloading a traditionally tracked torrent.

    Although still in Beta release, the trackerless version of BitTorrent, and the latest production version are available at http://www.bittorrent.com/

    --
    Saskboy's blog is good. 9 out of 10 dentists agree.
  6. Re:Diluting its strengths? by Jeremi · · Score: 5, Informative
    If you lower the cost of entry to producing a BT release, won't that mean more .torrent file swimming around?


    Hopefully... allowing more people to post more content is one of the project's goals.


    With the increase of different torrents everywhere, won't that dilute the power of BT?


    No, because the uploaders for a given file consist only of the people who have previously downloaded that file. So no matter how many files are "out there", the total bandwidth available to distribute any particular file is always proportional to the number of people interested in that file.


    File-A's popularity won't leech bandwidth from File-B's swarm, because File-B's swarm wasn't providing any bandwidth for File-A in the first place.

    --


    I don't care if it's 90,000 hectares. That lake was not my doing.
  7. Application of DHTs by Spezzer · · Score: 4, Informative

    I just learned about Distributed Hash Tables this past semester and thought they were really cool. On the bittorrent page linked in the blurb, it mentions the use of a DHT in order to do the join/lookup required for locating peers.

    If you are interested in how it works, you can check out http://en.wikipedia.org/wiki/Distributed_hash_tabl e for more info on them and links to example DHT implementations (such as CAN, Chord, and Kademlia).

  8. Re:So... by Anonymous Coward · · Score: 2, Informative

    Every client is a mini-tracker.

    The starting point if the client that starts to seed first. Everybody connect to you to know where to go next. You don't get as much request as a regular tracker though since after the first contact with you, the other clients know who else they can contact.

    You can also republish a .torrent with an updated clients list.

  9. Like Bittorrent by Anonymous Coward · · Score: 1, Informative

    Support the software you use, if you like BitTorrent, consider donating to the project.

    http://www.bittorrent.com/donate.html

  10. Re:BitTornado. The difference? by CypherXero · · Score: 2, Informative

    BitTornado is just a client, that uses the underlying technology of BitTorrent, created by Bram Cohen. ABC, BitTornado, Azureus, etc.. are all clients that use the BT technology.

  11. Re:How by shadowmatter · · Score: 5, Informative

    This is how Kademlia works:

    Nodes randomly generate either 128 or 160 bit node identifiers. An identifier uniquely identifies a node on the network. Traditionally, they are computed as just the MD5 or SHA-1 hash of your IP address (this is to make it harder for clients to select exactly what identifier they want, which could help them target certain files for takedown... more on that later).

    In Kademlia, the idea is that messages routed through the network are identified by a message key. This is, as well, either a 128 or 160 bit value. The goal of Kademlia, and every other DHT (Google for Chord, CAN, Pastry, etc.) is to route a message to the node whose identifier is "closest" to the message key. In Kademlia, the distance between a node identifier and another node identifier, or a node identifier and a message key, is computed by simply XORing the two and treating the result as an unsigned integer.

    Each node maintains (roughly) a routing table containing nodes that match successively-longer high order bits with itself. For example, node 0100... maintains an entry to a node starting with 1..., a node starting with 00..., a node starting with 011..., and a node starting with 0101... Note that in terms of distance by XOR, the first node has a distance of 1..., the second with a distance of 01..., and so forth. Thus, nodes matching more high order bits are closer to you in the identifier space.

    So if you are node 1010... and you receive a message starting with 0111... You should have some node in your routing table that differs in the highest-order bit, that is, it starts with 0... Say its node identifier starts with 0000. You route the message to that node. If you compute the XOR between your node identifier and the key, and this node's identifier and the key, you will see that this node is approximately twice as close to the key as you are.

    Now this node differs in the second bit: 0000 vs 0111. In its routing table, it must have some node that matches in the first bit, and differs in the second: that is, starting with 01... If the message is routed to that node, we again cut our distance to the key by approximately 1/2. This process repeats until we find the node "closest" to the message key.

    Routing in this manner takes log(N) time, and each node on the network maintains log(N) connectivity. Note that there are well-established algorithms for nodes joining and leaving the network, of which the former takes log(N) time as well.

    So how does BitTorrent fit in? Here's what I'm assuming: Each .torrent file has a 160-bit info hash embedded in it, derived from SHA-1. Now substitute the message above for the .torrent file, and the message key for this info hash -- you are now routing .torrent files to their closest nodes. These nodes, in turn, can be the tracker. If a node knows the 160-bit info hash of a .torrent, it can find a tracker by placing this hash as the message key in a lookup message and finding the closest node, which must necessarily be the tracker.

    You can do other neat tricks, too, like keyword searching, load balancing, and whatnot (see eMule -- it uses the Kademlia DHT for its serverless system). Other DHTs work in a similar manner. I'm a little confused as to why everyone uses Kademlia, when there are better ones out there. (Accordian, for example, is truly state-of-the-art.)

    Plenty of resources on DHTs can be found at Project Iris.

    - shadowmatter

  12. Re:There still is a target by Mr2001 · · Score: 2, Informative

    There doesn't have to be a single "login server". You can gain entry to the distributed network either from a central seed node (there's one run by the Azureus developers, and presumably another one for Bram's client), or from a compatible peer you met while downloading another torrent.

    --
    Visual IRC: Fast. Powerful. Free.
  13. Re:Is this REALLY Bram's site? by mehtajr · · Score: 2, Informative

    You're joking, right?

    Domain name: BITTORRENT.COM

    Administrative Contact:
    Cohen, Bram bram@bitconjurer.org

  14. Re:How by Everleet · · Score: 2, Informative
    without having to connect to a tracker (which you may not hae access to).

    What does this mean? How can you not have access to your own machine?

    Anyway, YOU STILL HAVE TO RUN A TRACKER. It's just built in to the client instead of being the program right next to it. It does have minor advantages in traffic generated at the original tracker (which is pretty insignificant anyway), and in being able to resume a download after the original tracker dies. However, you can't start a new download after the tracker dies (which is what we really wanted trackerless torrents for) unless someone posts an updated version of the torrent file with peers that are still active.

    --
    It's tragic. Laugh.
  15. Updaters by tepples · · Score: 2, Informative

    You would need a bittorrent client to be able to use a torrent so it will be ironic that there would be a torrent.

    You're talking about the issue of a first-time installation, while grandparent is talking about an updater. For instance, Azureus and eMule installers are both available through HTTP download for first time users, but Azureus's built-in updater uses BT protocol to distribute the updated jar files, and you can get eMule updates through ed2k protocol as well.

  16. Re:How does it work? by MrDomino · · Score: 2, Informative

    Bittorrent isn't intended to protect your identity. It never was. The fact that it's commonly used for activities that might get people in trouble is just due to lack of a poweful, easy-to-use solution in the arena of programs that do protect your identity (see: Freenet, Tor, and MUTE), and possibly in part to bad planning on the part of an increasingly fragmented and confused base of illegal file-sharers.

  17. Re:So... by AirShark · · Score: 3, Informative

    They're already going after end-users. One of my buddies just got mauled by Columbia Pictures.

  18. Re:How by Jagasian · · Score: 3, Informative

    It really isn't trackerless. It is distributed tracking, just like Azureus already has, but just different enough to be incompatible with Azureus's protocol. Basically you have a big distributed hash table, so the entry point for a torrent is a hash key for this table.

  19. Re:Diluting its strengths? by rusty0101 · · Score: 3, Informative

    There are actually two possible questions out of this, "Two shares with the same name, but are different files." and "Two sources of the same file, shared seprately."

    Lets say you and I both recorded the latest Britney_Spears story on ET. We each grabbed from the first frame of the story as our recordings captured it, to the last frame of the story. It happens the there was a comercial break in the middle of the story, which we have each clipped out. However our clips are not identical, and if we are both capturing from an analog source, our actual files will be different. Even if we both share the file as 'ETBritneyInterview.mpeg2' our file hashes will be different, so there will be no collision.

    Next up... Joe is a fan of Ubuntu Linux, and tracks down an ISO file for it. Puts it on his web server with a .torrent file for it, then advertizes the .torrent file on his blog. Al, Bob, Cathy, Doris, Plauge, Faith, and Garth all decide to download a copy. Some because he is making it available on his blog, others because they saw a reference to it on hos blog, but decide to go to the source and download the ISO from there. The transactions that are using the .torrent file from Joe's blog are not going to be sharing transfer space with the transactions from the official torrent site.

    Last up, I create an ISO for some new distribution of Linux, and create a trackerless .torrent file for it, put the iso and .torrent on my web server, and link to the .torrent in my blog. Heather downloads the .torrent as part of her collection of that ISO, likes the file, so she puts my .torrent on her server, linking it with a blog entry, then leaves her client sharing the .iso file. In this situation, both of us would be sharing the bandwidth of distributing the .iso.

    Hope that addresses your question.

    -Rusty

    --
    You never know...
  20. Re:wryy by Spy+Hunter · · Score: 2, Informative
    Apparently Azureus forms one single giant P2P network to share tracking duties for all files. So in fact the original torrent does not need to specify a seed node; the P2P network is searched to locate the tracking data. This allows Azureus clients to continue cooperating in a distributed manner if a tracked torrent loses its tracker, and even begin downloading a previously tracked torrent after the tracker is gone, as long as Azureus users are seeding.

    It is not clear whether the official BT client works in the same way or whether it is compatible with Azureus.

    --
    main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  21. Re:Won't stop the RIAA/MPAA by Anonymous Coward · · Score: 2, Informative

    Except that right now, the whole network will collapse if it gets some 20-50 new users (it can only handle a couple of hundred users, so it's not really useful for anything). This will be fixed in the coming months, but for now, leave it alone lest you disrupt its development. TOR can do the same things, and works now.

  22. Re:So... by Anonymous Coward · · Score: 2, Informative

    You still need a torrent file, you just don't have to set up a tracker now, just open your client, like you'd normally do for Kazaa or other file sharing programs.

    No you dont, a magnet link like the ones for gnutella clients will do fine. You still can`t search like on e-donkey/gnutella and other napster alikes. Ofcourse some prefere files where others vouched for their quality. Anyway, its just waiting until hash values become a standard part of a release groups NFO files.

  23. BT, Azureus & Mainline use the same protocol by YA_Python_dev · · Score: 2, Informative

    Apparently BitTorrent, Azureus and Mainline all use the same protocol.

    BitTorrent:
    A clever protocol, based on a Kademlia distributed hash table or "DHT", allows clients to efficiently store and retrieve contact information for peers in a torrent.
    Azureus:
    Azureus uses an implementation of Kademlia for its distributed database. Kademlia is a type of distributed hash table (DHT). The basic idea behind DHTs is that they are flexible enough to support new users and leaving users while storing and finding information efficiently.
    Mainline/khashmir:
    Khashmir is a Distributed Hash Table (DHT) based on Kademila and written in Python.
    Emphasis mine.
    --
    There's a hidden treasure in Python 3.x: __prepare__()
  24. Re:So...Idle Hands are... by daikokatana · · Score: 2, Informative
    This work will hopefully cause anonymous p2p filesharing to become widespread.

    True anonymous p2p filesharing will never be possible - it is ALWAYS possible to find out who you are downloading from. Accept it.

    --
    http://jcsnippets.atspace.com/ - a collection of Java & C# snippets
  25. Re:Diluting its strengths? by Wildclaw · · Score: 3, Informative

    There still remains one big advantage that BT has over other p2p apps, and it is a big one.

    Unlike more inefficent protocols, BT choose to implement basic game theory into the design. While it is not nescessary for a client to implement the tit-for-tat algorithm (see prisoner's dilemma), pretty much all do because not implementing it would make the client work less efficently in the BT network.

    Other p2p networks try to reward uploading in different ways, but all those ways are far less efficent than using the basics learned from the prisoner's dilemma.

  26. Re:Is this REALLY Bram's site? by CheeseyDJ · · Score: 2, Informative


    Yes

  27. Re:Losing Centralized tracker is not good by Taladar · · Score: 4, Informative

    The Tracker does not decide who downloads what. It just has a list of IPs. Each client decides what it downloads but it uploads only/better to the clients that send to it faster than the others. That way uploading clients get the biggest part of the bandwidth and clients that leech only get the rest that is not needed by one of the others.

  28. Re:Diluting its strengths? by jez9999 · · Score: 2, Informative

    This explanation can be shortened to:
    "Clients only share the same bandwidth if they used the same .torrent file to initialize their download."

  29. Re:Losing Centralized tracker is not good by thing12 · · Score: 4, Informative
    Also the .torrent file is the real problem in hosting files. Its not as easy as just providing one directory and every file in that directory gets shared. Ofcourse there are benefits also to the .torrent file when we want to serve a whole directory as a single torrent. An approach where both kinds of things can be done will be better than a single method.

    Bittorrent isn't a "share all the files on my hard drive" system. It's a distribution system for content publishers. It will most likely never be the former because that's how you get the MPAA, RIAA, etc on your back. If you want a list of content publishers use Google.

    Also the Emule has it better that it can determine that multiple names of a file are actually the same file, based on the same Hash.

    There's never any danger of downloading multiple versions of the same file because you download the torrent file from the publisher's website - not the system. That torrent connects you to one or more peers, the mini-trackers, which are presumably operated by the publisher. And then it's just standard bittorrent stuff.

    It's good way to publish legitimate content. It's not a good way to distribute illegal content. First of all the torrent has a record of your peer IP addresses. So, all the lawyers need to do is have the peers listed in the torrent shut down -- then the torrent is useless. Sure, you could hide for a while using zombie windows boxes as your "master" peers, that's one level of indirection. But as they become unavailable you need to distribute new torrent files with fresh peer lists. Maybe that's not a problem, but it seems like more trouble than it's worth.

    If you want a share-all-my-files p2p bittorrent, try eXeem (or eXeem Lite).