5 ms·
See also: yggdrasil/cjdns/hyperbora that also provide p2p routing in a mesh network (without DHT), but also map public keys to an unused chunk of IPv6. IPFS p2
by MayeulC 5y ago
See also: yggdrasil/cjdns/hyperbora that also provide p2p routing in a mesh network (without DHT), but also map public keys to an unused chunk of IPv6.
IPFS p2p is more similar to that project, with a DHT, though I am not sure about encryption.
To me, this is the future. I wish we had a set of APIs to allow connecting to a public key instead of an IP adress... however that requires reinventing most of the network stack (subnets, etc). That could be a base for IPv7. As a bonus, this could run on top of IPv4 or IPv6.
Creating ephemeral, E2EE addresses has a lot of nice properties: you can roam with the same address (making it easy to move a server around, even behind cellular internet). Browsers could use a different key for each site. Sites could use that as a session identifier to authenticate against.
- adminscoffee 5y agokind of a weird idea but routers have names, i always wondered if there was some way we can use this as addresses to give a position of sorts, that way, nearby host can direct traffic towards a location. like a pass off, idk if i am explaining it right
- brendoncarroll 5y ago> To me, this is the future. I wish we had a set of APIs to allow connecting to a public key instead of an IP address INET256 is working on exactly that. It's a set of APIs for connecting to addresses derived from public keys. https://github.com/inet256/inet256 https://github.com/inet256/inet256
- MayeulC 5y agoThanks for mentioning this, it's the first time I hear about that project, and will definitely have a look!
- neilalexander 5y ago> you can roam with the same address (making it easy to move a server around, even behind cellular internet) In particular, Yggdrasil's mobility performance is far better than anything provided by the likes of BATMAN-Adv, Babel etc, making it ideal for roaming users and ad-hoc/mesh networks. https://yggdrasil-network.github.io/assets/images/latest/mobility2.png https://yggdrasil-network.github.io/assets/images/latest/mob...
- collegeburner 5y agoInteresting, how is Ygdrassil performance against Tailscale or Zerotier?
- MayeulC 5y agoI haven't used either, but one of the catches with yggdrasil is that you have to peer manually over the Internet. On the other hand, you could install it on every router on a network, and everything would work automatically. There are some higher-level tools that can manage your peerings, but at that point, yggdrasil just offers a unique IPv6, derived from your crypto key, and end-to-end encryption, both of which can more or less be achieved with wireguard alone.
- lifty 5y agoI think lately they use wireguard as well, so it should be comparable to Tailscale.
- deleted 5y ago[deleted]
- ahnick 5y agoSo basically urbit without all the weirdness?
- dsr_ 5y agoLet me recommend two more features: - universal human-assignable names As long as you're replacing IPs, replace DNS, too. When you tell a friend about this great new site, make sure you can tell them with something closer to "pasciencia y fe" than "fe88-2533-a210-dead-b33f-3301-3412-4dc1" - universal anycast Big services will need scale and distribution; if it's built in early and well, that makes it easier to adopt.
- lijogdfljk 5y ago> universal human-assignable names Any implementations of this you'd recommend? I write a lot of hash (content addressable/etc) code in my spare time and i'd be curious to toy with identifiers (256bit hashes) being provided to humans in human-friendly ways.
- redleader55 5y agoThe first thing that pops in my mind is choosing a dictionary of 2^n words and making an identifier that maps the 256 bit hash space to a k-tuple of words, where k = 256/n.
- djbusby 5y agoLike this? https://github.com/singpolyma/mnemonicode https://github.com/singpolyma/mnemonicode
- RL_Quine 5y agoYou might like bech32, which encodes data (nominally hashes) into strings which include error detection and error correction, while being optimized for human use and typing by avoiding homogylphs and capitalization. https://en.bitcoin.it/wiki/Bech32 https://en.bitcoin.it/wiki/Bech32
- MayeulC 5y agoWhile I agree with the second, this is an implementation "detail" of the routing layer. Universal multicast is much more interesting as an usage, though I am not sure about the feasibility. As far as human-assignable names go, I am not sure. "pet names" would be a good fit: you "pin" a service using your name or someone else's. Sure, you can also use a ready-made mapping from words to binary like https://what3words.com/inferior.chapels.nerve https://what3words.com/inferior.chapels.nerve for instance, but I feel like picking one is a separate endeavor with its own pitfalls (not everyone speaks English, etc). You're asking for a solution to Zooko's triangle: https://en.wikipedia.org/wiki/Zooko's_triangle https://en.wikipedia.org/wiki/Zooko's_triangle
- white-flame 5y agoI use onion addresses to have basically a hash-addressable socket on the internet, which can be relocated without any additional configuration. It can even work without any inbound ports on the firewall. However, I haven't done any serious roaming with such a configuration; has anybody tried it?