On 06/05/14 15:29, Michael Rogers wrote:
I'm interested in your work because the hidden service protocol doesn't seem to perform very well for hidden services running on mobile devices, which frequently lose network connectivity. I wonder if the situation can be improved by choosing introduction points deterministically.
Unfortunately, I don't really see how anything I have done could have helped with this. Assuming that the mobile device has maintained connectivity during the connection phase, and you now have the 6 hop circuit through the RP, the behaviour from then on is unchanged, and this is where I assume the problems with loosing connectivity occur?
On 30/04/14 22:06, Christopher Baines wrote:
- multiple connections for one service to an introduction point is
allowed (previously, existing were closed)
Does this mean that at present, the service builds a new IP circuit (to a new IP?) every time it receives a connection? If so, is it the IP or the service that closes the old circuit?
Not quite. When the service (instance, or instances) select an introduction point, a circuit to that introduction point is built. This is a long term circuit, through which the RELAY_COMMAND_INTRODUCE2 cells can be sent. This circuit enables the IP to contact the service when a client asks it to do so.
Currently, any IP's will close any existing circuits which are for a common purpose and service.
The modification I attempt to describe above, is the disabling of this functionality. So a hidden service instance (or multiple instances of the same hidden service), can connect to the same introduction point through multiple circuits. There is also some additional modifications needed to make the RELAY_COMMAND_INTRODUCE2 handling work with multiple circuits.