224
submitted 9 months ago by z3rOR0ne@lemmy.ml to c/asklemmy@lemmy.ml

Pretty much in the title. Maybe you wouldn't even use it, but would like to simply see it exist for the sake of having a federated alternative.

For me, it'd be the following:

  • LinkedIn
  • Meetup
  • Tiktok

I am on the first two, but would prefer a federated alternative. I'm not on Tiktok, but would like to see a federated alternative.

I'll admit these might not be a good idea. But as a thought experiment, I'd be curious about the community weigh in on what you all think this might look like.

you are viewing a single comment's thread
view the rest of the comments
[-] makeasnek@lemmy.ml 8 points 9 months ago* (last edited 9 months ago)

A lot of the ideas presented on this thread are less applications for federation and more applications for blockchain of some kind. For example, wikipedia or uber eats replacement. Before you blindly downvote me for this suggestion, let me explain why.

In federation, you have servers which talk to each other. Users own their own accounts and there are multiple repositories of information. Lemmy is a repository of links and comments, each lemmy instance has its own repository. Mastodon is a repository of tweets, replies, and DMs. This works great. Everybody makes their own repository of information, and users can subscribe to any repository they like. They can also, via federation, access other repositories and "pull" or "push" data to them. That last sentence is the magic of federation you don't get on platforms like Facebook. ActivityPub and federated platforms solve this problem of provider lock-in, at least partially.

This fediverse is not great when you need to establish a single repository of information that everybody in the network uses and is in sync for all users. Because it has no mechanism to arrive at consensus as to what should go into that authoritative repository. Even if all participants can be relied to act honorably (something the internet rarely provides), there will be disagreements about what should go into that repository. Edits may come in at different times, how do we resolve which edit goes "first"? Because it may make the second edit irrelevant, etc. Federation can't solve this problem. ActivityPub can't solve it and Nostr can't solve it. But..

This is the exact problem blockchains solve: how can you establish a centralized repository of information (ledger) and administer it in a decentralized, P2P way where you can't trust all participants to honestly participate? You cannot develop P2P systems which maintain a centralized repository of information without blockchain because no other P2P system has been able to solve this problem. There is no other mechanism of arriving at consensus and prevent sybil attacks.

Wikipedia? Centralized repository of information. Uber eats? Centralized repository of foods available, drivers, customers, and orders. eBay? same. And by the very nature of blockchains, they can also have an economic layer built into them which provides a means of exchange among participants. Useful for an eBay replacement, maybe less useful for a wikipedia replacement. Those means of exchange ("tokens") can be used not just for transfer of funds, but also for things like building/scoring user reputation and incentivizing specific behaviors, especially if you want to incentivize behavior that is contrary to a user's normal economic interest, such as providing a subsidy for restaurants on Uber who use more expensive, but more sustainable food packaging.

The non-P2P solution is to trust the administration of this centralized repository to a trusted authority. We trust wikipedia to administer articles and decide what ultimately goes in them. That system works fine for wikipedia, I'm not convinced we need a decentralized version.

There are many blockchains with various technical attributes which may work better or worse for solving these problems. They may use proof-of-work, proof-of-stake, etc. Some are more decentralized than others and have features like censorship resistance, privacy, smart contract, etc. But they solve this exact problem.

[-] ICastFist@programming.dev 5 points 9 months ago

Isn't the point of blockchain that it's immutable? What about people who want to delete their own stuff? Or even mods or admins that have to delete stuff for legal reasons?

[-] makeasnek@lemmy.ml 3 points 9 months ago* (last edited 9 months ago)

Immutability is not bad, there are some situations you want immutability. For example, to secure voting systems, you may want to be able to write on the chain that "precinct 156 reported votes x/y/z in this quantity" so that if anybody comes along and tampers with those numbers later on, you can point to the chain and say "no see, actually, these are the real original numbers that the precinct published". The precinct could lie about their numbers of course and publish bad numbers to the chain, blockchain doesn't protect against that (unless the votes themselves are recorded on the chain by the individual voter), but the blockchain protects against those numbers changing in the future or another party incorrectly claiming they are a/b/c when they are actually x/y/z. That's a situation where immutability helps. Same with financial transactions. If you sent somebody money, you want a record of that (a receipt) if they later claim you never sent it to them. Examples of records which have a high degree of immutability that people use in everyday life are: court records, census data, house deeds, etc.

Blockchains usually have some degree of immutability but from a technical perspective they don't necessarily have to. If we're talking about data storage, you don't have to store the data itself on the chain, the chain data can just "point to" off-chain data which you can take down or modify at will.

An example of a scenario where this could work is: you have a blockchain for coordinating the sharing of medical information between different parties. You, as a user, have an account on this blockchain. The only data stored on chain is a list of parties and who you have authorized to receive your medical data along with a pointer to a file storage system like Amazon AWS which contains your medical data in encrypted format. You can add or revoke authorization at any time by changing how that data is encrypted. Whoever you gave authorization to prior may have made a copy of the data at that point in time, but you can block them from accessing new data you put out. When Amazon AWS gets a request to transfer a copy of your data to a new party, they can check the blockchain to see if that party is authorized to receive it.

The benefit of such a system would be that:

  • Your medical records are yours and stored in your own data storage system over which you have complete control.
  • You can choose to share it with parties like insurance providers or researchers who need large medical data sets to comb through.
  • You could set this control at a very granular level or grant access to all your data.
  • Your data becomes portable between insurance providers and your insurance provider can't make your life difficult by refusing to export data to your new one.
