Dist.ribut.us lite
Rather than full p2p, a system for distributing trust between federated servers
Federation Problem
In a federated server system, individual servers can gain power over the whole system. To prevent this, the rules need to be enforced and users should not be associated with an individual server.
Design
Gateway
A gateway is a service that talks to many servers to make sure the system is honest. Gateway software should be light weight and simple enough that a moderately sophisticated user can setup their own gateway.
Server
The servers hold data and facilitate connections. Most communication is user-to-user over WebRTC.
Storage
Data is a simple Key/Value store backed by Bolt. Though it's a little more than that because the key needs to have enough data to locate a server, a database and a bucket.
Services and Applications
A service run on a server, an application runs on a client. As much logic should be pushed to the application level as possible. Services and applications must be open source.
Community
Censure
Servers can censure each other, which is used in an eigentrust pattern. Gateways keep a log of the servers they trust and update them as that trust changes.
Open Source
All applications and services must be open source. A server running closed source or modified code should be censured by the community
Forgetful
Services should not spy on users, should not retain any information other than that requested by the user.
Profits
User based advertising is strictly forbidden. It is acceptable to run either blind or contextual advertising. Blind advertising being a rotation of advertisements that do not take the user into account at all. Contextual advertising being based on the current context, but with no individual data being taken into account at all. For instance, when a user performs a search, the server can choose to display an advertisement based on the search terms. Or if a user is viewing an image with meta data, advertising based on the meta data is acceptable. But the association between the user and the context must be ephemeral.
Better would be for users to pay for access to federated servers. This is a divergence from the norm, but perhaps with mom-and-pop servers where the users actually know the administrators, this could be established.