

Thanks for volunteering to help the network in good faith! I think it is much easier for normal people to get an i2p router up and running and help the entire network, instead of setting up a tor node. And with the use of inbound/outbound unidirectional tunnels (which you can set up to 5 nodes each), you could theoretically have a 10 node round trip of intermediate tunnels between you and a server, as opposed to tor which uses a bidirectional tunnel.
Some gracious users set up what is known as an “outbound proxy”, which acts like tor exit node to the clearnet. Personally I would never host one of these, as I am hesitant of having anonymous entities make clearnet requests and being held liable. But as an i2p router in somebody else’s tunnels, you can just imagine yourself as a road on a map that other roads connect to. The road isn’t responsible for what people are carrying on it, or what their destination might be. That would be an unreasonable expectation to place on any road. In fact, the router doesn’t have any idea of what the exact destination is, even if it’s the last node in the tunnel - simply because during the encryption/decryption process it only knows of the next address to hit!
For example, say an i2p router hosts a git server. It could be the destination for packets, where clients are using it for version control, or it could act as a node in somebody’s tunnels to connect with other servers/clients. From the network view, I do not believe you can tell, and that is pretty neat.
In the effort of being transparent and educating you, I do believe an outstanding problem is stream isolation. You should be able to do “soft resets” that reset your identity, although I forget the exact technical i2p term for this. This concern is for clients, not just leaving a router up. So if you intend on using that router to access the network yourself, it would be a good idea to do that soft or hard reset occasionally depending on your concerns. You can do it as often or never at all.
You can simply go to the official tor or i2p pages and read more about details, then do follow up research from there. With i2p there’s actually a few parallel implementations actively being developed. Original is in Java, there’s a C++ one, and then another one I can’t remember. Very new implementations are being made in Rust as well