Ever since the earliest days of Bitcoin development, proposal after proposal has been put forward for a BitTorrent client that incorporates bitcoin payments. In an ideal solution, Bitcoins would be sent from the client to the file's uploaders, also known as "seeders."
Not only would such a project make file sharing faster and more useful, but it would allow for a new industry to emerge, where selling data online becomes extremely easy to do, and where finding rare content online is faster and more efficient.
After many years of community discussion, a few failed attempts, and one near miss - that only allowed bitcoin donations - Oxford PhD computer scientist, Dr. Bedeho Mender has created an alpha version of a bitcoin-for-uploads bittorrent client, called JoyStream.
Billed on the website as "A new BitTorrent client, with faster speeds, streaming and paid seeding," Mender told BraveNewCoin in an exclusive interview that he has been working on this project since April 2014. Mender spent months designing, and then started coding full-time 6 months ago.
"JoyStream rewards seeders for providing bandwidth with micropayments, and this leads to much higher download speeds on all content."
- Dr. Bedeho Mender, Creator of JoyStream
Born and raised in Oslo, Norway, Mender received his BSc and MSc in theoretical computer science from the University of Oslo, and then his Ph.D. in computational neuroscience from Oxford last fall. Mender first noticed Bitcoin during the run-up of fall 2013, and has immersed himself in the technology ever since.
Developing completely on his own, Mender has kept his focus on producing a BitTorrent client that would solve an age-old problem. Once a file downloader completes a torrent, they typically stop sharing their own copy. This is less problematic with popular content, where a larger amount of partial torrents can be used, but niche downloads can be hard to find.
"the problem of how to incentivize bandwidth contribution from peers which had no need for downloading, e.g. because they had completed the download - or because they had no interest, was a serious problem for the quality of the experience."
Once Mender understood that bitcoin micropayments could be used to financially incentivize seeders, the natural next step for the computer scientist was to add bitcoin-for-uploads functionality to a BitTorrent client.
"Anyone with spare bandwidth can use JoyStream and earn Bitcoin, at whatever price they choose, in exchange for seeding to peers. If you have some rare content which no one else has, you are rewarded by being able to charge higher prices."
Seeders with an extensive back catalogue of content could well leverage this incentive, earning an income, "I imagine you would have to be pretty specialized, both in terms of having access to very low cost bandwidth and novel content, for it to be a full time gig” explained Mender.
JoyStream will be one of the first of a handful of applications that stream money in real time. The first to get the process right was Streamium, which streams video in lockstep with bitcoin. Streamium amassed an instant following when it launched earlier this year. The difference with JoyStream will be that these are tiny torrent 'chunks' that can be any type of file.
"JoyStream makes it possible to download and seek to any part of a large HD audio or video file by simply requesting and paying for it directly, which makes streaming work as well as on the web."
To process payments the client software has a built-in Bitcoin wallet. During the early releases this wallet will be based on the libbitcoin toolkit, which is well known to Bitcoin developers. “That means all keys and transaction processing is done on the desktop, but you don’t need to download the full chain to get started, but rather use libbitcoin blockchain servers which provide data," said Mender.
The libbitcoin toolkit is also used by AirBitz, OpenBazaar and Darkwallet. For later versions of JoyStream Mender plans to write a customized wallet, reflecting its unique use.
With regular BitTorrent clients there is no way to stamp out distasteful nor illegal file sharing, and this is also true of JoyStream. While discussing the topic of pirated content, Mender revealed that he doesn’t see eye-to-eye with copyright law. "I think it is very hard to make robust normative claims in general, and I think this one ranks quite low on that scale. So, if you are trying to make a serious non-consequentialist case for copyright, you will have a difficult time."
The use of the BitTorrent protocol for unauthorized sharing of copyrighted content has led to a variety of novel legal issues. While the technology and related platforms are perfectly legal, law enforcement and prosecutorial agencies worldwide are developing new tactics and increasingly pursuing ways to address this avenue of infringement.
"I do not see JoyStream as being much different than any other torrent client out there, which are all legal as far as I know. The fact that it has payments may make some uses of it less legal in some jurisdictions, however making and distributing it would seem quite legal to me.”
The use of BitTorrent in connection with copyrighted material may make the issuer of the BitTorrent file, link, or metadata liable as an infringing party under the copyright laws of various governments. Similarly, the use of BitTorrent to procure illegal materials could potentially make end users liable as an accomplice under various laws.
“I cannot control what they choose to do, but I believe in what I am doing, and it will exist no matter I or anyone else chooses to do about it."
Mender plans to release Joystream as an open source application, with an alpha release penciled in for August. Releasing projects on an open source basis negates some of the possible legal ramifications, and also allows other developers to find new uses for integrating payments into BitTorrent technology.
"It won't be released [as open source] prior to the alpha at the very least, but longer term that is the goal. I will also be releasing a technical specification, which others can review and improve, so that the BitTorrent developer community can settle on the best way to introduce payments."
While great for community involvement and safety, the drawback to making the project open source is that it is very difficult to make money. Currently Mender has, "no specific [monetization] plans.”
“A lot of other [BitTorrent] clients use ads, or bundle software, which I very much would not want to do. Freemium could be a good model, but I have not thought a great deal about it as of yet."
With no income in sight, other than the occasional donation, it can also be hard for a project like this to attract talented developers. Even if he has to do all the coding himself, Mender isn't deterred in the slightest. He already has an optimistic estimation of how long the alpha version should take, but is wary of providing specific dates.
"It is hard to say much about how long that will take, as it depends on a number of things I am not directly in control over (like funding, team members, etc), and also that developing for Bitcoin is still very much experimental and complicated."
Mender is now asking for some testing volunteers, and hopefully a talented coder or two. "I've been working on this alone for about 8 months, and so I am looking to get some more people on board to speed things up." Said Mender. "A developer with experience in C++/Qt can do a lot, but anyone who thinks they contribute, whether a user or an investor, should just reach out with an email. At this early stage, everyone can likely find a way to contribute if they want to."
While the idea of incentivizing seeders will grab the attention of many in the industry, the scalability of Bitcoin's transactions is an issue that may become restrictive to JoyStream. If the network becomes very popular all of those transactions would likely pile up on the Bitcoin blockchain, especially if growth happens too quickly. “Even though payment channels are used, you still need one transaction to start the channel, and one to close it. This means that if people really start embracing JoyStream quickly, the transaction limit of 7 [Bitcoin transactions per second] will quickly be under strain," Mender explained. Bitcoin core developers are currently working on a solution to the transaction speed problem, so with any luck this will not be an issue before JoyStream gets a chance to become that popular.