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

Onion Routing for libp2p #472

Open
umgefahren opened this issue Oct 31, 2022 · 2 comments
Open

Onion Routing for libp2p #472

umgefahren opened this issue Oct 31, 2022 · 2 comments

Comments

@umgefahren
Copy link

This might be a duplicate of #200.

Proposal

I would like to propose defining and implementing a way of doing onion routing through libp2p. This is explicitly not about integrating onion routing based transports like Tor or I2P into libp2p but rather about a onion router in libp2p that can be used as well as a behaviour and a transport.

Since there are many different opinions on how to do onion routing right I would suggest only defining the onion routing itself, i.e. the key agreement as well as traffic forwarding. Other aspects like how the route is built, the list of available entry, exit and middle nodes is retrieved should be left to the user of libp2p as it's sometimes highly specific to the use case.
Furthermore there should be a way of letting behaviors know that they should use the onion router for something.

Related issues / PRs

@marten-seemann
Copy link
Contributor

I would like to propose defining and implementing a way of doing onion routing through libp2p. This is explicitly not about integrating onion routing based transports like Tor or I2P into libp2p but rather about a onion router in libp2p that can be used as well as a behaviour and a transport.

I'm not sure I understand this correctly. Can you please elaborate on the difference between through and over?

@umgefahren
Copy link
Author

I'm not sure I understand this correctly. Can you please elaborate on the difference between through and over?

Through means utilizing libp2p itself to do onion routing with other libp2p nodes. I.e. using libp2p transports, behaviors etc to build an onion router.

In other words: Using libp2p to build an onion router and integrating it into libp2p. I hope that clarifies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Triage
Development

No branches or pull requests

2 participants