BitShares Forum

Main => General Discussion => Topic started by: 8bit on December 13, 2013, 05:00:46 am

Title: The Hive
Post by: 8bit on December 13, 2013, 05:00:46 am
I find the concept behind datacoin to be really interesting, but I feel it has a bit of a problem. A blockchain is a very clunky way to store rich, human consumable data. Even storing a short book is a daunting task for something like datacoin, storing a whole album, film, or video game is ridiculous. Everyone who uses datacoin would have to download every film, game, etc... that anyone wants to share! What if we leveraged the power of an existing decentralized technology to do the heavy lifting for us?

BitTorrent is a much better protocol for distributing data than a cryptocoin. Instead of using a monolithic blockchain that everyone needs to have a copy of, only the people interested in a file need to worry about it. Unfortunately, BitTorrent has a bit of a problem. Though the underlying technology is decentralized, it has been impossible to completely decentralize data transaction in BitTorrent.

There has certainly been progress, don't get me wrong. In the old days, centralized websites had to host .torrent files- files that would link to a tracker (a centralized server), which would connect new members of the swarm to other members. Today, recent breakthroughs in distributed hash tables have lead to a less centralized way of doing things. Rather than using a centralized tracker users obtain magnet links which are like IDs for torrents. Each member of the BitTorrent network holds a hash table containing the IPs of a small number of nodes on the network. The user with the magnet link sends a request through the network by sending it to one of the IPs listed in her hash table. That node does the same thing, and so on, until a node which is a member of the correct swarm is discovered. This cuts the tracker out of the equation, but there is still a need for a centralized database of magnet link listings. This is why sites like The Pirate Bay still exist. The Pirate Bay is not a tracker anymore, but it's still needed to find the actual magnet links. Still, this is a huge improvement. Now TPB no longer needs to manage the individual users in a swarm, now its only purpose is serving up static information. This means that other users can make backups of TPB, and use those backups to find magnet links. The more people with up to date backups, the less centralized TPB's listings are. And if everyone has an up to date copy of the TPB database...

That's where the blockchain comes in. I think the blockchain may be the final puzzle piece in distributed and decentralized file transfer. The blockchain is, effectively, a database that everyone has, and where new information propagate through the network very quickly. A blockchain is limited in that old data is read only, but that will be fine for our purposes, as most of our blockchain data will be static and/or simple. My idea is that the blockchain would list, not just transactions broadcast to the network, but also magnet links and metadata about the magnet links. (title, description, tags, etc...) A user who wants to download a torrent would search his blockchain for the magnet link, broadcast the link to the BitTorrent node network, locate the torrent's swarm, join the swarm, and download/share the file from/with the swarm.

Like any chain, when blocks are mined a certain number of coins are released to the miner. Much like with datacoins, these coins can be spent to include new data in the blockchain. As the amount of information contained in the magnet link itself is very small, the cost to list a new link should also be very small. To illustrate how small magnet links are and how cheap storing them in a blockchain would be, consider this: If we decided to store all of the data on the pirate bay on the datacoin chain it would cost less than 10000 datacoins, including metadata but not comments. With around 1,700,000 torrents, that's around 0.006 datacoins per torrent.

In order to incentivize seeding, The Hive client sets a default badwidth cost, some arbitrary value, say, 0.0001 hivecoin/kb. A random Hive node is chosen to act as an escrow agent, which receives a large chunk of the payment all at once (Say, 10MB worth) along with the transaction fee, and a small escrow fee. The leacher starts compiling a table that details all of the data he's received. At certain arbitrary intervals, say, once every ten minutes, the table is sent to the escrow detailing all of the data transactions. The escrow releases funds accordingly. If the escrow never receives the table, or if there is extra left over at the end then the escrow keeps the extra.

As the blockchain is aware of all messages to the escrow, there is no risk of the escrow running off with the coin. The blockchain simply moves around the escrow funds on its own. Pending escrow funds wouldn't even show up in an escrow's wallet until some arbitrary and long period of time has passed during which the blockchain has not received contact from the leacher. The escrow service could even be used to reward network nodes, something that bitcoin doesn't manage to do.

In summary, this is an idea for an altchain which completely decentralizes file sharing by creating a listing of torrent magnet links within the blockchain. This replaces the need for centralized listings like The Pirate Bay. The Hive also incentivises seeding which keeps swarms healthy, and incentivises running a chain node which keeps the network healthy.

Possible modifications:


Possible alternatives:


Potential issues:


I'm mostly looking for feedback, here. How hard would it be to include the possible modifications I listed? How hard would the base implementation be? Are there any caveats (technical or economic) that I'm missing? Etc...
Title: Re: The Pirate DAC
Post by: devilfish on December 13, 2013, 07:20:49 am
I like this concept, I was thinking a similar method could be used for implementing a Media DAC (think liberman's thinking along these lines as well) or the Media DAC could "rent" services from Torrent DAC to use for it's distribution mechanism. I think this idea could could (and should) be implemented ASAP as it has huge potential.
Title: Re: The Hive
Post by: devilfish on December 15, 2013, 08:32:06 am
http://piratebrowser.com

Interesting development
Title: Re: The Hive
Post by: 8bit on December 15, 2013, 10:20:11 am
http://piratebrowser.com

Interesting development

PirateBrowser is cool, but it's a bandaid, unfortunately. All it does is allow people in countries where the TPB IP has been blocked to access TPB by routing through the Tor network. If blocking TPB became popular, it would lose its effectiveness as there would be very few suitable exit nodes.
Title: Re: The Hive
Post by: devilfish on December 16, 2013, 08:47:21 am
http://piratebrowser.com

Interesting development

PirateBrowser is cool, but it's a bandaid, unfortunately. All it does is allow people in countries where the TPB IP has been blocked to access TPB by routing through the Tor network. If blocking TPB became popular, it would lose its effectiveness as there would be very few suitable exit nodes.

True true