[-] ICastFist@programming.dev 2 points 9 months ago

That's useful for "real life" data, so to speak, stuff that should be immutable, save for a few occasions, like correcting errors; but my question was geared towards internet content. Taking your example of Wikipedia, if the service suffers from a wave of trolls, as it exists today, it can roll back the changes. With a blockchain? That's significantly harder, especially if useful edits happened in the meantime.

There's also this problem:

you don’t have to store the data itself on the chain, the chain data can just “point to” off-chain data which you can take down or modify at will.

Supposing this Wiki doesn't store any of the content, then the endpoints become the targets, which beats the whole purpose of the blockchain resilience/immutability. An endpoint that can't be reached is useless, one that has been compromised is even worse. You can trust the blockchain, but not the endpoint. And if the endpoint is where the "real stuff" is at anyway, why even bother with a blockchain?

[-] makeasnek@lemmy.ml 3 points 9 months ago* (last edited 9 months ago)

Taking your example of Wikipedia, if the service suffers from a wave of trolls, as it exists today, it can roll back the changes. With a blockchain? That’s significantly harder, especially if useful edits happened in the meantime.

I'm not convinced we need a Wikipedia that runs on blockchain, but for the sake of it being an interesting question, I'll answer it. Firstly, having a revision history is not bad. If you go to any wikipedia page, you can see most of the edits made, even those made by trolls, and the moderation decisions around those edits. This is good for transparency. When a user visits wikipedia, they see the "authoritative version" of that page, but the revision history is available to them if they want to read it. So with blockchain, you can roll back changes by changing which set of data is the "authoritative version" and you can have revision history, they are both important features.

There are a few types of data that are so harmful we can't have them, even in the revision history. For this kind of problem, we reduce immutability (as referenced before by using pointers instead of storing data on-chain), or we can prevent that data from being put into the chain in the first place. An example of a way to do this is to require that every new block (every revision to a wikipedia page) be approved by a set of users who have reputation >x. Maybe that means a moderator has to sign off, or 10 regular users with at least one approved edit, you can set the threshold however you like and assign reputation however you'd like. As a user's reputation is recorded on the blockchain, any node can easily verify their reputation amount.

Supposing this Wiki doesn’t store any of the content, then the endpoints become the targets, which beats the whole purpose of the blockchain resilience/immutability. An endpoint that can’t be reached is useless, one that has been compromised is even worse. You can trust the blockchain, but not the endpoint. And if the endpoint is where the “real stuff” is at anyway, why even bother with a blockchain?

The purpose of the blockchain in this wikipedia example is to:

  • Establish a single authoritative version of wikipedia that the entire globe can see and submit edits to (unlike a federated version where you have multiple versions of wikipedia hosted different places). This is "single authoritative copy administered by people you can't trust to be good actors" is the essential problem blockchain solves.
  • Censorship resistance or resistance to "attackers" may not be an important thing for a wikipedia clone. Resistance to attack depends on your threat model, who the attackers are, what kind of resources they have, how you can resist those attacks, etc. Right now, Wikipedia is a single centralized entity and has done quite a good job at resisting attacks aimed to force them to make editorial decisions they don't want to (mostly because of their reliance on the protections provided by the US legal system. If that system collapsed for some reason, their attack resistance might drop significantly). So if we clone wikipedia and make it decentralized, I think one could increase that security, but I'm not convinced that's needed in the first place.
  • It doesn't matter if the data is ultimately stored at some endpoint, the blockchain is less about storage of data and more about arranging the data in order and establishing a single authoritative copy. It's the medium through with users administer the data.
  • "You can't trust the endpoint", this is true but maybe not in a way that matters. It's true that the endpoint can send you bad information, but you can verify if the information is good or bad based on a cryptographic hash from the blockchain. Endpoints can have a reputational score on-chain and if they aren't doing their job properly, they can cease being used as an endpoint at all. There could be multiple endpoints for any given piece of data for redundancy and to protect against a scenario where an end point, maliciously or not, becomes unreliable. Also, there are decentralized data storage options out there with varying degrees of usefulness for this application: torrents, IPFS, Filecoin, jstor, etc.
[-] interdimensionalmeme@lemmy.ml 1 points 9 months ago

Deleting anything from the internet is theorically impossible, it shouldn't a mandatory requirement for anything.

Instead you publish a deletion request that politely asks everyone to pretend it doesn't exist

[-] ICastFist@programming.dev 1 points 9 months ago

Whether it's impossible is up for debate. Deleting your data from any social media or google-like platform is pretty much impossible. Deleting your old blogger that hasn't been archived in any manner, perfectly doable.

There's also the blatantly illegal stuff that is removed from the wider net whenever it's found, like child abuse stuff. Imagine that kind of thing being available "forever" in a blockchain.

[-] interdimensionalmeme@lemmy.ml 1 points 9 months ago

I meant in the sense that if someone got a copy while it was up, then it's not really gone. Even if the statists try to exterminate all copies, they will probably fail.

After all, even the pirate bay is still reachable in the clearnet. There is stilln a long way to go before they can really stamp out thoughtcrime.

this post was submitted on 06 Feb 2024
224 points (97.1% liked)

Asklemmy

43950 readers
771 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy 🔍

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS