Why is I2P set as a server for I2P and shares traffic when Tails is set as client only for the TOR network ?
How is the attention of bringing all that traffic to a PC helping with anonymity. ?
Also most people are ignorant that they are a tails I2P server so shouldn't it be auto set to client read only until the user decides otherwise or at least release a version of Tails without I2P installed so a PC with more than 1 user can't accidentally be started as a server by the ignorant clicking around the menus.

I2P is designed around the idea that every node should be "participating", i.e. relaying other I2P users traffic. After all, it is I2P's default setting to have it enabled. Assuming that very few I2P users deviate from this default, if we'd disable it, it'd make "non-participating I2P users" a way to identify Tails users with some probability.
That's irrelevant. I2P makes no real effort to hide the fact that you're using it even if you use the Hidden mode (i.e. no participating traffic, and your IP address isn't published in the I2P NetDB). Essentially I2P in Hidden mode is the same as being a Tor client that's not using a bridge. Hence the adversary would just have to keep a list of all participating I2P nodes (trivial) and check whether you're connecting to any of them (trivial in Tails' threat model).
So, until I2P implements something like Tor bridges (they have a proposal for it called "fully restricted routes") the Hidden mode is irrelevant w.r.t. attracting attention. If anything it may attract more attention because an adversary may interpret it as suspicious (i.e. clueless users that want to be "extra anonymous" activate it).
@ good points:
I'm amazed to see a (basically) good technical point after the thread has gone this wild. While this point isn't completely correct, it at least lead me to realize another reason to run I2P in hidden mode which I believe is valid.
It's true that short-lived participating I2P nodes that kill their I2P identity (due to lack of persistence in a live environment) after shutdown are of limited worth to the network since they won't earn enough reputation to relay with full capacity. They won't harm the network, though, just not achieve their full potential. They can improve their reputation somewhat by making the I2P identity persistent (see ?todo item).
As you can see, short-lived participating nodes, with or without persistent I2P identity, are not harmful. What is harmful is to kill I2P ungracefully, and I expect this to be a prevalent behaviour among Tails users. For I2P to shutdown gracefully, it needs up to 11 minutes to let all its current participatory tunnels to expire. Killing I2P before that makes peers using these participatory tunnels experience timeouts and disconnects, which most definitely is bad for the network. Since Tails users are likely to shutdown Tails quickly without waiting these 11 minutes, this is a good reason to enable hidden mode = disable participating traffic.
See the new todo item ?i2p hidden mode.
The level of confusion in this thread is astounding. Below I will try to tackle the worst of what I sampled (I don't have enough sanity to read all of this thread), and I will answer the same thing repeatedly in hope that that will make it sink in.
The short tl;dr is: I2P is safe in Tails' threat model, with or without "hidden mode".
The longer tl;dr is:
So, here comes the Tails vs. I2P FAQ or something like that:
@ Confused:
I2P uses a different protocol, yes. Even a sophisticated adversary most likely can't identify I2P traffic going through a Tor circuit. For the record, Tails doesn't pipe I2P through Tor. I2P conntects directly to the Internet, like it is intended.
However, what matters is this: When using I2P any adversary with the same capabilities as your ISP can easily see that you are connecting to the I2P network. It's equally simple for such an adversary to see that Tor client connects to the Tor network. This is what's relevant.
Correct.
Incorrect. You need to start I2P for it to make any difference. The difference it makes is that an adversary that can observe your traffic (e.g. you ISP) can see that you are using both Tor and I2P in parallel. If that is an uncommon combination it could serve as a way to identify Tails users that start I2P, but I suspect it is common enough to make such a classifier very inefficient.
This is very unlikely, and it should be pointed out that Tor is no better in this respect (in fact I2P uses much stronger crypto than Tor currently does).
I2P and Tor are completely equal in this regard.
The camouflage/cover-traffic argument is pretty weak, I have to admit, but it never was the main argument in favour of participating in I2P. Doing cover traffic right is hard, and what you suggest isn't good enough. For it to do anything it has to be a constant cover flow, and even then it's arguable how efficient it is.
Yes. So the situation is the same as with Tor; both ISPs can see that one of them is a Tor client since the other is a Tor relay, which is public knowledge.
@ Tails handles i2p and Tor traffic separately
I2P doesn't cache any traffic it relays, so that encrypted data only lives in RAM.
@ comment 109
This is a very good post which clearly outlines the differences (or rather the lack of) between I2P and Tor. I recommend everyone to read it.
@ comment 113:
The same applies to the Tor relay that makes the final direct connection to the Tor hidden service. If what you describe is an issue the Tor network is doomed, since all relay operators are in the same situation as the I2P users. Luckily it isn't the case since relays in both Tor and I2P has pretty good deniability in this situation.
@ comment 114
Please realize that "sharing your IP address" in this context only means that whoever you shared it to knows that you are using I2P, not your activities within I2P.
When you use Tor every eavesdropper between you and the Tor network will know it, and that includes you ISP, government, NSA, ECHELON etc. In other words real adversaries will still see that your IP address connects to the Tor network. The same goes for I2P with hidden mode. At least Tails' threat model assumes such an adversary, so additional vectors of learning this fact (e.g. through I2P's netDB) are redundant and harmless.
@ comment 115
I changed my mind about the "hidden mode" option. Prior to comment 110 I hadn't thought about the nasty implications of ungracefully shutting down I2P. Sorry for the confusion.
I still think the best would be if Tails users could be participating I2P nodes so they won't leech the network. Then we could advertise I2P as the service to use for file-sharing and other things which are bad for the Tor network. But with I2P in hidden mode it's just as for the I2P network as it is for the Tor network.
And I definitely still think that "hidden mode" is irrelevant w.r.t. anonymity.
@ comment 117:
For the record, when using Tor you are also connecting directly to the Tor network (well, your Entry Guards). That's unavoidable. It's equally unavoidable to "leak" your IP address to all eavesdroppers between you and the Tor network (e.g. your ISP) (see answer to comment 114 above). So while what you say is almost true, it has no adverse implications for anonymity.
This is completely incorrect. Both the client and destination in I2P builds their own tunnels that "meet" at some other node, so in other words it works (essentially) the same as with TorHidden services. This grants anonymity to both the client and destination; neither will know the other's IP address.
@ comment 119:
Liberte Linux' does that for completely different reasons: it proxies I2P through Tor. The reason Liberte does this is to make I2P work better behind excessive firewalls that only allow e.g. HTTP(s) traffic, for which Tor works somewhat better on its own. If hidden mode wasn't set in such a setup, the Tor/I2P client's IP address may be leaked in the I2P traffic to the Tor exit node, which is quite unneccesary as it kills any potential extra anonymity that Torification of I2P provides.
@ comment 121:
I2P has the same anonymity properties of Tor, so you are equally "protected" when using I2P on its own.
I think you have got confused by the (many) incorrect posts by uninformed users above because this doesn't make any sense. Tor is an anonymity network. I2P is an anonymity network. Why is directly connecting to the I2P network worse than directly connecting to the Tor network? In order to communicate with a computer over the Internet your IP address will leak no matter what. That's what the IP address is for, so people can send you shit back. And that's required with both Tor and I2P to use their anonymity service.
@ Disclaimer: I am an I2P developer:
Thanks for a very enlightening post!
Sure, but you have to admit (well you do in the next quote actually :)) that "hidden mode" is a very weak protection against censorship which is equivalent to detection that one is using I2P? In fact "hidden mode" is to me a sort of misnomer (router.participating=BOOL or similar would be more honest and less confusing, IMHO) as it gives the impression that it makes you hidden, akin to using bridges with Tor. What "hidden mode" in fact does is to put the I2P client in the exact same situation of a normal Tor client (not using bridges).
This is what I've been trying to say all along so please, other readers of this thread, make note of this: "hidden mode" is not a solution to hide the fact that you are using I2P. At least when dealing with the adversary in Tails' threat model.
@ comment 128:
Say that the computer runs a Tor relay instead of a participating I2P node. Then every other Tor relay that connected to the computer (and every Tor client if the computer's Tor relay got the Guard flag) is in the same position. I'd find it much more likely that an operator of a Tor hidden service also runs a Tor relay compared to a participating I2P node. I expect either to be very uncommon, though.
Hence your example doesn't show that anything particular to I2P is broken. Rather it says that a responsible Tor hidden service operator shouldn't run other services on the same host (except other Tor hidden services, of course).