this post was submitted on 06 Feb 2024
224 points (97.1% liked)
Asklemmy
43939 readers
472 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- 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.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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:
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:
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?
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.
The purpose of the blockchain in this wikipedia example is to: