MUTE Technical Details
EncryptionNeighbor connections in the MUTE network are built on top of secure streams that use:
Routing TablesMUTE's ant-inspired backrouting algorithm uses routing tables to track which neighbor connections are associated with particular sender addresses. For example, we might receive a series of messages from Alice, and these messages might be sent to us through three out of our five neighbor connections. When we receive messages addressed to Alice, we should route them back through the neighbors associated with messages from Alice. Given that we might receive messages from Alice through more than one neighbor, various algorithms can be used to decide which neighbor to send a particular message through.
MUTE uses a probabilistic algorithm for backroute selection. For each recently seen sender address, MUTE keeps a queue of pointers to recent neighbor connections on which we have received messages from that sender. For example, we might track the last 100 neighbors that sent us messages from Alice. If we are tracking three sender addresses (Alice, Bob, and Eve), and we have five neighbors (numbered 1 to 5), our routing table might look like this:
Looking at the pattern in this table, we can see that most messages from Eve came to us through neighbor 4---our best bet when routing messages back to Eve would be to send them through neighbor 4. Briefly connecting this table with our ant motivation, the connection with neighbor 4 has the strongest "from Eve" pheromone scent.
If we receive a message addressed to Alice, we select Alice's column from the table, select one of the neighbor entries uniformly at random, and route the message through that neighbor. This scheme prefers to route messages through the most popular paths, but occasionally routes messages through less popular paths.
SearchingMUTE File Sharing uses distributed search based on controlled flooding to locate files by name based on free-form query strings. While many other P2P networks control flooding using a TTL scheme, MUTE introduces a more effective and scalable mechanism called utility counters.
ProtocolMUTE uses a human-readable text-based protocol. The most recent protocol specification can be read online via CVS. The ".txt" files in the "doc" directories give specifications for the various protocol layers:
(1) Message routing protocol:
(2) File sharing protocol (built on top of message routing layer):
They say, "DON'T EVER ANTAGONIZE THE HORN."
Their lips move, but no sound comes out.
Who really listens to the people on TV?