The purpose of m-stack is to provide a decentralised network focused on sharing references to media files (.torrent, e2dk:// links, and co) or the media files itself.

It relies on existing technologies such as CouchDB, its DB capabilities, collection of JS libraries, widgets, ability to serve over http, etc. Since those technologies already provide a lot of the needed features, this will allow for a fast development and will mostly be (for the beginning) to put pieces together.

The architecture is split in two:

So, the idea is to have the DHT split in pieces and automatically replicated (and distributed, version 0.2) by CouchDB among peers of the network, this will provide a totally decentralized network. With the client you'll be able to browse this DHT and get or push references to files or files themselfves, the results will be ordered and filtered according to simple algorithms based on trust between clients and ranking.

In a longer term, this network architecture could also be used to create decentralized DNS and other similar services.

mammique & Bram, find us on irc://irc.freenode.net/#laquadrature