I might not have a clue (at this point) as to what useful data is being transferred however as you’ve said I will be able to work out that you are on the SAFE network as opposed to some other network. There is obviously going to be some aspect of the protocol that differentiates SAFE nodes from an Etherium node. When one node wants to make a request of another they are going to have to become acquainted with each other. On first contact a node cannot just start sending requests encrypted in a way the other node cannot understand - there has to be some pattern. I might not be able to look inside the payload but there will be at least a point early in the conversation between nodes that tells me they are SAFE nodes.
OK, so now I’m going to propose a kind of double pronged attack:
- I get ISP’s to redirect people trying to connect to the bootstrapping servers to servers of mine. Each new users is directed to a tiny network where I own all nodes apart from theirs. They create their account within my network and I also relay their requests into the real SAFE network so they have an account here too.
2: While they are in my network I quickly try to exploit a finite set of vulnerabilities; maybe with the SAFE client update process, with their OS’s implementation of the TCP stack, etc. If I compromise the machine great, I’ve got as much control as I need. If not then at least they will tell me their public key and I can record this. Once I’ve done as much as I can here I let them connect directly to nodes on the real SAFE network and they shouldn’t have any idea that they were in my network at all.
The reason I want their public key is because if I can then tell what a certain exchange of data, encrypted with their PK looks like.
-
To keep terms simple I’m going to talk TCP here but same applies if UDP is used. I start searching for public data on SAFE that I don’t like and keep a database of the parts of the TCP segments that are encrypted by SAFE after they’ve it’s been decrypted on my node.
-
I now have a DB of decrypted data that I know to be illegal. I also know public keys of nodes so I can tell what this data looks like encrypted with those public keys - and therefore what an illegal transfer looks like on it’s way to a particular node.
-
I give a DB to ISP’s and tell them to tell me about any TCP segments that come to rest on a particular machine that match any of the records in the DB I’ve given them.
I think this process would mean I can perform blanket analysis of the entire network obviously assuming cooperation with ISP’s.
Even if I couldn’t “hijack” the bootstrapping server (step 1) I’d still be able to do a lot of this (just not quite as quickly and cheaply). Replace step 1 with me putting quite a lot of my own nodes in the SAFE network. I start harvesting public keys as requests come into my nodes/vaults and use these in the same way to predict what illegal requests of public data will look like.
Sound feasible?