this post was submitted on 16 Oct 2024
12 points (100.0% liked)

Decentralization

119 readers
12 users here now

All things and everything about decentralization: news, announcements, proposals, and discussions about decentralized apps, protocols and communities.

Rules

  1. Be polite and follow the rules of our instance lemmy.world.
  2. "Follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others."
  3. With respect to peer-to-peer and file-sharing technologies, refrain from posting illegal content (piracy) or links to it.
  4. With respect to cryptocurrencies, refrain from
    1. posting initial coin offerings (ICOs) and giveaways
    2. posting referral and promo links/codes

founded 1 month ago
MODERATORS
 

Hello and thanks for making this community!

I would like to ask a question, I'm the creator of the Tenfingers sharing protocol, and a decentralised FOSS implementation of it.

You can basically have a decentralised web site or share data with anyone.

Would it be appropriate to post asking for help here? Testing and ideas for the future mostly I guess.

Cheers

top 10 comments
sorted by: hot top controversial new old
[–] GhiLA@sh.itjust.works 4 points 1 day ago* (last edited 1 day ago) (1 children)

As someone who wouldn't use this to spread terabytes of pirated media to others, could this hypothetically be used to spread terabytes of pirated media to others?

[–] Valmond@lemmy.world 3 points 1 day ago* (last edited 1 day ago)

Well, theoretically then, it's not made to handle terabytes in terabyte chunks (as when you share, someone else is needed to have something to share roughly the same size), it's more thought for megabyte chunks of stuff, like a website. Downloading/uploading would be hasardous too for a TB chunk as most people only have megabit speed internet.

So it's not that it isn't possible, but you would probably have to chunk up any (legal) data in say 1GB chunks, so that your chunks get shared. If everyone shares 1GB videos of their holidays (for example), it would work easily because your chunks would have people needing to share them.

Edit: edited for clarity

[–] kitnaht@lemmy.world 3 points 1 day ago* (last edited 1 day ago) (1 children)
[–] Valmond@lemmy.world 3 points 1 day ago* (last edited 1 day ago) (1 children)

Technically its very different (please do ask if you want to know more!). Usage wise it is a sort of distributed "file system with links" (IPFS is more of a distributed hash table) and it has some base differences:

  • When you change your data, you reuse the same link. So no need to redistribute it.

  • You share other peoples data. It's the incentive, they share yours because you share theirs. So no need for benevolent nodes like in IPFS.

  • If you overshare (share data from several nodes so that they all share your data) your data is accessible even if your PC or most nodes are down, it makes it potentially very robust and takedown safe. I don't really know how IPFS handles it when several nodes go down.

  • In my opinion, Tenfingers is very easy to set up, IPFS not so much, haven't checked it out in a year or three though so that can have changed.

  • IPFS has a very cool name, but Tenfingers too, right :-) ?

Cheers

Edit: another difference is that Tenfingers encrypts everything, so without the link you cannot access the shared data in any way, neither by error nor malice. IIRC IPFS link is just a hash, I don't know if/how the data and its transfers are secured either.

[–] kitnaht@lemmy.world 1 points 22 hours ago* (last edited 22 hours ago) (1 children)

So, one big drawback to your system is that it could be used as a command-and-control node for a botnet.

Since IPFS is a hash table, generally it's going to be incredibly difficult to find a hash collision with an existing file. So you'll need the link any ways. Since changing the file changes the hash, it can't be used to communicate through - it is always simply a file storage.

But with Tenfingers, once the link is out there - the data can change. This means it wouldn't be difficult to use a file itself for communication - you'd only need to point someone at the file, and since the hash never changes, you could theoretically control a botnet through it.

Granted, at the same time - this could also be used for "encrypted" communications, so long as Tenfingers itself doesn't keep track of hashes. If it keeps track of the existing hashes, then technically it has every link available to the network and thus, also has the ability to break the encryption, right?

If someone has the link - generally those are retrieved in plain-text. Even with an HTTPS connection, you're asking the server in, basically plaintext "give me the data for [X]" -- do you guard against that somehow?

[–] Valmond@lemmy.world 1 points 17 hours ago

Okay, so first of all, Tenfingers is wildly different compared to IPFS or say Filecoin, it's another underlying paradigm.

There are no "hashes", the nodes are trust-less, and everything is encrypted.

Which means that if you have the link to a data, you can retrieve it, and decrypt it. If you don't have the link you cannot do either.

The link is not a hash like in IPFS but a small collection of information, like how to connect to the nodes, encryption key etc.

So, in order:

If you have a bot net, you don't need tenfingers to control it. But sure, you could I guess, like you could control a lamp with it. A normal web server can do the same thing ofc.

Yes you can use the data for communications, that is actually the idea behind the protocol. You can have a web page that "communicates" with other people for example, by you updating it when you want to communicate something. You can even share links to other webpages shared with tenfingers, and they can link back to you.

I hope that explains it, but just to be a bit more precise, there are no hashes, instead the IP:ports are used (several if you overshare) so that the link only knows exactly who to call (and that's all secured so you can't just randomly try to get random data).

Hope it helps, it is a quite different system, so please say if there is something unclear!

[–] slazer2au@lemmy.world 3 points 1 day ago (1 children)

got a link to the project?

[–] Valmond@lemmy.world 2 points 1 day ago* (last edited 1 day ago)

Yep, it's all on the documentation (with link to git repo at Codeberg) that can be found here: http://tenfingers.org

[–] boramalper@lemmy.world 3 points 1 day ago (1 children)

Why not, go for it! Just be careful about copyright infringement as it's against lemmy.world ToS.

[–] Valmond@lemmy.world 3 points 1 day ago

Thanks!

Yes I'm not advocating for illegal things (but thanks for pointing it out), I advocate for decentralised data sharing, for example your website, a personal-"book" (a crude script for that already exists), a chat (exists, also very crude), share some file without uploading it to google or amazon etc etc etc.