Bitcoin Forum
July 24, 2019, 08:14:04 AM *
News: Latest Bitcoin Core release: 0.18.0 [Torrent] (New!)
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Bitcoin + BitTorrent integration discussion.  (Read 3388 times)
gubatron
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile WWW
December 16, 2013, 10:24:15 PM
 #1

Last week we started a conversation on the BitTorrent Developer community about the possibilities of integrating BitCoin on BitTorrent clients.
http://torrentfreak.com/bittorrent-client-devs-work-on-bitcoin-integration-131213/

Our initial intention was to start with something very simple which would allow BitTorrent users to send donations/tips to Content Creators willing to share their content on the BitTorrent network. We think this can be done simply by adding a new metadata field on the .torrent file which would specify the destination BitCoin address and optionally a suggested BTC amount.

It was easy to see that a lot more could be done when you put together an open P2P filesharing protocol along with an open P2P Cryptocurrency.

Immediatly the conversation evolved to the following:

1. "The trackers/index sites could tamper the .torrents to steal the donations, what about adding tracker donation support?"
So that meant an extending the "announce/scrape/update" BitTorrent Protocol message responses by BitTorrent tracker so they can also include their BitCoin addresses.

Then the conversation opened up to having a simplified BitCoin wallet in the BitTorrent client to simplify donations, this way the user doesn't need to leave the app to make a donation, and when that happens, a world of possibilities is opened up, the most interesting being:

