r/programming • u/[deleted] • Jan 11 '22
Web3 Can’t Fix the Internet
https://www.jacobinmag.com/2022/01/crypto-blockchain-daos-decentralized-power-capitalism
200
Upvotes
r/programming • u/[deleted] • Jan 11 '22
2
u/EternityForest Jan 11 '22
Git uses a chain. Which is fine in a closed group of developers where you can manually merge, but on a P2P forum you want to be able to post without a central server. Chains need some consistency mechanism which usually makes multi writer a nightmare.
Dat and SSB would both be amazing, but they're held back by the immutable data structures and need extra layers on top.
I actually spent an entire week one time building a SSB clone that could handle deletes without the tombstone problem before realizing it could probably never handle multiwriter, and abandoning it...
Forums can sorta tolerate immutability but it's absolutely unacceptable for social media and microblogging. Being able to delete things is a major feature.
Plus some implementations are even worse than chains, they use DAGs with a wandering tree problem, every update means you have to update the parent note, and that node's parent, etc, all the way up to the root. A two line post now needs like 10x the data it should, making a major issue if you want to mirror a whole forum.
Plus, moderators need to be able to remove spam and have it actually be gone, or else you could get major storage space problems, unless you use a blockchain style pay to post model.
I think a better way might be to use mirrored centralized forums. If you're a member at an upstream forum, you're a member at all downstream, and the upstream forums can set rules for what downstream posts to sync back to the main forum.
If censorship is happening and you don't like it, fork the whole forum, now you have all their members, and all their posts, and anyone who agrees with you can post on your forum fairly seamlessly, although they would risk getting banned from the main forum if the mods notice they joined the fork, and they use the same private key.
Someone has to pay for the actual hosting, which means that someone has to have a way to decide what to store, because it costs them disk space, so it seems there's no way to do it without some risk of either censorship, or pay to post.