danwent / Perspectives-Server

network notary implementation for the Perspectives project
http://perspectives-project.org
GNU General Public License v3.0
50 stars 13 forks source link

Support request forwarding #40

Open daveschaefer opened 10 years ago

daveschaefer commented 10 years ago

It may help to anonymize requests and increase user privacy if they can send queries anonymously to notaries. Notaries could accept an encrypted client request and forward it to another notary, returning the response on the second notary's behalf. The request could be encrypted with a public key for the second notary, so the intermediary can't read it.

Like this:

[Client] -------> [Notary A] -------> [Notary B] .. [Client] <------- [Notary A] <------- [Notary B]

This would help to prevent behaviour tracking and profiling even if notaries are set up by a malicious entity.

Use case: user could host their own notary and use it solely for forwarding requests, to protect their origin.

This should be an optional feature that is disabled by default. To maintain fast performance the notary operator may want to have multiple copies of cherrypy running behind a load balancer, with some of them handling normal requests and some forwarding, etc.

If we implement #26 , forwarding and shadow-monitoring could possibly share the same data-gathering behaviour to retrieve data from other notaries. Forwarding notaries could even keep cached copies of forwarded replies.

kuba commented 9 years ago

Sounds like Notary Bounce from Convergence: https://www.youtube.com/watch?v=Z7Wl2FW2TcA#t=2448