Mnet
Encyclopedia

Evil Geniuses for a Better Tomorrow

Evil Geniuses for a Better Tomorrow was a startup company founded by Jim McCoy et al. to create MojoNation. After several years, the company ran out of money and laid off most of its employees; Bram Cohen
Bram Cohen
Bram Cohen is an American computer programmer, best known as the author of the peer-to-peer BitTorrent protocol, as well as the first file sharing program to use the protocol, also known as BitTorrent...

 went on to create BitTorrent and Zooko Wilcox-O'Hearn created Mnet out of MojoNation's source code. The company's name comes from the game Illuminati
Illuminati (game)
Illuminati is a standalone card game made by Steve Jackson Games , inspired by The Illuminatus! Trilogy by Robert Anton Wilson and Robert Shea. The game has ominous secret societies competing with each other to control the world through sinister means, including legal, illegal, and even mystical...

 by Steve Jackson Games
Steve Jackson Games
Steve Jackson Games is a game company, founded in 1980 by Steve Jackson, that creates and publishes role-playing, board, and card games, and the gaming magazine Pyramid.-History:...

.

MojoNation

At the time it was first publicly released, MojoNation included several notable features:

Evil Geniuses Transport Protocol (EGTP)

EGTP is a general-purpose P2P messaging protocol, comparable in scope to JXTA
JXTA
JXTA is an open source peer-to-peer protocol specification begun by Sun Microsystems in 2001. The JXTA protocols are defined as a set of XML messages which allow any device connected to a network to exchange messages and collaborate independently of the underlying network topology.As JXTA is based...

, but it was released in a working state before Jxta was even announced. EGTP provides persistent identities (based on public-key cryptography) for nodes, end-to-end encryption, message relaying to get through NATs and firewalls, pluggable transports (called "communication strategies" or "commstrats" for short), and an efficient marshaling format (mencoding, similar to the bencoding
Bencode
Bencode is the encoding used by the peer-to-peer file sharing system BitTorrent for storing and transmitting loosely structured data.It supports four different types of values:* byte strings,* integers,* lists, and* dictionaries ....

 later used in BitTorrent). EGTP allows arbitrary protocols to be built on top of it; the MojoNation application was composed of several request-response services (described below) that ran on EGTP.

Mojo Economy

Mojo was a digital cash currency that aimed to provide attack resistance and load balancing in a fully distributed and incentive-compatible way (see Agoric computing). Every pair of MojoNation nodes maintained a relative credit balance, with every EGTP request transferring some Mojo credit from the sender to the receiver. Once the absolute value of the debt between two nodes exceeded the size of a Mojo token, the side with the negative balance would transfer a token to the other, clearing out the debt. Because transferring a token was a relatively heavyweight event, tokens were worth 20,000 (?) Mojo. A MojoNation component called the token server acted as the mint, allowing MojoNation nodes to securely transfer Mojo.

In early versions of MojoNation, users were required to set prices for any services their node provided. Most users had no idea how to choose prices, so the Mojo layer was rewritten to use a second-price rolling auction
Auction
An auction is a process of buying and selling goods or services by offering them up for bid, taking bids, and then selling the item to the highest bidder...

. Each node maintained a queue of incoming requests that had not yet been processed, sorted by a bid field contained in each request. Requests were serviced in order, from highest to lowest bids. This shifted the burden of pricing decisions from servers to clients: each user could set a price he was willing to pay for services, and his node would offer that bid in outgoing requests. This scheme was intended to create a simple feedback loop: if the system is responding slowly, increase your bid and if the system is responding quickly, decrease it.

File Publishing System

The only application built on the EGTP/Mojo framework was a distributed file publishing system. Users could publish files, which would be stored on other MojoNation nodes. During the publishing process, the file was encrypted and redundantly encoded into many small blocks using an information dispersal algorithm. These blocks were then uploaded to any nodes that were running the "block server" service. Publishing a file generated a unique identifier (similar to a Freenet
Freenet
Freenet is a decentralized, censorship-resistant distributed data store originally designed by Ian Clarke. According to Clarke, Freenet aims to provide freedom of speech through a peer-to-peer network with strong protection of anonymity; as part of supporting its users' freedom, Freenet is free and...

 SSK) that was required to download and decrypt the file. If the user wished a file to be publicly available, she could send the identifier to a "content tracker" service.

Downloading files is the reverse of the publishing process: a user either sends a query to a content tracker and gets a list of identifiers in response or obtains a file identifier out of band, then asks block servers for the appropriate blocks, and then inverts the IDA and encryption algorithms to recover the original file.

Unlike file sharing systems (which never send any data over the network unless it has been requested), most file publishing systems (with the exception of BitTorrent) have not attracted large numbers of users.

External links

The Mojo Nation project page on SourceForge lists as a homepage
Homepage
A home page or homepage has various related meanings to do with web sites:* It most often refers to the initial or main web page of a web site, sometimes called the front page ....

http://www.mojonation.net/ which:
  • on December 23, 2005 redirected to a commercial service.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK