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

[Project] Onion routing #6

Open
Aras14HD opened this issue Aug 15, 2021 · 1 comment
Open

[Project] Onion routing #6

Aras14HD opened this issue Aug 15, 2021 · 1 comment
Labels
accepted The feature is accepted Project An idea for a mesh-based project
Projects

Comments

@Aras14HD
Copy link
Collaborator

Existing Onion routing services have many drawbacks: Tor relies on relatively few publicly known servers, I2P takes a long time to build connections.

The Onion routing would happen in two steps:

  1. Random selection of layer nodes
  2. Layer creation

The node selection process would happen via a Mesh message that is either answered or forwarded to a random compatible contact. The response would include the UUID and public key of that node.

The Layers would be established through a DiffieHellman (or ECDH) key exchange via already established nodes. The first node would be directly connected to then the first layer would be established. The UUID and public key of the next node would then be sent to the current. It would then connect to that node, after which its layer would be established. This would continue to the last node to which is then treated as a contact.

@Aras14HD Aras14HD added the enhancement New feature or request label Aug 15, 2021
@project-bot project-bot bot added this to Proposed in Planning Aug 15, 2021
@Aras14HD Aras14HD added the accepted The feature is accepted label Aug 15, 2021
@project-bot project-bot bot moved this from Proposed to Accepted in Planning Aug 15, 2021
@Aras14HD Aras14HD changed the title [Feature] Onion routing [Project] Onion routing Feb 28, 2022
@Aras14HD Aras14HD added Project An idea for a mesh-based project and removed enhancement New feature or request labels Feb 28, 2022
@Aras14HD
Copy link
Collaborator Author

Instead of a custom solution, it might make sense to base it off Tor and make it compatible with the main version. The differences would be in the following areas:

  • Relay/Bridge discovery
  • Connection (Entry relays are not needed as you can connect to Relays behind NATs)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted The feature is accepted Project An idea for a mesh-based project
Projects
Planning
Accepted
Development

No branches or pull requests

1 participant