2. BitTorrent + BitCoin as a technology toolset on which on-demand content delivery services (think a Netflix/Spotify competitor) could have solid building blocks to manage content delivery and billing, no matter the country on which customers are. All .torrents provided by the service would be tagged with Bitcoin addresses made specifically for each piece of content, and user account balances would be loaded in either Bitcoin (if the country allows) or in a local currency (and it's then up to the service provider to convert the local currency to BTC and keep everything uniform in Bitcoin deep in the system).

3. Seeding for Bitcoin. This is one of the most controversial ones, and Matt Blue (bitcoinj developer) suggested this could be achieved with Micro-payment channels
https://code.google.com/p/bitcoinj/wiki/WorkingWithMicropayments - The idea is that when seeders announce themselves to trackers they send along their Bitcoin addresses, if a user is experiencing a slow download, the user can specify a certain amount of bitcoin to pay willing seeders for a unit of transfer (to be discussed, bittorrent chunk, byte, megabyte, transfer rate?). Seeders would see the bidding requests and send the pieces to the highest bidders, once the contract has been fullfilled between seeder and downloader, the seeder could request the earned BTC and not send another piece until the micropayment is received. In this process the tracker could also be involved as an escrow and get a small processing fee.

Point number 3 requires bringing experienced Core BitTorrent Protocol developers and Core BitCoin Procol developers together, I was suggested to bring the conversation over here for feedback.

Thanks for your time.
Angel.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
mmeijeri
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500

Martijn Meijering


View Profile
December 16, 2013, 10:25:31 PM
 #2

Maybe better integration with BitTorrent would be useful for initial downloads of the blockchain too.

ROI is not a verb, the term you're looking for is 'to break even'.
mmeijeri
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500

Martijn Meijering


View Profile
December 16, 2013, 10:28:28 PM
 #3

I like to dream that the various P2P networks will start sharing protocol layers. Micropayments for seeding would be an example, others have imagined similar things for routing between meshnets. All could use a common basic overlay layer that robustly exchanges addresses of nodes and broadcasts low latency messages.

ROI is not a verb, the term you're looking for is 'to break even'.
lightcoin
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile WWW
December 17, 2013, 03:34:08 AM
 #4

OP - have you heard of the Bittunes project? Seems very much line with what you're proposing.

www.bittunes.org
xkeyscore89
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
December 17, 2013, 03:41:42 AM
 #5

This is a great idea and if implemented, would serve to further decentralize BTC.
domob
Legendary
*
Offline Offline

Activity: 1068
Merit: 1099


View Profile WWW
December 17, 2013, 06:33:09 AM
 #6

That sounds interesting!  The Namecoin community has also been discussing lately about possibilities for implementing a Torrent tracker / TPB-like directory of magnet links with Namecoin.  This would ensure censor-ship resistance for directories of Torrents (like a searchable directory of Wikileaks documents).  No one there is an expert about how Bittorrent works, but our understanding is that the DHT implementation used makes trackers in the classical sense irrelevant, but does not allow searching / browsing for Torrents whose magnet links are not yet known.  This is the piece that could be implemented by Namecoin.  This could possibly be coupled with BTC/NMC donations to monetise content, as you suggest.  You can take a look here: https://dot-bit.org/forum/viewtopic.php?f=5&t=1381

Use your Namecoin identity as OpenID: https://nameid.org/
Donations: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS | GPG 0xA7330737
phelix
Legendary
*
Offline Offline

Activity: 1708
Merit: 1000


nmc:id/phelix


View Profile
December 17, 2013, 05:28:43 PM
 #7

My prediction: In the not so distant future most home media distribution will take place via p2p systems with data uploaded by the creators themselves who get paid by donations (in addition to concerts an movie theater monetization).

Seriously, I don't see any other way it could happen. Industry #2: prepare for impact.

 Grin

Explanation: Why would the creators themselves seed there hard work? If they don't the warez guys will get all the donations.

blockchained.com ■ bitcointalk top posts
williamj2543
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500

Get ready for PrimeDice Sig Campaign!


View Profile WWW
December 17, 2013, 06:18:19 PM
 #8

Maybe better integration with BitTorrent would be useful for initial downloads of the blockchain too.
Hey,
I don't think that would help much. From what I know the block chain isn't limited at all, and I think it would download at at leats 5 mb/s. Most torrent files will never get a speed above 5mb/s, and the max I have seen is 2.2mb/s. I think that it would just make things slower and more complicated.

█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
▓▓▓▓▓  BIT-X.comvvvvvvvvvvvvvvi
→ CREATE ACCOUNT 
▓▓▓▓▓
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
mmeijeri
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500

Martijn Meijering


View Profile
December 17, 2013, 08:41:13 PM
 #9

Last week we started a conversation on the BitTorrent Developer community about the possibilities of integrating BitCoin on BitTorrent clients.
http://torrentfreak.com/bittorrent-client-devs-work-on-bitcoin-integration-131213/

Do you have a link to the discussion itself? The link you gave points to an article about it, but not to the actual discussion.

ROI is not a verb, the term you're looking for is 'to break even'.
mmeijeri
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500

Martijn Meijering


View Profile
December 17, 2013, 08:43:08 PM
 #10

I don't think that would help much. From what I know the block chain isn't limited at all, and I think it would download at at leats 5 mb/s. Most torrent files will never get a speed above 5mb/s, and the max I have seen is 2.2mb/s. I think that it would just make things slower and more complicated.

I'm not familiar with the details, but see this thread:

[ANN] Bitcoin blockchain data torrent

ROI is not a verb, the term you're looking for is 'to break even'.
murfshake
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
December 18, 2013, 01:21:06 AM
 #11

I got chills reading this post, man.  Could change the world.
amincd
Hero Member
*****
Offline Offline

Activity: 772
Merit: 500


View Profile
December 18, 2013, 01:33:51 AM
 #12

Hey Gubatron, it's nice to see your post on Bitcointalk.

I'm willing to contribute to a bounty on this.
Matt Corallo
Hero Member
*****
Offline Offline

Activity: 755
Merit: 501


View Profile
December 18, 2013, 02:12:20 AM
 #13

Then the conversation opened up to having a simplified BitCoin wallet in the BitTorrent client to simplify donations, this way the user doesn't need to leave the app to make a donation, and when that happens, a world of possibilities is opened up, the most interesting being:
In general, this is a bad idea. Holding Bitcoins on an individual's computer in nothing more than a file with the private keys on it is a terrible, terrible idea (think: malware, drive crashes, etc). Yes, its true that most desktop wallets do it today, but they're moving away from that direction (hardware wallets, offline cold storage, etc). If you move the wallet into a torrent client, you now have to put in as much effort as other wallet creators to ensure security (hint: thats a hard problem, and if you think users are going to listen to your instructions and only move some small amount into their torrent client, you havent met users...). Additionally, users may end up having to pay transaction fees to move bitcoins from their wallet to their other wallet (terrible UX, in fact, just making users move coins between applications itself is a terrible UX). There are better options, and wallets already expose the ability to make payments. As for more advanced features, I think we'll see those being exposed by the wallets to third-party applications (Bitcoin Wallet on Android will hopefully soon support any application opening up micropayment channels).

2. BitTorrent + BitCoin as a technology toolset on which on-demand content delivery services (think a Netflix/Spotify competitor) could have solid building blocks to manage content delivery and billing, no matter the country on which customers are. All .torrents provided by the service would be tagged with Bitcoin addresses made specifically for each piece of content, and user account balances would be loaded in either Bitcoin (if the country allows) or in a local currency (and it's then up to the service provider to convert the local currency to BTC and keep everything uniform in Bitcoin deep in the system).
I may be missing something, but I fail to see how integrating them directly allows for this more than simply using both does? Today, its relatively easy (well, ok, maybe not, but possible) to charge someone for access to your content and then allow downloads assisted by Bittorrent-style downloads (eg WoW).

3. Seeding for Bitcoin. This is one of the most controversial ones, and Matt Blue (bitcoinj developer) suggested this could be achieved with Micro-payment channels
Thats me, for reference.

https://code.google.com/p/bitcoinj/wiki/WorkingWithMicropayments - The idea is that when seeders announce themselves to trackers they send along their Bitcoin addresses, if a user is experiencing a slow download, the user can specify a certain amount of bitcoin to pay willing seeders for a unit of transfer (to be discussed, bittorrent chunk, byte, megabyte, transfer rate?). Seeders would see the bidding requests and send the pieces to the highest bidders, once the contract has been fullfilled between seeder and downloader, the seeder could request the earned BTC and not send another piece until the micropayment is received. In this process the tracker could also be involved as an escrow and get a small processing fee.
Bitcoin doesn't generally support micropayments directly (ie you cant make one-off micropayments very easily without a trusted third-party). The micropayment channels implemented there depend on the idea that A has a long-term relationship with B where neither trust each other to provide service and thus A pays B in tiny increments as B provides service, adding up to some reasonably-seized payment (Bitcoin supports small payments, just not high-volume micropayments). Thus, really the only way to implement this is to have peers make micropayment channels between each other and pay for transfer as blocks/MB/whatever are provided. Not sure it would be worth it for average peers (too much transaction cost/overhead for many peers), but it may be interesting for high bw peers to provide payment as an option.

Point number 3 requires bringing experienced Core BitTorrent Protocol developers and Core BitCoin Procol developers together, I was suggested to bring the conversation over here for feedback.
While we are always open to collaborating, we (bitcoinj devs) hope that the micropayment implementation provided allows pretty well anyone to implement micropayment channels Smiley.

Bitcoin Ubuntu PPA maintainer - donate to me personally: 1JBMattRztKDF2KRS3vhjJXA7h47NEsn2c
http://bitcoinrelaynetwork.org maintainer
PGP ID: 07DF 3E57 A548 CCFB 7530  7091 89BB B866 3E2E65CE
amincd
Hero Member
*****
Offline Offline

Activity: 772
Merit: 500


View Profile
December 18, 2013, 03:40:28 AM
 #14

Thank you for your input Matt Corallo
amincd
Hero Member
*****
Offline Offline

Activity: 772
Merit: 500


View Profile
December 18, 2013, 07:07:09 AM
 #15

https://code.google.com/p/bitcoinj/wiki/WorkingWithMicropayments - The idea is that when seeders announce themselves to trackers they send along their Bitcoin addresses, if a user is experiencing a slow download, the user can specify a certain amount of bitcoin to pay willing seeders for a unit of transfer (to be discussed, bittorrent chunk, byte, megabyte, transfer rate?). Seeders would see the bidding requests and send the pieces to the highest bidders, once the contract has been fullfilled between seeder and downloader, the seeder could request the earned BTC and not send another piece until the micropayment is received. In this process the tracker could also be involved as an escrow and get a small processing fee.
Bitcoin doesn't generally support micropayments directly (ie you cant make one-off micropayments very easily without a trusted third-party). The micropayment channels implemented there depend on the idea that A has a long-term relationship with B where neither trust each other to provide service and thus A pays B in tiny increments as B provides service, adding up to some reasonably-seized payment (Bitcoin supports small payments, just not high-volume micropayments). Thus, really the only way to implement this is to have peers make micropayment channels between each other and pay for transfer as blocks/MB/whatever are provided. Not sure it would be worth it for average peers (too much transaction cost/overhead for many peers), but it may be interesting for high bw peers to provide payment as an option.

Correct me if I'm wrong, but aggregating payments through the tracker could reduce the number of micropayment channels needed, with the tracker having one payment channel to each seed, allowing payments from the tracker to the seeds, and each peer having a payment channel to the tracker, allowing them to pay the tracker, so that when a peer wants to pay a seed, he first pays the tracker, and the tracker then pays the seed, through the already existing payment channels.

Given the payment is made incrementally, the benefit for the tracker to steal the funds would be limited to the size of the increments. As soon as the tracker starts cheating (stops paying forward the peer's payment), the peer would stop making payments to the tracker. All the cheating tracker would get is the increment (1000 Satoshi or whatever), which could be less than the commission they would earn if they behaved honestly.
Matt Corallo
Hero Member
*****
Offline Offline

Activity: 755
Merit: 501


View Profile
December 18, 2013, 07:16:14 AM
 #16

Correct me if I'm wrong, but aggregating payments through the tracker could reduce the number of micropayment channels needed, with the tracker having one payment channel to each seed, allowing payments from the tracker to the seeds, and each peer to could have a payment channel to the tracker, allowing them to pay the tracker, and then when a peer wants to pay a seed, he first pays the tracker, and the tracker then pays the seed, through the already existing payment channels.

Given the payment is made incrementally, the opportunity for the tracker to steal the funds would be limited to the size of the increments. As soon as the tracker starts cheating (stops paying forward the peer's payment to the seed), the peer would stop making payments to the tracker. All the cheating tracker would get is the increment (1000 Satoshi or whatever), which could be less than the commission they would earn if they behaved honestly.
True, that could be a potentially be a less expensive protocol. It is less neat and does remove some anonymity in payment, but its likely not realistically different given a hostile attacker trying to identify people. It does, also, require significant error-checking on all sides to handle various parties trying to rip each other off (using a different tracker, opening a p2p channel?).

Bitcoin Ubuntu PPA maintainer - donate to me personally: 1JBMattRztKDF2KRS3vhjJXA7h47NEsn2c
http://bitcoinrelaynetwork.org maintainer
PGP ID: 07DF 3E57 A548 CCFB 7530  7091 89BB B866 3E2E65CE
amincd
Hero Member
*****
Offline Offline

Activity: 772
Merit: 500


View Profile
December 19, 2013, 08:44:13 AM
 #17

Angel, what kind of assistance do you need to get Bitcoin integrated into the Frostwire client and/or torrent file, and which of the various ideas you touched on do you see holding the most potential?
amincd
Hero Member
*****
Offline Offline

Activity: 772
Merit: 500


View Profile
December 19, 2013, 08:54:13 PM
 #18

I like to dream that the various P2P networks will start sharing protocol layers. Micropayments for seeding would be an example, others have imagined similar things for routing between meshnets. All could use a common basic overlay layer that robustly exchanges addresses of nodes and broadcasts low latency messages.

BTC would allow other P2P protocols like HTTP and Bittorrent to fully realize their potential. There's never been a digital p2p economic layer until now.
mmeijeri
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500

Martijn Meijering


View Profile
December 27, 2013, 06:00:11 PM
 #19

Any updates on this?

ROI is not a verb, the term you're looking for is 'to break even'.
Mabsark
Legendary
*
Offline Offline

Activity: 826
Merit: 1000


View Profile
December 28, 2013, 09:56:42 AM
Last edit: December 28, 2013, 05:42:24 PM by Mabsark
 #20

That sounds interesting!  The Namecoin community has also been discussing lately about possibilities for implementing a Torrent tracker / TPB-like directory of magnet links with Namecoin.  This would ensure censor-ship resistance for directories of Torrents (like a searchable directory of Wikileaks documents).  No one there is an expert about how Bittorrent works, but our understanding is that the DHT implementation used makes trackers in the classical sense irrelevant, but does not allow searching / browsing for Torrents whose magnet links are not yet known.  This is the piece that could be implemented by Namecoin.  This could possibly be coupled with BTC/NMC donations to monetise content, as you suggest.  You can take a look here: https://dot-bit.org/forum/viewtopic.php?f=5&t=1381

Your understanding is correct. The DHT just replaces the tracker functionality, not the indexer functionality. I'm not sure how Namecoin could help with that part though. The indexing pretty much just needs a 20 byte info hash (usually in the form of a 40 char hex string, but it can be base32 as well) and a description. Note that the info hash is not the hash of a .torrent file, it's the hash of the value of the "info" key within that .torrent file, hence the name.

Turning an info hash into a magnet link is simple, just prefix the info hash with "magnet:?xt=urn:btih:", the other parameters are optional.

When you use a magnet link, only part of the corresponding .torrent file is downloaded - the info dictionary - which is the value of the info key previously mentioned.

That's pretty much all there is to know about magnet links.
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!