[p2p-hackers] network coding put to practical p2p content dist.
use
Nick Johnson
arachnid at notdot.net
Sun Jun 19 20:59:48 UTC 2005
On 17/06/2005, at 5:30 PM, Alen Peacock wrote:
> Bram Cohen makes some interesting arguments against such a scheme:
> http://www.advogato.org/person/Bram/ (Nov 7 2004 entry, "erasure
> codes").
His arguments there are mostly specious. He states "One possible
benefit erasure codes is that when sending data to a peer there are
so many potential pieces that you can send any random one you have
and it won't be a duplicate. The problem is that the peer may already
have gotten that same piece from another peer, so that benefit is
destroyed, and on top of that the overhead of communicating and
remembering which peer has what is increased tremendously." - a
blanket assertion which isn't true at all. Granted, there's still a
chance that your peer already has the piece you want to send, but the
higher the number of pieces, the lower that chance.
> I'm sure most p2p-hackers readers are familiar with this reasoning,
> but I'm equally convinced that a lot of us don't necessarily agree
> with Bram's stance, at least not in the general case. At the same
> time, I don't think anyone would argue that the costs associated with
> using erasure codes inside a decentralized system (both in terms of
> implementation and processing) aren't significant.
Indeed. Personally, I think the main problem with Fountain codes and
the like is the lack of an easy way to verify individual pieces.
There exists a Homomorphic Hashing algorithm for the purpose, but
it's complex, extremely slow, expands the encoded pieces (though not
by much), and the hashes themselves are large. More development is
needed here before it's a practical system, IMHO.
That said, I'm working on a P2P system where we do intend to use
Online codes (a variant of Fountain codes) - not for piece encoding,
but for the transmission of individual pieces via multicast. This is
where they really shine.
-Nick Johnson
More information about the P2p-hackers
mailing list