Hackathon challenge: I2P Integration #3339
Closed
HenrikJannsen
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I2P support was integrated into Bisq early on, but due to limited developer resources, it was eventually dropped. More recently, @alvasw resumed the integration work, though progress has stalled again due to time constraints.
We’d love to see I2P integration completed and brought to a production-ready state to improve the network resilience of Bisq’s P2P layer and provide users with more options for selecting their preferred privacy stack.
Bisq’s P2P network supports multiple transport layers. Currently, only Tor is used in production (and clearnet for local development). With both Tor and I2P enabled, we can increase network resilience and improve user experience by sending messages over both networks simultaneously—whichever message arrives first is used. If I2P delivers faster in some cases, it directly improves delivery performance.
More importantly, I2P provides redundancy. Tor has been the target of repeated network-level attacks in the past. If Tor were to experience extended degradation, it would currently pose a single point of failure for Bisq. Supporting I2P helps mitigate this risk.
An open challenge remains: how to handle the connect/disconnect patterns common among Bisq users. I2P is optimized for long-running nodes, not for ephemeral connections. One potential solution could be to detect users whose behavior doesn’t align with I2P’s strengths and offer them the option to disable I2P, minimizing negative impact on the network.
🤔 Interoperability: Tor ↔ I2P
What happens when a Tor-only user needs to communicate with an I2P-only user?
If the destination address isn’t reachable—for example, a Tor user sends a message to an I2P peer—Bisq falls back to the mailbox system. The message is broadcast to the P2P network and delivered as an encrypted payload. Once the recipient receives it, the mailbox message is deleted. This relay-based delivery mechanism is already in use today and also helps improve latency in situations where a direct connection is not yet established.
🔧 Ideal Contributor
To work on this, it would be very helpful if the developer is familiar with both I2P and P2P networking concepts.
References:
📚 Network Resources
🐛 Related GitHub Issues
Beta Was this translation helpful? Give feedback.
All reactions