Others have summarized it well but I’ll add my perspective also.
I2P is a decentralized network of peers. All traffic gets routed through multiple peers before reaching its destination. Traffic is also encrypted by multiple layers of encryption and each connected peer can only decrypt one layer, that layer will only contain further routing info so that peer knows the next place to hand off your data. The encryption gets stripped layer by layer until it finally reaches its destination.
What this ultimately means is that by interacting with a website or service through I2P it is virtually impossible to identify any information the user is sending or receiving and it is also impossible to tell where the connections are going or coming from.
To make things even more interesting all I2P routers by default also contribute resources back into the network so while your I2P Router is handling your communication connections, it’s also volunteering to be a connection node in someone else’s connection. This adds further security because now you’ve got many Peer to Peer connections going in and out of your network, all encrypted so any prying eyes will have an exceedingly difficult time trying to make sense of any of your internet traffic.
Tor relies on the good faith of its community to contribute resources to the network and it’s not very well incentivised causing its resources to be far more limited and bogged down. For this reason, Tor cannot sustain heavy torrent traffic without easily being overwhelmed. In I2P, every user is a contributor so the more people who use I2P, the faster and better it becomes.
The big advantage Tor has over I2P are outproxies and the beautifully prepacked Tor Browser. Tor has a lot more influence and money backing it so there are some large and well protected entities that can afford all the legal trouble that outproxies can bring. Unfortunately there just isn’t enough money or legal support in the I2P community to reliably support outproxies even though I2P already has full support for it.
I2P is a fantastic tool for private communication across the Internet and the true ELI5 here is I2P natively supports “anonymous” torrenting (even encouraged it as it strengthens the network further) and will do so privately and securely without any need for a VPN. Adding support to QBittorrent makes it even easier to access I2P torrenting with very minimal set up required.
The only catch here is you can’t go around downloading any old torrent from the Internet on I2P, someone needs to actually be seeding that torrent on the I2P network for you to get any data. There are fully functioning tracker sites exclusively within I2P that have a huge catalog of content but all is not lost for “clearnet” torrents either. Software like BiglyBT and now QBittorrent, allows users to “bridge” or “cross seed” torrents across the two networks, that way content is shared no matter what network you’re a part of.
BiglyBT has been doing this for a while now but I’m so happy to see QBittorrent finally embracing this as well.
To summarise, I2P is similar to Tor, except that every client also serves as a node, and there are no exit nodes, so you can only access data shared by other I2P clients
Took a quick look at the first few messages and the links: seems like BiglyBT is banned by a lot of private trackers because it’s possible to mod it to spoof the numbers required to stay a member in the private tracker, while also being able to create a torrent file that allows others using the mod to utilize the private tracker without permission. Not sure if any of that functionality has to do with I2P.
It varies wildly between torrents based on activity of the torrent and your I2P tunnel settings. Participation on I2P torrents is definitely significantly lower than normal clearnet torrents (at the moment) so a lot of times there are only 1-2 peers available which often results in roughly 35-60 KB/s but I’ve also seen some more popular torrents download at nearly 1 MB/s. I2P can self update from a torrent, that file generally has high participation, and on average, downloads at speeds above 150 KB/s. There definitely is some bandwidth lost just due to overhead of running the network, fewer hops and more tunnels helps with that though. I usually run about 10 tunnels with Snark, all with 3 hops. If I reduce that to two hops I can still have good privacy but with significantly less bandwidth overhead, I just personally feel the extra privacy of three hops is worth the sacrifice.
Speed and bandwidth rely heavily on the level of participation, more high-bandwidth peers torrenting over I2P will significantly speed things up. With my current setup, my router pushes around 450 KB/s on average just for participating traffic (traffic that is only contributing to other I2P peers) so it’s definitely capable of comparable speeds to that of a VPN.
Oh and I should have mentioned this before, torrenting over I2P also helps strengthen your connection to the I2P network because it introduces you to more high-speed peers to communicate with. Really speeds things up if you’re trying to bootstrap a new I2P router
I2P has quite a few internal torrents with large swarm sizes that you can stress test pretty reasonably with. Another fun thing you can try if you are using I2P Snark (java I2P built-in torrent handler), you can paste magnet links from the clearnet into your client and if you’re lucky some beautiful people out there are cross seeding that torrent and it’ll allow you to take part in downloading clearnet torrents over I2P.
So, if I set up an I2P router on my network and use Qbittorrent, would it theoretically be possible to contribute to I2P using the torrents that I already seed? Or is it not that easy?
You can cross-seed torrents by adding I2P trackers to the tracker list. What helps is when you upload the .torrent file to tracker2.postman.i2p (the only? i2p public torrent tracker) so that others can find the magnet/torrent link and start downloading. That way people can find the InfoHash and also have trackers embedded in the i2p .torrent file to allow you to find seeders.
What I mean is if I create a new torrent of Big Buck Bunny with a InfoHash of b1946ac92492d2347c6235b4d2611184 for example, no one will find my torrent by searching for “Big Buck Bunny”. Unless I post this hash somewhere, advertising “Hey, this torrent is Big Buck Bunny” like what 1337x and other torrent sites do, you won’t “find” it. Basically, we have to use a torrent indexer like tracker2.postman.i2p to search the metadata and find torrents we want. If that makes sense.
I2P has its own DHT so all you need is an InfoHash to start downloading assuming there’s at least one reachable seeder. MuWire is an application that lets you search the DHT. The developer recently abandoned the project though… I haven’t tried it in some time but it probably still works.
I’ll check out MuWire, was unaware that it used DHT.
Also, I am just saying that tracker2.postman.i2p is the only torrent directory we have currently, and its best way to find and advertise torrents for others. Trackers (where your client announces to) are helpful to finding peers of the same torrent.
From my experience, some popular I2P torrents have gotten up to 1 MB/s download, but I usually average around 200 KB/s. While it is not blazing fast, it does provide a good deal of anonymity for everyone involved with the torrent.
Also, you can lower the anonymity and increase speeds by reducing the number of hops from 3 to 2 or 1. You can choose how “anonymous” you’d like to be while torrenting, at the cost of speed.
What stops governments/LEO/copyright dragons from spinning up thousands of the fastest/most accessable i2p nodes so that clients connect to them first, then these hosts log the traffic paths to identify origin/destination?
Others have summarized it well but I’ll add my perspective also.
I2P is a decentralized network of peers. All traffic gets routed through multiple peers before reaching its destination. Traffic is also encrypted by multiple layers of encryption and each connected peer can only decrypt one layer, that layer will only contain further routing info so that peer knows the next place to hand off your data. The encryption gets stripped layer by layer until it finally reaches its destination.
What this ultimately means is that by interacting with a website or service through I2P it is virtually impossible to identify any information the user is sending or receiving and it is also impossible to tell where the connections are going or coming from.
To make things even more interesting all I2P routers by default also contribute resources back into the network so while your I2P Router is handling your communication connections, it’s also volunteering to be a connection node in someone else’s connection. This adds further security because now you’ve got many Peer to Peer connections going in and out of your network, all encrypted so any prying eyes will have an exceedingly difficult time trying to make sense of any of your internet traffic.
Tor relies on the good faith of its community to contribute resources to the network and it’s not very well incentivised causing its resources to be far more limited and bogged down. For this reason, Tor cannot sustain heavy torrent traffic without easily being overwhelmed. In I2P, every user is a contributor so the more people who use I2P, the faster and better it becomes.
The big advantage Tor has over I2P are outproxies and the beautifully prepacked Tor Browser. Tor has a lot more influence and money backing it so there are some large and well protected entities that can afford all the legal trouble that outproxies can bring. Unfortunately there just isn’t enough money or legal support in the I2P community to reliably support outproxies even though I2P already has full support for it.
I2P is a fantastic tool for private communication across the Internet and the true ELI5 here is I2P natively supports “anonymous” torrenting (even encouraged it as it strengthens the network further) and will do so privately and securely without any need for a VPN. Adding support to QBittorrent makes it even easier to access I2P torrenting with very minimal set up required.
The only catch here is you can’t go around downloading any old torrent from the Internet on I2P, someone needs to actually be seeding that torrent on the I2P network for you to get any data. There are fully functioning tracker sites exclusively within I2P that have a huge catalog of content but all is not lost for “clearnet” torrents either. Software like BiglyBT and now QBittorrent, allows users to “bridge” or “cross seed” torrents across the two networks, that way content is shared no matter what network you’re a part of.
BiglyBT has been doing this for a while now but I’m so happy to see QBittorrent finally embracing this as well.
EDIT: https://geti2p.net/en/
So its basically the cooler Tor? Thanks for explaining
Cooler and less cool because no exit nodes. It’s fully separate from normal internet.
There are exit nodes, called out proxies but routers have to set them up themselves
The most known outproxy: https://stormycloud.org/i2p-outproxy/
To summarise, I2P is similar to Tor, except that every client also serves as a node, and there are no exit nodes, so you can only access data shared by other I2P clients
Is my summary correct?
You can have exit nodes, called out proxies on I2P they just have to be manually setup
So it’s like Kazaa, kinda? Are we basically going back to the decentralised P2P days? :-D
Most private trackers ban BiglyBT, hope the same doesn’t happen to QBittorrent
@eya
Why do they ban it?
Issue #1551
That links to a link to a forum with a ton of replies? Can you just copy paste the reason?
Took a quick look at the first few messages and the links: seems like BiglyBT is banned by a lot of private trackers because it’s possible to mod it to spoof the numbers required to stay a member in the private tracker, while also being able to create a torrent file that allows others using the mod to utilize the private tracker without permission. Not sure if any of that functionality has to do with I2P.
Would that not be possible in every other client? Or is it just the easiest to do with BiglyBT?
You can mod any open source client to cheat but most of them don’t give you buttons to do it.
Thanks for such a detailed answer! How does the I2P speeds compare to running torrents over VPN? I assume its a lot slower?
It varies wildly between torrents based on activity of the torrent and your I2P tunnel settings. Participation on I2P torrents is definitely significantly lower than normal clearnet torrents (at the moment) so a lot of times there are only 1-2 peers available which often results in roughly 35-60 KB/s but I’ve also seen some more popular torrents download at nearly 1 MB/s. I2P can self update from a torrent, that file generally has high participation, and on average, downloads at speeds above 150 KB/s. There definitely is some bandwidth lost just due to overhead of running the network, fewer hops and more tunnels helps with that though. I usually run about 10 tunnels with Snark, all with 3 hops. If I reduce that to two hops I can still have good privacy but with significantly less bandwidth overhead, I just personally feel the extra privacy of three hops is worth the sacrifice.
Speed and bandwidth rely heavily on the level of participation, more high-bandwidth peers torrenting over I2P will significantly speed things up. With my current setup, my router pushes around 450 KB/s on average just for participating traffic (traffic that is only contributing to other I2P peers) so it’s definitely capable of comparable speeds to that of a VPN.
Oh and I should have mentioned this before, torrenting over I2P also helps strengthen your connection to the I2P network because it introduces you to more high-speed peers to communicate with. Really speeds things up if you’re trying to bootstrap a new I2P router
I2P has quite a few internal torrents with large swarm sizes that you can stress test pretty reasonably with. Another fun thing you can try if you are using I2P Snark (java I2P built-in torrent handler), you can paste magnet links from the clearnet into your client and if you’re lucky some beautiful people out there are cross seeding that torrent and it’ll allow you to take part in downloading clearnet torrents over I2P.
So, if I set up an I2P router on my network and use Qbittorrent, would it theoretically be possible to contribute to I2P using the torrents that I already seed? Or is it not that easy?
You can cross-seed torrents by adding I2P trackers to the tracker list. What helps is when you upload the .torrent file to tracker2.postman.i2p (the only? i2p public torrent tracker) so that others can find the magnet/torrent link and start downloading. That way people can find the InfoHash and also have trackers embedded in the i2p .torrent file to allow you to find seeders.
Some info on this subject: https://old.reddit.com/r/i2p/comments/xfqvap/how_to_correctly_cross_seed_to_make_clearnet/
Theres a few public trackers, check http://notbob.i2p and click the magnet
What I mean is if I create a new torrent of Big Buck Bunny with a InfoHash of b1946ac92492d2347c6235b4d2611184 for example, no one will find my torrent by searching for “Big Buck Bunny”. Unless I post this hash somewhere, advertising “Hey, this torrent is Big Buck Bunny” like what 1337x and other torrent sites do, you won’t “find” it. Basically, we have to use a torrent indexer like tracker2.postman.i2p to search the metadata and find torrents we want. If that makes sense.
I’ve seeded clearnet torrents to I2P peers many times with BiglyBT without those torrents having I2P trackers, so it’s definitely possible
It would be nice to have qBittorrent auto add I2P trackers to all torrents to help cross-seed them.
I2P has its own DHT so all you need is an InfoHash to start downloading assuming there’s at least one reachable seeder. MuWire is an application that lets you search the DHT. The developer recently abandoned the project though… I haven’t tried it in some time but it probably still works.
I’ll check out MuWire, was unaware that it used DHT.
Also, I am just saying that tracker2.postman.i2p is the only torrent directory we have currently, and its best way to find and advertise torrents for others. Trackers (where your client announces to) are helpful to finding peers of the same torrent.
I2P router means the I2P software on your computer. You don’t have to buy a new router.
You my man, have a brain the sized of a planet! Thanks for all the explanations! ✨
I2P is separate from normal internet. It’s not an alternative to VPN.
Yeah thats fine, I was just wondering how the speed varied from one solution to the other.
From my experience, some popular I2P torrents have gotten up to 1 MB/s download, but I usually average around 200 KB/s. While it is not blazing fast, it does provide a good deal of anonymity for everyone involved with the torrent.
Also, you can lower the anonymity and increase speeds by reducing the number of hops from 3 to 2 or 1. You can choose how “anonymous” you’d like to be while torrenting, at the cost of speed.
Very cool, thanks for sharing.
How are nodes chosen by the client?
What stops governments/LEO/copyright dragons from spinning up thousands of the fastest/most accessable i2p nodes so that clients connect to them first, then these hosts log the traffic paths to identify origin/destination?
deleted by creator
https://geti2p.net/en/docs/how/threat-model#sybil
Good write-up from the I2P team on this topic. Page includes other attack vectors as well.