Hi. I’ve been researching alternative Internet protocols and decentralized systems for a while, and I’d like to ask for guidance because I feel like I’m mixing a number of ideas and I still don’t see a really viable architecture.

I’m interested in simple protocols like Gemini, Spartan, Gopher and especially Nex for their simplicity. I have also looked at other things like IPFS, Freenet, torrent, Reticulum and Yggdrasil. Nostr leaves me rather sceptical: I have read things about him, but his ecosystem seems to me to be very linked to the critical world and, in general, I do not see him as minimalist as I expected. Secure Scuttlebutt and Earthstar also draw my attention, but I honestly don’t understand how they work or whether they could serve what I’m looking for.

What I’m trying to imagine is a modular, decentralized and censorship-resistant network, but it can also work on limited and old hardware, such as:

Nokia with Symbian,

devices with KaiOS,

Old PCs with Windows XP or light Linux,

and even, in some cases, consoles that can run Linux, such as Wii or PS2.

The idea is not to make a “perfect” system, but something realistic, useful and quite autonomous for people who do not have access to a modern or powerful machine.

What I’m trying to figure out

Transport layer

What interests me most is that the data can move over the Internet, but I would also like the system to be compatible with something like Reticulum, because the more options you have the better. I’ve also heard a lot about Yggdrasil, but I don’t just see clearly what role I could play in this case.

  1. Content distribution layer

The most meaningful option here is torrent, but I have several problems with it.

When there are few seeders, the content becomes fragile and can easily disappear. In addition, publishing in a really anonymous way is complicated, because you usually end up exposing your IP if you want to share something directly.

Hypercore also interests me, especially for the idea of being able to add new content without deleting the above, something like a feed or a history only of additions. The problem is that he’s very close to Node.js and Rust, and for what I have in mind that doesn’t help me too much. IPFS seems slow and heavy to me, and Freenet doesn’t even talk. My idea is about situations where there is no access to another more powerful machine, so depending on a proxy or an intermediate node is not what I’m looking for. I would like these limited devices to be as autonomous and independent as possible.

  1. Cryptography and anonymity layer

If you can, I’d like to include anonymity in some safe way. Not necessarily for everyone or for all uses, but it is a real option for those who publish content.

  1. Interface layer

The part visible to the end user I would like it to be very simple: a light browser type Nex, Gopher or Gemini that only download, decipher if necessary, cache and render text.

If there is multimedia, I would like it to be optional and separate, so that the system remains usable on very limited machines.

What worries me

Here are my main doubts:

How can a decentralized network be combined with extremely limited customers without forcing them to use proxies or intermediate machines?

What real options are there for the author to publish content anonymously without losing compatibility with old customers?

Can you design a system where the same content is accessible in various ways: anonymous, pseudonym and public?

What alternative to torrent would make sense if I wanted updates and not just fully static content?

Can Reticulum and Yggdrasil serve as transport, discovery or bridge between nodes, or do they not fit this goal?

Would Hypercore be better than torrent for updated content, or is it too heavy for this case?

What part of the problem is solved with hashes, signatures, DHT, webseeds, myrors or mutable pointers, and what part is not?

My background idea

The philosophy I have in mind is something like: if a team still works, it should still be able to access information and leisure without being forced to buy new hardware. I’m interested in a kind of modular and minimalist internet, designed to ensure that an old device is not excluded because of the ecosystem.

I’m not looking for something ideal in abstract, but an architecture that can really exist. If there are similar, experimental or partially useful projects, I would also like to know them.

