Slashdot Mirror


Decentralize BitTorrent with Kenosis

UnderScan writes "Eric Ries, writer/programmer/CTO, authored an article 'Kenosis and the World Free Web' at Freshmeat [Owned by Slashdot's Parent OSTG]. Kenosis is described as a 'fully-distributed peer-to-peer RPC system built on top of XMLRPC.' He has combined his Kenosis with BitTorrent & removed the need for a centralized tracker. He states: 'To demonstrate Kenosis's suitability for these new applications, we have used it to improve upon another peer-to-peer filesharing application that Just Works: BitTorrent. BitTorrent does one thing incredibly well. Using a centralized "tracker," BitTorrent manages efficient distribution of data that is in high demand. We have extended BitTorrent, using Kenosis, to eliminate this dependence on a centralized tracker.' See also the Kenosis README for details on using Kenosis-enabled BitTorrent."

35 of 327 comments (clear)

  1. Re:This will be considered a troll, but... by Dachannien · · Score: 4, Insightful

    Decentralization is generally useful for any application where failure of some critical node results in failure of the entire transaction. Distribution of any data via bittorrent will benefit - regardless of content - if there is a possibility that a tracker host could fail.

  2. Re:This will be considered a troll, but... by bigbadwlf · · Score: 4, Insightful

    This will probably considered a troll also, but I think the obvious answer is porn.

  3. Forced Evolution by Superfreaker · · Score: 4, Insightful

    We all knew this was coming, but would this app get this kind of exposure had the MPAA not cracked down on those BT tracker sites?

    It is just like Scour net (web based/centralized), then napster (p2p/centralized), then kazaa (p2p/decentralized). Every time they go after a technology, they force it to evolve into the next phase. They will never win IMHO.

    1. Re:Forced Evolution by Larsiny · · Score: 3, Insightful

      It is just like Scour net (web based/centralized), then napster (p2p/centralized), then kazaa (p2p/decentralized). Every time they go after a technology, they force it to evolve into the next phase. They will never win IMHO.

      Remember that the next time one of your relatives' or friends' car gets stolen and stripped. Sure the technology to bypass all of the alarms and security measure not to mention the chop-shop techniques keep improving to the point where they keep outpacing the police. To paraphrase you "The police will never win IMHO" Won't you be glad!

      Seriously, this is technologically good idea on top of a good service. But what is technologically good may not be the right thing. (Wanna bring up cloning anyone? I'm not saying I'm against it just wanna point out the possible moral and ethical points that will be raised) For anyone to say this would be most beneficial for anything other than illegal activities would be lying. For all the people who honestly try to argue the positive merits of BT, stuff like this just ruins the validity of it. This will eventually cause it's end just like all those other "technologies" you mentioned.

    2. Re:Forced Evolution by pcmanjon · · Score: 2, Insightful

      "For anyone to say this would be most beneficial for anything other than illegal activities would be lying."

      Well, I used BT to get the Rubyx Linux distribution. It was available through BitTorrent and then a proprietary P2P method devised by the developer of Rubyx Linux.

      That was the only two ways to get it... the maintainer ran the rubyx website off his home DSL modem.

      As you can see, people *DO* use BT for legitimate reasons and people like me utilize that.

      Granted, the majority of people pirate using BT, but if you open your eyes you'll find millions of legitimate uses and scenarios.

      It's just that when a good thing comes along, the people who can abuse it start moving in really fast.

  4. Re:This will be considered a troll, but... by nadadogg · · Score: 2, Insightful

    I'm thinking that your comment is a combo of both insightful and redundant :)

    --
    i use linux and windows oh god how can i have an opinion
  5. Re:This will be considered a troll, but... by vhold · · Score: 3, Insightful

    Allow oppressed people to anonymously distribute large incriminating videos of their corrupt government?

  6. Problems with decentralization by Henry+V+.009 · · Score: 2, Insightful

    The problem with this approach is dealing with untrustworthy peer. Without substantial protections, one peer can ruin everybody's downloads.

  7. Re:This will be considered a troll, but... by Iamthewalrus · · Score: 2, Insightful

    Piracy isn't the only activity one might want to keep private and decentralized. Political dissent in totalitarian states, for example, is another.

    --
    Help prevent the slashdot effect; stop reading the articles.
  8. No central server? by Psychic+Burrito · · Score: 2, Insightful
    From the Readme:

    Details

    Kenosis-BitTorrent uses torrent files which specify a tracker of the
    form http://hash.bt.kenosisp2p.org, where "hash" is the hash of the
    original file.

    Kenosis-BitTorrent downloaders will notice that this is a kenosis url
    and use kenosis to find the tracker that is handling this torrent
    file. Standard BitTorrent downloaders try to resolve
    hash.bt.kenosisp2p.org as normal. Our dns server will look up the hash
    in kenosis and return to the client the ip address of the kenosis
    node that is tracking that file. If that tracker becomes unreachable,
    subsequent lookups for that hash will switch automatically to the next
    available Kenosis-enabled tracker.

    Well, since there is a central DNS server at bt.kenosisp2p.org, how can they sincerely declare this to have no central point of failure? Yeah, of course dns propagates, but turn off this central DNS server and in a few days everything is gone, right?
  9. Hello draconian DRM by acomj · · Score: 1, Insightful

    These little apps simply make the case for draconian DRM on everything, screwing us legitimate users even more.

    Thank you pirates.

  10. Re:Hi there... by ultrabot · · Score: 2, Insightful

    And welcome to KBTR (formerly K/.), all Bit-Torrent stories, all the time.

    There are enough non-bittorrent articles to fill your workday, so move along, nothing to see here.

    Bittorrent and p2p arp the hot topics of today (given all the police raids). New projects are certainly worth discussing.

    --
    Save your wrists today - switch to Dvorak
  11. Not really decentralized? by kikawala · · Score: 2, Insightful
    from the README:
    Kenosis-BitTorrent uses torrent files which specify a tracker of the form http://hash.bt.kenosisp2p.org, where "hash" is the hash of the original file. Kenosis-BitTorrent downloaders will notice that this is a kenosis url and use kenosis to find the tracker that is handling this torrent file. Standard BitTorrent downloaders try to resolve hash.bt.kenosisp2p.org as normal. Our dns server will look up the hash in kenosis and return to the client the ip address of the kenosis node that is tracking that file. If that tracker becomes unreachable, subsequent lookups for that hash will switch automatically to the next available Kenosis-enabled tracker.
  12. Re:Python by arudloff · · Score: 5, Insightful

    It's fun to see how book-writing hackers act.

    What, you mean, by using the right tool for the job instead of language snobbery? ;)

  13. Zero Defect Software? by bperkins · · Score: 5, Insightful

    I think I found a defect.

    This thing doesn't make any fucking sense.

    I was really excited by this slashdot story, because I think something like this could be very very useful. I have to say that I was disappointed a bit by the download.

    No docs or pointers at the top of the tarball.

    One of the READMEs on the site says try "test.py" for an example, which seems to just hang.

    Elsewhere it says to fire up bittorrent
    trackers and clients.

    There clearly is a lot of work that has gone into this, and the idea sounds really promising, but it looks like it needs a better end-user documentation before it's ready for primetime.

  14. Re:Quite useful by Em+Ellel · · Score: 3, Insightful

    Application is everything in this case. If most torrent traffic is for stealing mucis, movies, or software then there is a problem regardless of other uses it could have

    So, since computers are used to pirate stuff, we should ban them too? That will really make the music and movie industries happy. Not so much for software industry though.

    -Em

    --
    RelevantElephants: A Somatic WebComic...
  15. Re:This will be considered a troll, but... by ceeam · · Score: 3, Insightful

    Remember, with enough lawyers _everything_ you do on your computer or download from the Internet may be considered illegal.

    OTOH - if - for example - you crack a proprietary video codec so that it is suited for full-length movies distribution, add a cracked proprietary sound codec, name it all after a proprietary technology, then take some others' source, tweak it a bit, urge other peoples to contribute promising that it will be "free for ever", then demand money for it - it is still ok if you form a company! You can even put your certification on hardware players and stuff. Voila. (Yes, I do troll, "mod me down". But better yet - reply).

  16. Are you an MBA or something? by WebCowboy · · Score: 4, Insightful

    Because you have a fixation on money like some I've been acquainted with.

    Seriously... I don't see how to make money off this...

    Seriously...why is that important? Did you even read the article? The author of this BitTorrent enhancement does not even use the word "money"--it is WAY down the list of motivations for its creation, not does it seem to be about getting pr0n and warez. This guy sounds like an idealist in a very true sense--it's about decentralisation of control--making content available without being reliant on central servers.

    I think this would be immensely useful. The reliance on central BT trackers has been shown to be BTs primary weak point--once a torrent is located and transfer is initiated it is incredibly robust.

    Besides the fact that the admins of BT trackers are being harassed into submission by MPAA and RIAA, the more popular trackers seemed to be quite unreliable. If this innovation (open sourced to boot) addresses the reliablity issues in LOCATING the content that BT is so good at DISTRIBUTING then it could be start a dramatic shift in how we use the Internet, much like the WWW was.

    It doesn't even have to be about piracy. Used within a VPN or on a corporate WAN it would make distribution of a large number of big applications much easier to distribute. I make VMWare and ghost images of machines that are many gigabytes and this solution would be a great way of distrubuting them to a large customer with global sites (keep in mind that these clients are legally permitted to use these images--my employer is a stickler for that).

    A small operator could distribute software this way and save on the costs and time associated with maintaining a critical server with big pipe to the 'net. Security patches could be distributed this way very effectively without reliance on a single entity for distribution. The possibilities are endless. It might not be a money making machine, but it is the kind of thing that (if it works well) could change the face of computing.

  17. Do we really need... by ltwally · · Score: 3, Insightful

    I just read about Kenosis from its homepage. And, I'm forced to ask:

    Do we really need yet another bloated python p2p app? I can feel the flamebait and troll mods comming.. but seriously: Python sucks at gui work. It has to use generic wrappeers, like wxPython, that are extremely inefficient. Sure, like Pearl or Java, you can write gui apps using Python... but they always come out slow and over-weight.

    Consider the BitTorrent client. Just running the application, without an actual torrent being transfered, consumes 23 MB of memory (on Windows) -- for that cheesy, very simplistic little GUI. When you actually start running a torrent through it, it'll easily chew 40 MB's and gobble considerably more CPU time than a comparable program written in C/C++.

    I'm not saying Python isn't a useful language... But it was not designed to run P2P apps.

    Just because a programming language can be extended to creating GUI applications does not mean it's a good idea. Python's strengths are elsewhere, and I for one am tired of the BitTorrent community using it to write p2p clients in.

    Now go ahead and mod me down for having a modicum of common sense.

    --



    /dev/random
    1. Re:Do we really need... by cpghost · · Score: 2, Insightful

      Sure, like Pearl or Java,

      Pearl? You mean Perl, right?

      Just running the application, without an actual torrent being transfered, consumes 23 MB of memory (on Windows) -- for that cheesy, very simplistic little GUI.

      Python itself is awesome when it comes to rapid prototyping. But nothing forces you to use it. ctorrent is a nice BT CLI client written in C, which won't use that much memory. Remember: it's about the protocol itself. As soon as it stabilizes, the apps could be recoded in C.

      --
      cpghost at Cordula's Web.
    2. Re:Do we really need... by Hatta · · Score: 2, Insightful

      I'm not saying Python isn't a useful language... But it was not designed to run P2P apps.

      Just because a programming language can be extended to creating GUI applications does not mean it's a good idea.


      I don't follow, what does P2P have to do with a GUI?

      --
      Give me Classic Slashdot or give me death!
  18. Circumventing central DNS servers with spam! by cpghost · · Score: 3, Insightful

    The problem with Kenosis is, of course, it's reliance upon a central DNS server to point to a list of distributed trackers. Many will undoubtely point out, that this DNS server could be taken off, and that's it.

    Now how can we really circumvent this problem? One solution would be to advertize a list of DNS resolvers on USENET. A preconfigured list of newsgroups could be used to bootstrap this, and new usegroups (should the original newsgroups get closed) could be regularly advertized as well. A client would just go to those newsgroups, and fetch the updated list of DNS servers, newsgroups etc...

    This system would be much more resilient to attacks by RIAA or MPAA because they won't have a single point to attack. Closing newsgroups is much more difficult than taking one DNS server from the upper zone.

    Another way to advertize the DNS servers would be via spam! Yes, you didn't misread this. One can easily encode the location of DNS servers in spams and have clients read those spams, effectively extracting an updated list every now and then!

    This is very important, because spam is already used as a covert channel to prevent traffic analysis. Specialy crafted spam checkers can extract useful information from spams. One such information would be the distributed location of trackers (or DNS servers that point to them).

    Just because it's unethical (to piggy back useful data on top of spam), doesn't mean that it's not already used on a quite wide scale. There's no reason why it shouldn't work on a new generation of distributed BitTorrent trackers!

    --
    cpghost at Cordula's Web.
    1. Re:Circumventing central DNS servers with spam! by Anonymous Coward · · Score: 2, Insightful

      Perhaps you should see the other posts, or even better; RTFA.

      The system does not rely on a single DNS server. Only for backwards-compatibility.

  19. Re:This will be considered a troll, but... by Anonymous Coward · · Score: 1, Insightful
    A couple more:
    Piracy == A crime committed on high seas;
    Copyright infringement != Stealing;
  20. Re:YAP2PA by Anonymous Coward · · Score: 1, Insightful

    You suffer from what is know as "lack of vision"

    btw , who the hell are you to tell others what they should be doing?

    just because you are too narrowminded to see the value in this, doesnt mean everyone else is.

    you came up with some ideas, better guis. where is your work on the subject, where is your code. what have you done. ohhhh you expect everyone else to have the same priorities as you so you can just leech off their work all while being a dick about what people are doing with their time.

    do something and stop bitching to others about what they choose to do.
    i dotn see you doing jack.

  21. Re:Still falls just a bit short. by Abcd1234 · · Score: 2, Insightful

    Well, Onion Routing is a step in the right direction...

  22. Re:This will be considered a troll, but... by Omniscientist · · Score: 2, Insightful

    I was thinking that it was more funny than insightful, but then I remembered that porn is a very serious thing not to be taken lightly here at /.

  23. Re:Quite useful by NullPhi · · Score: 3, Insightful

    eliminating a single point of failure helps all bt traffic, not just the "unlawful content."

  24. Re:Quite useful by yasth · · Score: 2, Insightful

    Actually a Gatling gun can be used for missile defense, and high speed package delivery.

    Decentralizing tracking makes it easier to set up files. It also elminates a single point of failure, and some bandwidth issues of the host (tracking traffic is relatively small, but it can still add up very quickly as peers go into the 10s of thousands.)

    Imagine you had a video of a very recent disaster. You could put it on a normal tracker, but you would first have to find one that was willing, and then you would have to hope it could handle the swarm.

    Or imagine you have a torrent server for the presidential debates, most of the time your tracker will be idle, but right after releasing your version of the debates it might well fall over, this system would allow your server to be used by other systems as the majority of the time it is not being used, and then lean on other systems during your flash crowd.

    --
    I'd do something interesting, but my server can't handle a slashdotting.
  25. 0 defects...Can see at least one by flibuste · · Score: 2, Insightful
    From the article:
    Kenosis is also "zero-defect software".
    Ok Mr Kenosis, you just lost my vote. Considering that computer science theoricians (namely Goeddles) mathematically demonstrated the impossibility of a "zero-defect software", that makes the article quite impossible to trust or even consider. I hate when people think they are infaillible.
  26. What about Azureus ? by rpk · · Score: 2, Insightful

    Azureus is an open-source Java-based BitTorrent client with a built-in tracker.

  27. A good start by nrlightfoot · · Score: 2, Insightful

    While this looks like a good start, this isn't likely to catch on until it can be installed from a single .exe file for windows users. Then it would have to have one GUI that provides a seemless interface for finding and downloading .torrent files distributed among Kenosis nodes, and then automatically starts downloading the files using the Kenosis distributed trackers.

    --
    what sig?
  28. Re:Decentralized? by Chexum · · Score: 2, Insightful
    Okay, then you should be able to cope with all those "hints" having gone bad. When those hints are all bad, what do you do, Mr. D. Centralized Program?
    • Depend on my user to replace me with the latest version, which is available, since not every user of that is a copyright-limit-explorer.
    • Pray that in those years multicast is finally implemented by the ISPs, and listen to the next periodic update on the hash-dependent randomized multicast address.
    • Wonder who could shut down the whole Tor network (useful for many things citizens really need to do), and how could they find all of the tor-hidden 4914a6dfd3634e54f9f8457ca4cb6f39.onion hosts.

    Just my two cents. I happen to be that bitter too sometimes, but I more and more believe technology *will* be advancing us. Not as in entrepeneurs, but as humanity.

    --
    "Ten years from now, they could do it in a few seconds." -- The Racketeer of the Hellfire Club, 1993, Phrack 42
  29. It's even easier than that by shadowmatter · · Score: 2, Insightful

    DHTs work like this: Every node on the network has a 160 bit identifier. Given a key, through the DHT we can find the node whose identifier is 'closest' to the key. In Kademlia, the closeness of a node is quantified by treating its identifier XORed with the key as an unsigned integer. The node with the smallest such integer is the closest, and is therefore responsible for the key.

    If you look at their readme file, they're just using the hash of the file kept in the .torrent as the key (extracted from the tracker URL, in the .torrent). So say you have a .torrent whose tracker you would like to eliminate. Just choose your node identifier, when you join the network, as either equal to the hash in the URL or close to it (such as by simply flipping one of the lower-order bits). That way, you will with near-certainty be the closest node to that hash, and thus be designated the tracker for that torrent. Now just ignore all requests from clients.

    It can easily be done.

    - sm

  30. Re:Do we really need... Another exploit!? by Admiral+Burrito · · Score: 1, Insightful
    Do we really need yet another bloated python p2p app? ... it'll easily chew 40 MB's and gobble considerably more CPU time than a comparable program written in C/C++.

    Do we really need another network-heavy (client and server) C/C++ app with multiple buffer overflows waiting to be exploited?

    I, for one, am glad this thing is written in Python.