Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature-Improvement] Consider using to Kovri to replace Tor #1397

Closed
ghost opened this issue Feb 25, 2018 · 12 comments
Closed

[Feature-Improvement] Consider using to Kovri to replace Tor #1397

ghost opened this issue Feb 25, 2018 · 12 comments

Comments

@ghost
Copy link

ghost commented Feb 25, 2018

As many people are aware.. The TOR network is most of the time under attack and gets overloaded causing numerous connection issues.
Any idea if Kovri can easily replace TOR or even adding it as an alternative?

@ManfredKarrer
Copy link
Member

I2P uses more hops so making it even slower than Tor, as well has a much smaller usergroup/anonymity set. Would be great of course to support both but that will not work really as resources to be on both networks connected are too heavy.

@merkjinx
Copy link

@ManfredKarrer i disagree i2p uses the same amount of hops as tor. 3 on client 3 on server. i2p also has multiple tunnels/circuits unlike tor which only has one. meaning if a node in a particular tunnel is offline there is fall backs tunnels to supply a connection.

@ManfredKarrer
Copy link
Member

@merkjinx Do you know if i2p works in China? Does it has something similar like pluggabletransports?
how many relay nodes are more or less available at i2p?

@merkjinx
Copy link

merkjinx commented Mar 10, 2018

@ManfredKarrer according to network information that my local node has provided i2p does work in china. i have multiple inbound and outbound connects to nodes in china. so yes. for starters i2p uses UDP and TCP so if one is blocked the other is available (There is no standard i2p port either chosen randomly or selected manually by node operator). currently there is no pluggabletransports. however the i2p dev team is working on a different transport protocol that will be available sometime this year. the estimated amount of nodes on the network is anywhere from 3000 to 15000.

@ManfredKarrer
Copy link
Member

@merkjinx Great thanks for the info! Do you see any feasible solution to support both Tor and I2P without running 2 networks in parallel and send and listen on both? I fear that will not be possible, right.
To run Bisq with I2P as separate network might be an interesting research project and if it works well we could compare performance and reliability. But if we cannot merge the 2 networks it will be hard as it would partition the trade volume (offers).

@merkjinx
Copy link

merkjinx commented Mar 12, 2018

@ManfredKarrer i'm not sure. i would imagine it would be each node would have a list of addresses. e.g onion address and/or i2p dest-hash. you would need to have a system where a client can lookup another client and get its tor or i2p address to connect to it. i would advise again switching immediately but rather have the option for a bisq user to enable i2p. then slowly push for a network that uses both. so there isn't problems with trading and bugs can be sorted out over the transition time. an ideal setup would have most bisq users have both tor and i2p support so if tor is blocked then i2p can be a fallback and vise versa. i2p has a longer startup time than tor (For java i2p that is, kovri may be different) therefore tor should be used first.
i don't know very much information on how bisq's p2p system works so this may differ considerably for this use case. and i'm very new to the bisq network. hopefully this information can give you ideas on how to put this into play. Cheers

@ManfredKarrer
Copy link
Member

Thanks for your input. I fear it will be resource and implementation wise not really feasible to support 2 networks in parallel. But good to know that i2p might be a serious fallback if Tor gets some issues (the last months it was very unstable and slow due dos attacks).
The Bisq P2P network is a unstructured flood fill network. Each peer is connected to about 8-12 other peers. All are hidden services so no exit nodes...
It is similar like the Bitcoin p2p network.

@ghost
Copy link
Author

ghost commented Mar 31, 2018

It would be great if this could be implemented as a fallback or a user choice. Maybe this can be worked on when you have some time @ManfredKarrer

Most importantly if it would be possible to switch between i2p and tor and have both networks connect to each other in some possible way..that would be considered as bisq privacy on steroids!
I feel it is very important to have this type of fallback, because Tor network has proven time and time again that it is not 100%

@tohsnoom
Copy link

Couldn’t there just be certain nodes acting as bridges? Not every node would need to run all networks to have connectivity. You may only need a few really, to relay peer information across all of them. Everyone could choose to run them or not.

@objectorange
Copy link

objectorange commented Nov 18, 2021

I have Tor (https://github.com/resolvingarchitecture/tor-client-java) and I2P (https://github.com/resolvingarchitecture/i2p-java) working together side-by-side in my 1M5 (https://1m5.io) project (https://github.com/1m5). I2P can be quite performant (<1 second) although most of the time it's around 2 seconds and sometimes upwards of 10 seconds. Timeouts between I2P nodes are set at 90 seconds. 1M5 also supports Bluetooth in case your internet is down (requires someone within range though until BT 5.1 is ubiquitous). 1M5 works to re-route around blocks, e.g. if Tor is blocked, it uses I2P and vice-versa..including Bluetooth if available (more networks to come). It's built very modular using Resolving Architecture (https://resolvingarchitecture.io/) services (https://github.com/resolvingarchitecture) so I2P can be integrated into Bisq as a standalone lib initially to test. Shouldn't take too much integration effort. Java 1.8.

@objectorange
Copy link

As far as running bridges, that centralizes access which we need to avoid, similar to VPNs.

@objectorange
Copy link

objectorange commented Nov 18, 2021

Eventually I want to work towards integrating with 1M5 so that Bisq automatically gets the re-routing capabilities as it grows using self-generated UUIDs as addresses. I'm not sure of any issues that would need to be addressed though. Software is free and open. No copyright. Very minimal 3rd party libs (no Spring, Apache, Google - I think, etc).

@alejandrogarcia83 alejandrogarcia83 closed this as not planned Won't fix, can't repro, duplicate, stale Jul 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants