• @LordShrek
    link
    English
    0
    edit-2
    1 year ago

    no, you’re misunderstanding. that shouldn’t be how it works. there shouldn’t be any difference between the software on each instance such that it make your data insecure. this is how bitcoin works. this is why anyone can spin up a bitcoin instance and have it start contributing to the bitcoin blockchain and you as a user don’t have to “trust” that particular node. trust is built into the distributed software architecture. you don’t “choose” a set of bitcoin nodes. you don’t “choose” your CDN or DNS servers.

    • @shrugal
      link
      English
      5
      edit-2
      1 year ago

      Cryptocurrencies and social platforms are completely different beasts. In crypto I want no moderation/censorship, I want anonymity, and there is a payout system so nodes can compete for something. This is all different when building a social network, so you can’t just use the same architecture. Building social structures and trust is desirable in a public forum, not something you want to get rid of.

      • @LordShrek
        link
        English
        11 year ago

        This is all different when building a social network

        wait you want censorship in a social network? also, the architecture i’m describing does not do away with moderation and social structure. what about it makes you think that to be the case?

        • @shrugal
          link
          English
          3
          edit-2
          1 year ago

          Of course! Moderation is censorship. There is certain content I don’t want to see, and I don’t want to have to filter it myself so I join a community of seemingly likeminded people who censor content based on rules I generally agree with. They ban users who break the rules, keep spambots out, block malicious instances and so on, and if they are doing their job right then it builds trust and attracts more people.

          what about it makes you think that to be the case?

          Because you want to strip all that out and abstract it away. Who do you think would do the moderating and spam blocking? Who aggregates posts from all over the world and presents a sorted list to a user on their smartphone? It would be the wild west with users having to do everything themselves. I know it’s tempting to think about building a Fediverse without instances, but afaik you need these social structures for the system to work.

          Crypto for example only works because you can define the rules mathematically beforehand, and then hand out money for computers to check them. That’s just not possible with a public forum, at least not yet imo.

          • @LordShrek
            link
            English
            11 year ago

            you want to strip all that out

            i do not want to strip out the functionality of communities having mods that moderate the discourse and ban malicious users etc. it sounds like you misunderstood what i was proposing.

            • @shrugal
              link
              English
              21 year ago

              What I’m saying is that you cannot do those features with what you’re proposing, regardless of what you might want to do.

              • @LordShrek
                link
                English
                11 year ago

                ok. so you are misunderstanding what i am proposing then.

                i can explain in more detail any part of the design if you wish.

                • @shrugal
                  link
                  English
                  3
                  edit-2
                  1 year ago

                  Sure 😁

                  I think the one thing we could adopt from crypto is having public keys as user IDs, instead of tying it to an instance. But that would require users to handle their own keys, and people are just reeeaaally bad at that!

                  • @LordShrek
                    link
                    English
                    11 year ago
                    1. you connect to some lemmy instance on your web browser
                    2. the client application (lemmy web app) authenticates your login credentials by first checking its own user database, if it doesn’t find you (which it should because by default you’d be connecting to an instance that you’ve already used, and if done through a mobile app for example it would automatically find the best instance to use by lowest latency), it send out a message to the nodes(instances) that it knows about, searching for your user, recursively, when found, sent back and stored in each node that was part of the searching. (there’d be some threshold of tree depth so the unsuccessful branches don’t keep going forever, and some other algorithmic details to prevent redundant network activity)
                    3. you navigate to your subscribed communities feed, lemmy shows you the posts that are already on the node that you are directly connected to, then asynchronously sends out a request to the surrounding nodes to pull more posts from those communities, recursively reaching out to adjacent nodes, again avoiding repeatedly hitting the same node via algorithmic details which we can discuss further if you wish, sending back the info up the tree to your primary node. now a bunch of servers have duplicated community data, like a distributed storage system, but you, the user, don’t know about all that stuff that just happened behind the scenes. your GUI is updated accordingly
                    4. now you can interact with these posts, make new posts, and each interaction will be sent out to all the relevant nodes in a reverse process.
                    5. another user on the other end can visit some community that you just posted to, and a request will again be propagated through the network, but starting from his node, and eventually reaching some node that has your new post.

                    the advantages of this:

                    • if a node goes down, not all of the community and user data is lost, because its neighbor nodes have replicated the data
                    • if i am hosting a node, and have limited bandwidth and storage, i can specify limits so that my network is not unintentionally DoSed. so this implies that when the prior-described processes are occurring, some instances will not store the data they are pushing through, which is fine, and one of the intended features of this distributed architecture
                    • similar to previous point, each instance can have a whitelist or blacklist of communities (for either storage and/or data passing), defined by the admin, if he/she wishes to tailor the content for example to keep it related to content they are interested in rather than being forced to serve everyone on the network. it’s like if someone wants to help a little bit but they don’t have all the bandwidth and storage in the world, they can, instead of having to handle traffic for a bunch of irrelevant-to-them communities.