Question Regarding Latency and Privacy of the Meshnet

This post refers to Skywire earlier on in its formation, before it was named Skywire. Adapted from a bitcointalk post dated August 09, 2014.

Quote from: CraigM on August 09, 2014, 07:20:24 AM

The meshnet is intended to be a nice privacy tool with benefits comparable to tor, but lower latency correct?

The meshnet is intended to allow funding nodes via micropayments in skycoin to cover bandwidth costs correct? Doesn’t this leave force all node operators to record detailed and published logs (on their personal block chains) describing all the transactions which inherently correspond to everyone who send data through their node? This seems like it would allow any third party to do traffic correlation attacks much like the ones on tor, except you don’t need access to the connections. Even if they don’t end up being publicly inspectable, logging everything seems like it might have some real issues (it can be requested by law enforcement, and takes up a lot of space)

The initial version is going to ship with centralized route finding server correct? This means if you want to connect to someone, you have to tell a third party about it, correct? It seems like this is not a Tor like privacy service until that’s fixed. Is there reason to believe you will find a solution to this soon (or ever: its hard)?

How do you find a route to this trusted third party which will do route finding for you? I assume you will just special case it (don’t use sender side route selection), but I’m curious if you have another design.

Response

Yes. It is actually faster than TCP/IP. ISPs do “hot potato” routing. The latency should not be worse than TCP/IP and in theory can be faster.

The privacy guarantees are

So it is like a very low latency TOR with micropayments for bandwidth.

Route Servers

Yes route servers are a weak link. For maximum privacy you should run your own internal route server.

However, if you do use a public route server, you are connected to it through several hops, so it cannot identify you. It would still be safer to run your own.

Handling of Micropayments for Bandwidth

The way micropayments are handled, is through a third party. The node connects to a “gateway”, deposits a coin with the gateway to get a credit. The node can now generate pseudonymous 64 bit “addresses” with the gateway. The gateway does not know the identity of the connecting node. It only knows the previous hop the connection came through.

So if you establish twelve connections to the gateway, they look like twelve different users to the gateway. Eventually communication to the gateway will be over an asynchronous messaging channel.

The node forwarding the bandwidth, connects to the gateway also. The two nodes can now pay each other through the gateway, without the gateway knowing the identity of either of the two nodes. When a node has enough coins in credit (a full coin), it can generate a new Skycoin address and withdrawal the coin to that address. Gateways are only handling small amounts of coins

A gateway in the Skycoin protocol is any server that holds coins or account balances on behalf of 3rd parties. Gateways are deposit institutions and they have their own protocol and API.

Eventually,

Your suggestion of having a public blockchain for the internal balances in the gateway is interesting. I think putting the internal transactions on a public personal block chain, could keep exchanges honest while still maintaining user privacy.

Translation bounty for Русский, 한국어, 日本語, 中文: 8 SKY

Translation bounty for other languages: 4 SKY

Discuss this post on telegram

Skycoin Telegram