Messiah is a proof-of-concept application for Calvin, a distributed trust system. For more about Messiah, click here.

File sharing can be broken into two problems:

  1. Identifying the file a user wants to download. This requires mapping some end-user-visible key to a machine-relevant value such as a content hash.
  2. Distributing this file to the user's machine.
Freenet solves the second problem directly and provides two primitives that can be used to solve the first problem. One primitive allows anyone to set the value for a key (KSK). This leads to anarchy, because anyone can alter the key->value mapping. To avoid this anarchy, Freenet allows any individual user to become the authority for a given key->value mapping (SSK). This leads to a world of many small dictatorships.

What Freenet does not provide is a primitive that makes it easy for users to arrive at a value collaboratively. We believe that this primitive is essential in order to advance the state of file sharing.

To implement this primitive we designed a system with the follow characteristics:

Applications built with Calvin use this collaborative key->value mapping primitive to find the highest-quality data for a given key available in the network.

The algorithm at the heart of Calvin is useful for applications which map an end-user-visible concept of an "asset" to a content-addressible "resource". Music sharing, for example, is particularly straightfoward: the asset is an id in the FreeDB music categorization system. The resource is the Freenet content hash key (CHK) of some encoding of that music.

In addition to music sharing, Calvin has wide applicability to other problems where collective resource categorization is desirable: