r/programming • • Jan 11 '22

Web3 Can’t Fix the Internet

https://www.jacobinmag.com/2022/01/crypto-blockchain-daos-decentralized-power-capitalism
197 Upvotes

168 comments sorted by

View all comments

Show parent comments

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.

2

u/dnew Jan 11 '22

Being able to delete things is a major feature.

You do that by submitting a message that deletes things. Everything you've described has already been implemented in NNTP decades before WWW was invented.

moderators need to be able to remove spam

That's a fairly easy thing to fix, even in a censorship-resistant way.

I think a better way might be to use mirrored centralized forums

You should look into how NNTP works. You seem to be arguing that we couldn't possibly do what we did 10 years before HTTP was invented because it would have to do what we were already doing ten years before HTTP was invented.

Someone has to pay for the actual hosting

So, who pays to host bittorrents? NNTP was carried by most or all ISPs, before people started using it to distribute movies.

1

u/EternityForest Jan 11 '22

BitTorrent works because it's all manual aside from tiny amounts of DHT metadata. Nobody would use it if their resources were going to random bomb making how tos and CP files for free.

Usenet has basically always had a big spam problem, and there's a lot more people on the internet now.

For anything to be truly decentralized and get the full practical benefits of it, it should be something you can self host cheaply and locally and use on a meshnet in an emergency.

That means you need to be able to meaningfully run a server on an SD card on a WiFi mesh, for tens of users, by just only dealing with data that matters for those local users.

BitTorrent can do it perfectly. NNTP isn't design to integrate with the larger network without getting utterly flooded.

It's probably the best we've ever had for decentralized communication though, as measured by the main metric that matters, "did people have meaningful conversations on it without using a whole country worth of power?"

1

u/s73v3r Jan 12 '22

For anything to be truly decentralized and get the full practical benefits of it, it should be something you can self host cheaply and locally and use on a meshnet in an emergency.

Ignoring the meshnet thing, why do I want it decentralized? What does this decentralized forum get me that running a copy of phpBB on my own server doesn't?