• Buttermilk@lemmy.ml
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    So how does I2P work, I vaguely remember something about it like slowly building a network as you keep your own connection on, and that the architecture makes it much better for torrenting. Is it worth looking into and learning about or is it just slow bad internet?

    • ReversalHatchery@beehaw.org
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      1 year ago

      Well, yeah, about the speed… it’s not fast. And probably never will be fast as plain internet. Just imagine what is happening: each service you connect to is usually 6 hops away, which in the worst case (where each pair of peers is the furthest possible from each other) would require traffic to take 3 rounds between e.g. west asia and the usa. Here’s an other explanation with a diagram: https://geti2p.net/en/faq#slow
      But that’s just the latency, and it can be tuned. If you want to play online games with a group of people over I2P, you could use for instance a 1-hop tunnel, and ask the others too to use a 1-hop tunnel, and now it’s totally different. Of course this hurts your and the other players anonymity, but it could be acceptable, especially if you make it select a router relatively close to you.

      Bandwidth is again a different topic, I think that could improve even without sacrificing on the tunnel length, with more (relatively) high bandwidth routers joining the network, but of course your tunnel’s bandwidth will always be limited by the slowest router in the chain. Fortunately there are ways to have a tunnel through more performant routers.

      On how does it work: when you start up your router (a software package, through which other programs can use the network), it asks a bunch of preconfigured servers about known I2P peers, through a process called reseeding. Afaik there are currently 12 preconfigured reseed servers, but you can bring your own, or if you know someone with an I2P router who you trust, they can make a reseed file for you which you can import.
      After that, your router will talk to the other routers it now knows about, and ask them too about the routers they know.
      This means that it’s better (while not necessary) to have a dedicated machine on which a router is always running and online, instead of having it run for the 30 minutes every time you power on your desktop. It doesn’t have to be powerful, it can be a low power consumption SBC (like a raspberri pi or similar), and I think it’s also possible to set up an unused android phone for this purpose with an app, but you probably don’t want it to use your mobile data plan.

      On why is it better for torrenting: I don’t remember the details on that.
      What I remember is that it’s often said that the protocol was “built for that”.
      But there’s also another thing: vandwitdh is naturally less of a scarcity here, compared to Tor. Connecting to the network requires the use of a “router”, which besides giving access to it for you, also automatically contributes to the network with your internet connection’s bandwidth capacity (except if limited by the tech of your ISP, like with CGNAT; it can still contribute some but usually it’s less), and in turn most users will provide a “relay” to the network. On the Tor network, most users are just users, their clients are not participating in routing the traffic of other users, and so they are only consuming the capacity provided by others.
      Also, afaik torrenting on Tor always needs to make use of an exit node to access the tracker and all the peers, while on I2P it all happens inside the network, without placing a huge load on outproxies (exit nodes in I2P terms)

      Also, here’s a comparison between I2P and Tor: https://geti2p.net/en/comparison/tor


      It may seem that I2P has a bunch of downsides, and it may discourage you from using it, but let me tell you how I think about it.
      I don’t use it for everything, just as I don’t use the Tor network on a daily basis, but when I need it it’s there, it makes me easier to search on a few private matters, and it runs in the background so I’m basically effortlessly helping the other users, when not counting the initial setup and the electricity costs of course (the former was not much, and the latter does not depend on this in my case)

      • Buttermilk@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Very interesting, and thank you for the write up! Might be worth looking and preconfigured reseeds if I was to dabble in it, but generally I just don’t have use for powerful anonymity tools currently. Always rad to hear about the tech though!