← Back to context

Comment by synctext

4 days ago

Interesting project, towards a decentralized Internet!

The heavy lifting is done in this function, pairing. You link your personal devices together, solid idea [0].

This Flipflop project relies on the Iroh library for NAT/Firewall puncturing, external address discovery and overlay networking. Connecting two 5G devices, without a coordinating central server is possible, but very hard. Iroh simply relies on a server which you could self-host. Cool stuff, we stress tested it a while ago and it somewhat worked.

NAT connectivity is unsolved. My university lab conducted one of the bigger puncturing studies a decade ago [1]. Recently, we also bought 40+ or something 4G and 5G SIM cards in Europe for puncturing [2]. My master student traveled Europe by bus to get these local SIM cards. He worked day-and-night to connect these weird symmetric 5G NAT filter boxes and got it working. Simple sync collision and birthday paradox brute force... It all works sometimes, but insufficiently reliable for mass-adoption. You can't build a decentralized social media ecosystem on top. Like Iroh, best to use a central server. So then you have legal liability for your users. Unless an AI agent buys the server fully autonomously using Bitcoin, next years students got that working[3] :-)

[0] https://github.com/andunieee/flipflop/blob/62bb498520aacb60e...

[1] UDP NAT and Firewall Puncturing in the Wild, https://inria.hal.science/hal-01597969v1/document

[2] Mass Adoption of NATs: Survey and experiments on carrier-grade NATs, https://arxiv.org/html/2311.04658v2

[3] Self-replicating seedbox servers using programmable money, https://arxiv.org/abs/2609.05431

We (iroh) don't do birthday paradox hole punching yet. There is some internal debate whether it is worth it.

So if you are in an extremely weird NAT you will fall back to a relay, either our public relays, your own relays rented from us via iroh services, or a self-hosted relay.

But I would argue that a p2p social application that occasionally uses a relay is very much preferable to a centralised app.

The relay is generic internet infrastructure. It just forwards end to end encrypted connections. It can not learn anything about the content.

A relay that is hosted on a non KYC server rented via ZCash would be interesting though if you are super paranoid.

  • Yeah, we need "generic Internet infrastructure" for linking devices.

    By 2030 we hopefully understand the mathematics-of-trust and can link all the billions of citizens together in a single overlay.

    > non KYC server rented via ZCash would be interesting though if you are super paranoid.

    What will happen if a decentralized Internet emerged and presented an existential threat to existing profit margins? Company lawyer would start to attack you, correct?

    • I think you're both missing the forest for the trees. P2P connectivity is about as solved as it will get, and the last % will stay unsolved.

      The final goal for decentralization is something like: no central party should become the irreplaceable master over data, community, feeds, moderation, UI and identity.

      We already know the minimum pieces needed to avoid that kind of centralization: hashed, linked, signed records(/packets), so their validity and causal order don't depend on whatever connection carried them or whatever physical server received them.

      Once we have that, apps 'transcend' the connection layer, and the parties that control identity, community, feeds, moderation, etc become signing keys that can operate from anywhere.

      The real problem for a decentralized internet, or "local-first apps", is that writing applications at this layer, or writing the library that lets you write them, is hard and nobody has solved it.

      IIRC Iroh tried this early on, then pivoted to the p2p socket library it is today.

      I'm not sure where the Delft stack sits with its ambitions atm.

      2 replies →

    • >What will happen if a decentralized Internet emerged and presented an existential threat to existing profit margins? Company lawyer would start to attack you, correct?

      I think it's very misplaced concern. Commercially-viable internet will not be decentralized because of legal restrictions. If whatever engineering solution will be found to weaken them, governments will step in to curtail it. FWIW any moderately successful decentralization effort is more likely to be attacked from exactly this side: some countries will hate it for uncontrolled information dissemination, others for fiscal reasons.

      2 replies →

> You can't build a decentralized social media ecosystem on top. Like Iroh, best to use a central server. So then you have legal liability for your users.

You can, ATProto has the example schematics for how, but it's has a federated rather than distributed architecture, but I don't think "federation" is a hard constraint of the design, more like an implementation detail, and as long as you can do the signalling centrally, to connect the peers, you can do the rest P2P. So sure, legal liability for the connection of peers, but all data transfers would still be directly P2P. AFAIK, Iroh also does "Centralized signaling > P2P data transfers", even when NAT is in the way.

The self-replicating seedbox is a cool idea. Some places offer interest on stable coin deposits. I wonder if there could be a way to set up an account for AI use that would be self-replenishing so long as a budget is maintained.