I'm quoting Anonymint from another thread where he talks about I2P on top of anonymous coins, to ask a development question on how we can implement I2P in Darkcoin.... I've bolded the part which I want to highlight:
However, these low latency networks admit in their FAQs that they are not able to obscure from an adversary who can see both the entry and exit traffic because timing analysis can be employed. If you only have a few pools, then the exit nodes for mining shares and transactions should be known and hackers can target their ISP or upstream router (correct me if I am wrong).
Regarding DRK, I2P integration is planned because without IP obfuscation, anonymity is bust... so, my question is this: Can an I2P network (or the wallet?) be configured in such a way as to group broadcasts at certain time intervals? Like once per minute at 13:56:00, 13:57:00, 13:58:00, 13:59:00, 14:00:00 etc. In this way it would be much more resistant to timing-analysis (or so I figure - may be wrong).
Just throwing thoughts around.
That's a pretty interesting idea. The problem though is timing is _hard_. Network latency still could make timing attacks possible. One potential would be to use a transmitter proxy of sorts. Where you would build and sign your transaction but not broadcast it. Then send it to the proxy to broadcast onto the network. Now obviously this has problems - you have to trust the proxy to not be logging your information, but if you access it via tor/i2p/vpn/whatever and send the transaction over SSL (with a competent server using forward secrecy correctly!) it would be virtually impossible to de-anonymize you.
One other potential option would be to utilize masternodes for more services - which I REALLY hope evan has plans to do, in my eyes that is where the real value in darkcoin lies (after privacy of course!) What I mean is you could send raw transactions to a MN and have them transmit it to the network. Of course rogue MN's would be a problem. But I think there are some creative solutions that could get around that.
It's easy for a coin to pass this burden onto the user - obscuring their IP from the network - but the fact is by not doing something about it, another coin will. Now public address secrecy is 1000x more important - because as it currently stands, users have a lot of ways of obscuring their IP that more likely than not are beyond sufficient (but not user friendly) - but no way to obscure public address. So once darksend is complete, work on IP obfuscation should be thought about.
Okay I know I'm rambling here by now, but another interesting idea came to mind.
A P2P client network. Raw - unpublished - transactions can be sent over it. Within it a random number of hops would be encoded and should be decremented at every hop. The first hop getting the tx would have no idea if the node that forwarded it to them was the original sender, or if they were 20 iterations into the cycle. Sybil attacks come to mind, but there are ways around that! But I am done rambling for now. Back to real work.