But the consistent theme I see with similar solutions is that they ignore the commercial aspect of such solutions. I don't know if you have mass adaption in mind, but the more people use it, I would presume the privacy and anonymity properties would improve? If so, then have you considered introducing participation incentives (financial or not)? That seems to be the critical problem in this space that needs solving, standardized anonymous payment for infrastructure service providers in the network.
Yes, I would expect the privacy would increase by some degree with more users, but I don't know by how much.
Although I will be using the technology in future projects, so Mycoria will benefit from that.
Any specific reason why you didn't use the standard based segment routing for source routing support, that can be adopted at layer 3 instead of custom layer 4 transport [2]?
For security analysis did you use BAN logic and ProVerif tool for verification [3], [4]?
[1] Gnutella:
https://en.wikipedia.org/wiki/Gnutella
[2] Segment routing:
https://en.wikipedia.org/wiki/Segment_routing
[3] Burrows–Abadi–Needham (BAN) logic:
https://en.wikipedia.org/wiki/Burrows%E2%80%93Abadi%E2%80%93...
[4] ProVerif:
I wasn't really aware segment routing, tbh. However, I do think with where Mycoria is going, the additional control to change things as needed will be required.
I have used VerifPal https://verifpal.com/ for security analysis before, but not yet with Mycoria.
What happened to referring to individual, topic-specific sites? WP has so many issues with both its data, and their governance.
Oh i guess it's just people being lazy. _I_ don't trust WP for domain-specific knowledge at all.
Indeed. See "Canceling Disputes": https://www.cambridge.org/core/services/aop-cambridge-core/c....
Here are some non-Wiki links:
Gnutella: https://computer.howstuffworks.com/file-sharing.htm
Segment routing: https://www.segment-routing.net/
BAN Logic: https://www.cdk5.net/security/Ed2/BANLogic.pdf
and ProVerif: https://bblanche.gitlabpages.inria.fr/proverif/
Can you do a comparison with I2P?
Geo encoding simply improves routing to unknown routers, kind of as a baseline structure to the whole network.
If you want actually good privacy with a VPN, also good luck with that. (There are very few good companies doing the best they can here, but they are still limited technologically.)
SPN can be seen as my attempt to solve both of these issues.
Mycoria routers, proxies, Tor exit nodes, and VPNs are difficult to run. There needs to be an global incentive, economy, or private community usually. Our Delft University students wrote "The fifteen year struggle of decentralizing privacy-enhancing technology" a decade ago. Scaling to many millions or billions is unsolved.
Have you talked to any lawyer or law professor about your MVP? "Being welcome" has known drawbacks when you operate a central DNS service.
Interesting. Can you link that paper/article?
The DNS is not central. Everyone maintains their own local mapping. When accessing a website on mycoria, you open a URL like this that first creates the mapping and then forwards you to it: http://router.myco/open/speedtest.de.myco/fd13:6239:a07a:eb4...
I'm not who you asked, but this appears to be the article:
Transport is custom in order to support source routing, but I use the WireGuard library for setting up the interface and such.
(I have experience with cryptography in network protocols from Safing/SPN - the cryptography of which was audited without fault. Also, I am _very_ cautious and keep to standards as close as possible.)
How does peer discovery work? Where do the region buckets live?
Every router announces itself on the network. Routers can optionally publish their IANA IP addresses.
Buckets live on the routers themselves.
See https://github.com/mycoria/mycoria/blob/master/m/geo_marker....
In the future, non-routable private addresses will solve that for users that require it.
friends: - name: alice # This is your laptop ip: fd1f:2cd5:6feb:7aa7:d674:1b3c:c82c:dfc"
May I suggest r/friend/peer. This is not motivated by pedantry. Relational semantics that are not closed over by the domain of user-agent (in the broadest sense) should not be used in the infrastructure layer. My laptop's server is a user-agent of mine as is the instance running on my phone; they are peers.
Applications built on top of this substrate will be (generally) concerned with social relationships of users and 'friend' et al. will be of use in those layers.
A little more background info for my fellow HN people:
I've spent that last 8 years building privacy technology at Safing as Co-Founder/CTO. The biggest technological achievement there was undoubtedly the SPN (previously called Port17/Gate17): A privacy network (ie. a layer-5 proxy), fitting in the niche between VPNs and Tor. Impossible to misconfigure, good speeds and way superior privacy to VPNs using onion encryption and decoupled authentication/authorization. Funnily enough, this (decoupled auth) is what was later implemented by Apple Private Relay and Google One VPN.
SPN worked great for the most part, but scaling was hard. With the decision to make it a layer-5 proxy for decreased metadata and improved privacy, this meant that also traffic and congestion control had to be re-implemented - no easy feat, and still causing issues.
Meanwhile, I have followed and read a lot about cjdns and Yggdrasil over the past few years and was intrigued by their ideas how to do networking.
After some interesting talks in November 2023, I was at the point where I just wanted to know how far I would get - with all the experience and knowledge I had up to that point - implementing a scalable layer-3 mesh network, that still allowed for some privacy and full security. I spent most evenings of a couple months building it and was surprised how well it went.
Sadly, after a decent MVP and a first friend using it in small scale production, I did not have the time to work on it further.
But I am currently starting a new project, where I will make good use of it, so it will see quite some more development in the coming years!
So, Mycoria works, at least on small scale for now, but is more or less MVP.
Thanks for reading, I hope you have fun poking around and trying it out!
I am also happy to answer any questions you have here!