Hacker News new | ask | show | jobs
by AnthonyMouse 4839 days ago
>For HD quality live streaming with P2P, users need to donate also bandwidth when not watching.

How is that compatible with being live? To supply bandwidth for a live stream you would have to be downloading it simultaneously with uploading it, so if that node is not watching the video then it would be more efficient to have the node it's receiving from and sending to just connect directly.

I suppose if some subset of nodes can upload at a rate faster than the bitrate then you can gain some efficiency by consuming all of their available bandwidth, but unless those nodes have several times more upload bandwidth than the stream bitrate, that would tend to be pretty inefficient.

It seems like the better solution is just to increase the upload capacity for the average peer -- either through political pressure on the telcos to expand capacity, or through market pressure by just enforcing T4T and then offering both high and low quality streams but only offering high quality streams to the users with sufficient upload capacity to keep up with them, which would spur those who can to subscribe to a more expensive internet package with greater upload capacity.

>Unfortunately, going beyond T4T is an open scientific problem.

It seems like something bitcoin-like could work pretty well: Make it so that to get a download credit you either do some serious computation that requires a nontrivial amount of computing resources, or you upload to someone who has credits, and then they lose them and you get them. Which is basically T4T with accounting, except that it scales better because you can adapt to shortages and surpluses of credits by adjusting the amount of computing resources necessary to generate new credits.

It also solves the T4T bootstrap problem. Peers that newly join the network, or who had credits but spent them on something nobody else wants and so can't earn any upload credits because there is no one to download what they have, can crunch for credits instead of uploading and get back into the network.

Any reason you can think of why that wouldn't work?

1 comments

Bitcoin pretty much requires that everyone in the network be aware of all the transactions, to make sure no one can double-spend. I guess the overhead for using a broadcasted transaction for every T4T iteration would be quite large, but maybe that could work. An interesting thought anyway, thanks for bringing this up.