<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Bandwidth Donation Protocol</title>
	<atom:link href="http://blog.stevex.net/2008/12/bandwidth-donation-protocol/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.stevex.net/2008/12/bandwidth-donation-protocol/</link>
	<description>Software development and other notes.</description>
	<lastBuildDate>Fri, 03 Feb 2012 14:03:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: stevex</title>
		<link>http://blog.stevex.net/2008/12/bandwidth-donation-protocol/comment-page-1/#comment-493908</link>
		<dc:creator>stevex</dc:creator>
		<pubDate>Thu, 01 Jan 2009 13:25:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.stevex.net/?p=1260#comment-493908</guid>
		<description>Good points, Seth.  Yes, it does require that the podcast trust the donors.  One of the constraints on the BDP is that it can&#039;t require changes to iTunes or extra software on the client.  Maybe this is a showstopper.

One possible solution would be to have a donor verification mechanism that ensures that you at least know who the donor is, so you have some recourse if they mess with you.  Something like requiring you to make a $1 cash donation via credit card to get your donation server added.

Redirecting back to the server when the donator decides it doesn&#039;t want to donate any more bandwidth is a good idea.</description>
		<content:encoded><![CDATA[<p>Good points, Seth.  Yes, it does require that the podcast trust the donors.  One of the constraints on the BDP is that it can&#8217;t require changes to iTunes or extra software on the client.  Maybe this is a showstopper.</p>
<p>One possible solution would be to have a donor verification mechanism that ensures that you at least know who the donor is, so you have some recourse if they mess with you.  Something like requiring you to make a $1 cash donation via credit card to get your donation server added.</p>
<p>Redirecting back to the server when the donator decides it doesn&#8217;t want to donate any more bandwidth is a good idea.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seth Sticco</title>
		<link>http://blog.stevex.net/2008/12/bandwidth-donation-protocol/comment-page-1/#comment-493743</link>
		<dc:creator>Seth Sticco</dc:creator>
		<pubDate>Thu, 01 Jan 2009 00:34:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.stevex.net/?p=1260#comment-493743</guid>
		<description>This places a lot of trust on the donor.  They&#039;re trusting that you won&#039;t send a corrupted/altered copy of the data.  BitTorrent has measures to prevent that sort of thing when sharing bandwidth.  HTTP redirects don&#039;t.

The other thing I notice is that you don&#039;t really need the 200 different urls.  They should just have a pool of donors (and place themselves as a possible donor).  When a request comes into what I&#039;m going to call the master server, they can redirect to a random donor.  If a donor server decides that it&#039;s served up enough bandwidth, it can respond to requests with a redirect back to the master server, which will randomly re-redirect them to a different donor.  At the same time, the donor can notify the master server so it&#039;ll stop sending people over.  The reason why the donor would have to notify the master server itself instead of the master automatically detecting redirects back is to prevent other people from maliciously cutting off a donor by crafting fraudulent requests.</description>
		<content:encoded><![CDATA[<p>This places a lot of trust on the donor.  They&#8217;re trusting that you won&#8217;t send a corrupted/altered copy of the data.  BitTorrent has measures to prevent that sort of thing when sharing bandwidth.  HTTP redirects don&#8217;t.</p>
<p>The other thing I notice is that you don&#8217;t really need the 200 different urls.  They should just have a pool of donors (and place themselves as a possible donor).  When a request comes into what I&#8217;m going to call the master server, they can redirect to a random donor.  If a donor server decides that it&#8217;s served up enough bandwidth, it can respond to requests with a redirect back to the master server, which will randomly re-redirect them to a different donor.  At the same time, the donor can notify the master server so it&#8217;ll stop sending people over.  The reason why the donor would have to notify the master server itself instead of the master automatically detecting redirects back is to prevent other people from maliciously cutting off a donor by crafting fraudulent requests.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

