What your describing doesn't sound much diffrent from the way freenet works. In addition to using proxys, there is no way of knowing weather a request came from a proxy or a user. And no way to know if the file is being served by a user or a proxy. And encryption.