Hello, I’m Valmond creator of the Tenfingers sharing protocol & implementation.

To make it more motivating for people to try it out, what should I share to showcase its abilities? It can be rougly anything up to say a gigabyte.

I’m thinking about music, video, parts of wikipedia, …

Legal of course.

Any ideas greatly appreciated.

Cheers & thanks!

  • lime!@feddit.nu
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    i’m interested in the dynamic linking, what mechanism is used to stop situations like left-pad or the pypi incident where a file is removed replaced with a malicious alternative?

    • Valmond@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      The idea is that nodes are trust-less, they do not know anything about the data.

      An owner is authentified over an RSA handshake, so if the owner is not compromised, your request for updating a data will be rejected.

      A malicous node though, must be both lucky (asked to share the data, so it can try to serve the malicious data) but also must have access to the link file so he can use the AES key to encrypt the bad data. This could happen if a malicious peron gets the hand on the link file, which sort of defeats the whole idea in the first place but it’s an attack vector for sure.

      So back to the drawing board again.

      The public RSA key of the owner is already in the link file, I think I can use it to authenticate the data (say the original user uses his private RSA to sign a hash of the data and adds it to the payload).

      Very good feedback, I thought I had it all covered. It seems like I can make a secure fix but I’ll think a bit more about it first of course.

      • lime!@feddit.nu
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 months ago

        your reaction makes me more confident that this may turn into something interesting :)

        i take it then that files must have some ownership information associated with them, to distinguish the author from a relay node? or is that just a private key.

        • Valmond@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          Thanks!

          The file does have an ownership information (the public RSA key of the owner), it’s just that a malicious node doesn’t show any proof of ownership of the data it’s sending (which causes the problem). I think I have a straight forward solution but I’ll ponder it a bit more before digging in :-) I’d like to have the possibility to download from several nodes at once which makes things a bit more interesting.

          Would you mind if I copy paste this conversation over to tenfingers@lemmy.mindoki.com ? I guess here it will disappear in the abyss…

          Cheers

          Valmond

          • lime!@feddit.nu
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 months ago

            sure, do that. and good luck with this, i did something similar for a project once and as usual its those last 5% that are going to cost you 90% of the time.

            • Valmond@lemmy.worldOP
              link
              fedilink
              arrow-up
              1
              ·
              2 months ago

              Thank you!

              Ya, there was a saying in video game dev circles, when you have finished 90% of a game, that’s good, because now you only have the other 90% to do…

              What was that project, if you’d like to share?

              • lime!@feddit.nu
                link
                fedilink
                English
                arrow-up
                2
                ·
                2 months ago

                it was nothing official, just a toy file sharing thing using the chord dht algorithm. it consisted of a single binary that you fed with a directory and the IP of an extant member, and it would sync everything on the network into that directory.

                no edge cases handled, so the 90% remained.

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

                  Interesting thing that Chord stuff.

                  Sounds like a good little tool to have there, it’s always hell to share stuff among computers and phones and stuff! Guess overwriting from one side to the other (and vice versa) would be hell to fix in a user friendly manner though… If you don’t go for a master/slave system, or git repo style…

                  • lime!@feddit.nu
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    edit-2
                    1 month ago

                    yeah one thing we couldn’t fix before losing interest was eventual consistency and authority. files would sort of flicker in and out while state was being propagated. i dread to think what kind of bandwidth use that thing would have when sharing large files.