[Mnet-devel] newbie mnet questions...

Zooko zooko at zooko.com
Sun Jul 11 15:19:48 BST 2004


> 1. There are so many P2P algorithms, can you convince
> me that Mnet is the one I should focus on??  Python
> is my first love so that is one positive already.
> Kademlia, Freenet, eMule, BitTorrent are other potential
> P2P systems one could possibly add anonymity too.
> Please convince me I should focus on Mnet instead.

I'm not sure that you should focus on Mnet, but I'll tell you what I 
know.

The things you list above are in different categories.

Kademlia is a DHT, which is really just one component of a system 
rather than a complete system in itself.  Kademlia is used in eMule, 
which is a file-sharing application.  BitTorrent is "p2p ftp" -- it is 
a file transfer protocol that transfers a file from a single, central 
server, to a potentially large number of clients.  Freenet is a 
decentralized storage system, so it is the only one you listed that is 
in the same category as Mnet.

Two other open source systems that you might be interested in are The 
Circle (written in Python) and GNUnet (written in C).

The Circle:
http://thecircle.org.au/

GNUnet
http://www.ovmj.org/GNUnet/

All four of Freenet, The Circle, GNUnet, and Mnet are several years old 
and have active developer communities.  (Note: the Mnet developers have 
been passive for the last two months, but I expect that to change.)


> 2. I was told Freenet is stalled because it's algorithm
> doesn't really work.

Personally, I think that the basic Freenet concept of achieving 
anonymity by combining forwarding with routing (with the filesystem) is 
flawed.  In my opinion, even if Freenet's latest design (NGrouting with 
erasure coding) can be made to perform well, the anonymity achieved 
will still be minimal -- i.e. it will provide anonymity only against 
very limited attackers.

Mnet does not attempt to provide anonymity.  As I've said, I think it 
would be a mistake to attempt to do that in the same layer as routing 
and the filesystem.  It could be provided in a lower layer in one of 
two ways:

1.  The "one-hop privacy" approach, which means implementing an 
anonymous routing system in EGTP (Mnet's communications layer).

2.  Using an anonymous routing system that someone else has developed, 
such as MixMinion or Tor:

MixMinion:
http://www.mixminion.net/

Tor:
http://www.freehaven.net/tor/

I favor the latter approach.  MixMinion is my favorite, as it is 
written in Python and provides stronger anonymity than Tor does (at a 
cost in performance and complication...)


>   I'm a little scared because Mnet
> also says their algorithm is an example of "emergent
> behavior".  This to me hints of complicated artificial
> intelligence ideas that aren't really practical.  I could
> be wrong.  I think Kademlia looks like it's algorithm is
> solid so I wonder why Mnet is better and worth my time.
> I want to be convinced.

The design of Mnet v0.7 is simpler than that of Mnet v0.6.  I described 
it in 4 minutes at PET workshop:

http://lists.mnetproject.org/pipermail/mnet-devel/2004-May/003407.html


> 3. Is it easy to pick up??? Easy docs and commented code, etc.?

We have tried to make it easy to pick up.  We've spent a lot of effort 
cleaning and documenting the source code, etc.  Please try to pick it 
up, and post to this list about anything which slows you down.  I.e., 
please post to the list if the web pages or documentation are 
incomplete or incorrect, etc.


> Christian Seberino, Ph.D.
> SPAWAR Systems Center San Diego

Are you investigating anonymous decentralized storage systems as part 
of your work at SPAWAR?

Regards,

Zooko



More information about the Mnet-devel mailing list