Thank you in advance to anyone who can guide you on this.

  • wizardbeard@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Edit: On a re-read, you appear to already be aware of most of what I was pointing you at.

    Snip

    Regarding distributed content, you could look at the I2P network, and how fediverse servers federate. As far as trust goes, that’s a hard one. Most projects seem to either rely on centralization or sort of cascading rings of trust where if I trust you, anyone you trust is trusted (or maybe partially trusted) by me.

    Beyond that, the most lightweight “internet” protocol I’m aware of is gopher, and the fediverse has a pretty active mesh radio community if you’re looking at the physical layer.

    I think the biggest hurdles you would face with your given plan is two-fold: designing software for a hardware base of “effectively anything” isn’t realistically possible. Also, you’re trying to tackle too many layers/problems at once that you have no background in.

    I would try to break this down into individual pieces and then look at what currently exists for secure communications in that space. And also seriously trim down your end goals. A lot of people have made a lot of projects over the years much like what you’re looking to do, and very few have stood the test of time. Those that do tend to have specific goals in mind, rather than trying to solve everything all at once.

    Good luck!

    • Zero1534@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      Thank you so much for your words!

      If I understand a little what you mean.

      I’ve been going around the subject and I think if I forget for the moment the layer of anonymity can become more feasible, the rest of things seem to be more viable. for the moment I will focus on what seems more viable, make a torrent client for symbian (and to future kaios) although they can only download is already of great help, and I suppose a small demon who can grab the page file for the protocol and then can be visualized in the browser.

      As for Gopher, I love it, a real shame that I can’t find much interesting content in my language. If you know something interesting, although this in English, let me know, learning is always fun, for the moment I have a little more fun in gemini because there are more people in my language, and for the moment I am focusing on the Nex protocol to learn how to create a browser, as nex is the simplest protocol there is (so I understand you just need a tcp client, and something that can represent the text and you already have it all) have also called me a lot of attention to other portos such as fingers, or fidonet, but I have not really found any information about it, but it’s funny.

  • Treczoks@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    For most home server uses, a normal Linux PC is more than enough. Or do you expect thousands of concurrent accesses by hundreds of users?

    • Zero1534@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      For most home server uses, a normal Linux PC is more than enough. Or do you expect thousands of concurrent accesses by hundreds of users?

      not exactly… the question is that in my concrete case, i do not have a very stable internet connection, in fact not even fixed internet, i use mobile data that with the help of a raspberry pi i distribute the internet to the rest of my devices, and so (and because sometimes the raspberry pi needs to be reinitiated for some reason) could not guarantee a stable connection to the server, so my idea of something decentralized

      • Treczoks@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        I don’t know what brought up the idea that a decentralized system would help here.

        In that case, I’d see to get your internet stabilized. A router/firewall with NAT, DHCP, DNS should be possible on the RPi. From there, see that anything that can be connected via Ethernet is so, and only connect really mobile devices over WiFi.

        If you need the WiFi spread over a larger area, you might want to use a professional router that supports mesh networks.

        • Zero1534@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 month ago

          I don’t know what brought up the idea that a decentralized system would help here.

          In that case, I’d see to get your internet stabilized. A router/firewall with NAT, DHCP, DNS should be possible on the RPi. From there, see that anything that can be connected via Ethernet is so, and only connect really mobile devices over WiFi.

          If you need the WiFi spread over a larger area, you might want to use a professional router that supports mesh networks.

          i think you don’t understand me, the point is that i want to have my own page, my own site either in nex, in spartan, in gopher, etc. but of course, i can’t keep a page but i have the server on at all times, and in order not to leave the site down so long, i thought to have a decentralized system.

          • Treczoks@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 month ago

            No, i really don’t understand you. If you would formulate what you actually have and what you actually want - in the main post or a new one - so one could concentrate on what you need for this. At the moment, you are just moving goal posts.

    • Zero1534@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      iroh might interest you, an amazing rust p2p library, it punch through NATs and firewalls, allowing devices to communicate directly. Here is some cool tools using it:

      if it’s written in rust, it’s not very useful to me, there are devices i want to include that do not support this language, symbian does not, only serve me programs that work in c or c + +, or languages that compile these languages, and with restrictions, it is necessary to adapt certain things, as well as many thanks, i will take a look at it