Comments (7)
I know a bit about this topic, tried it a few years ago. I'm going to compare it to Tor:
- UDP hole punching was specifically designed to bypass NAT and some stupid firewalls (inteligent firewalls could conceivably detect it), Tor hidden services were specifically designed for anonymity, so bypassing NAT/firewalls seems to be a coincidence rather than primary intention.
- A node using UDP hole punching is not anonymous
- Communication using UDP hole punching is not slowed down as much as Tor. I don't remember the specifics, but the UDP packet headers should be the only overhead.
- UDP hole punching does not provide any encryption or authentication on its own, Tor does.
To say it differently, if both features were implemented with some scheme to encrypt UDP traffic, then the guidelines for node operators would say this:
- Use UDP hole punching if you don't care about anonymity and need speed
- Use Tor if you require anonymity and don't need speed
- If you need both anonymity and speed, you're out of luck
from lnpbps.
According to https://www.whonix.org/wiki/Transporting_UDP_Tunnels_over_Tor UDP over Tor is not natively possible and even with VPN tricks it greatly degrades performance.
Correct, UDP hole punching is useful for people who don't need anonymity and need to bypass NAT/firewall.
FWIW these two are not related, they just happen to be used for bypassing NATs.
from lnpbps.
So if I understand correctly UDP hole punching would make sense in the context of a node (say raspberry) talking to a client (say android smartphone) while both are in a home network?!? In this case no anonymity required and speed is very well appreciated.
Then I can see it might make sense to have it implemented, although I agree with the general statement that I heard a few times during the call: "we use Tor if we can".
from lnpbps.
@St333p hole punching isn't needed at all if both devices are in the same network.
from lnpbps.
Never mind, you're right. Sorry for the dumb comment.
from lnpbps.
No problem. :)
from lnpbps.
@Kixunil am I correct that you can't use UDP with Tor (without some wired stuff)? If yes, in cases when you need UDP with NAT/firewall passing and do not need anonymity for your IP, you will benefit from UDP hole punching
from lnpbps.
Related Issues (20)
- Make data type constants part fo the standard HOT 1
- Upgrade LNPBP-4 with merke trees
- LNPBP-2 references to an outdated stage of commitment procedure of LNPBP-1 HOT 2
- LNPBP-1 lacks standardization of public key serialization format HOT 6
- Cover multiple instances of the same pubkey in LNPBP-1 and 2 standards
- Allow bulletproof implementation upgradability in RGB schema HOT 1
- LNPBP-31: ElGamal on Secp256k1
- Write Tapret commitments standard HOT 4
- Test vectors HOT 1
- Write specification for opret-based RGB in BOLT lightning
- ticker doesn't allow numbers HOT 2
- decide future of current RGB21 implementation HOT 1
- Add contract media global state HOT 2
- RGB: Use i64 instead of i32 for Timestamps in interface standards HOT 6
- RGB-21 Schema: What should be the limit of the length of the name field? HOT 2
- RGB-21 Schema: Custom token data formatting HOT 2
- LNPBP-2: Miniscript determinism can't be used for key tweaks HOT 1
- LNPBP-2: Upgrade miniscript version requirement to v5.0.0 tagged commit
- LNPBP-38: Add support for Bifrost
- RGBv2: Reduce anchor entropy bit size by merging with txid data
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lnpbps.