I think credit must be given where credit is due - it's good that they've built out Tor and I2P versions of Electrum.
I think it's pretty short-sighted that they haven't engaged with the Electrum dev community to add I2P support to Electrum server, which would allow Electrum volunteers who are already running servers on Tor and/or clearnet to add I2P support to their server if they so desire.
I also think that it's largely irrelevant whether the Electrum server knows your IP or not, you're already providing it with so much metadata that grouping your addresses becomes trivial. Who cares if you only ever use Electrum over I2P, but then you go buy a yoyo online and an attacker gets your physical address from that payment (and they can link every transaction you've ever done)?
Another concern that I have is with I2P's router being written in Java. It's not terrible, but the additional dependency (especially one with such a poor track record) is a little frightening. It's also the primary reason why we've been working with members of the I2P community to get C++-based I2P router projects going, which will allow much better and more direct integration. Hopefully Verge will switch to Kovri when we're at a stable and secure release point:
https://github.com/monero-project/kovriThanks for the detailed input, I agree that an I2P version of Electrum is a nice feature. I have no problems with their developments and didn't have any in the past. The attitude bothers me.
Saw your I2P router project previously, how is it progressing?
Good - we're uncovering lots of stuff-the-spec-says-but-the-implementation-does-differently issues, and it is a COMPLETE pain to secure it, but I think there's a lot of good stuff coming out.
For instance, I2P's reseeding is almost entirely centralised - they have a central maintainer (as in a person) who actively maintains reseed lists!! They're basically unaware of all the stuff that Bitcoin has done on the seeding side, not through ignorance, but because change is hard.
Similarly, they have tons of RNG fallback stuff, but in 2016 the prevailing advice is "
use /dev/urandom or CryptGenRandom()". This wasn't true back-in-the-day, but the implementation no longer reflects the environment.
well, hopefully when you buy that yoyo, its over i2p/tor, as clearnet isnt anon.. somehow kovri completely escaped me. im checking it out now. excellent idea, a cpp version of i2p.. at first i was going to make our qt wallets run on i2p via sam, but with i2p updating so often i thought this would be a foolish move. this does look promising, and i now have new plans for tonight.
edit: yeah this kovri project looks great fluffypony, and i see some of the i2p folks are helping out on it, im excited to play with it