the internet should've been self hosted from the beginning.
I think the biggest issue preventing self hosting is DDOS attacks and spam.
You can still host stuff like an IRC channel, or a telnet BBS or jabber server without getting overwhelmed by bots, with security measures in place but AFAIK anything open and public facing quickly gets overwhelmed with garbage. Even with IRC you need anti-spam bots and stuff. There are lots of great decentralized platforms you can self-host out there but the issue is the sheer volume of garbage data you have to deal with and if you piss anyone off you will quickly be taken down if they ddos you. Even when you look at Usenet servers that are still active, the sheer amount of spam just being flung into the void that no one reads is astounding. As soon as you open a port on your home router it gets absolutely hammered with fucking garbage every time.
My father wanted me to set up a Windows RDP server for him about 7-8 years back so he could access a home server he used for his home business as if he were sitting at the computer. I used an obscure port, three strike then the account was locked for 24-hours for security. The account was locked up constantly and the server was unusable. There are so many bots probing for shit online they found the obscure open port, figured out it was an RDP server and started hammering it with login attempts. I ended up setting up an SSH server on an old desktop, making it only accessible by keypair, routing the traffic on the same obscure port as the RDP server through there using putty on his laptop. The moral is any public facing port you open on your home network almost instantly gets inundated with garbage.
how tf does domain registering work and why can't we just host one ourselves
You could theoretically set up your own DNS server in your basement and assign domains to whatever ips you want. There are some issues though.
1) Just because you set one up, doesn't mean anyone will use it. You'd have to get everyone you want to access your server to agree to use your DNS.
and
2) Like the above issue it will quickly get overrun with garbage and most likely made into part of a botnet.
Some things I've thought about over the years:
I think if you had like, a really really fast home Internet connection, you could set up a VPN Server that is only accessible via keypair and issue a key to trusted users, then they could connect to the VPN in you house and everyone would be on the same intranet and you could have your own little pretend Internet with like 20 guys who all have their own website along with maybe an IRC chatroom, but if you're talking small potatoes like that, nobody in going to notice a little forum with like 20 guys hosted on a cheap VPS anyway, so it's a lot of work for little reward.
I'd like to see someone develop an acoustic coupling modem that plugs into USB and works with smartphones and then you can use is for a really simple terminal chat program that uses the telnet protocol. Because phone lines are considered a public utility, and you need an actual warrant to listen in on phone calls. I think something like that would be almost censorship proof. Again, though that wouldn't scale well, and when you're on that small a scale nobody hears you say gamer words anyway. I think it's be a cool project though, bringing dial-up BBSes into the 21st century.
There are lots of ideas floating around for decentralized ways to communicate online, block chain kind of things, but they almost all universally require some kind of central server to prevent abuse meaning they will be quickly overrun with spam or the centralized server kind of defeats the purpose. Like think along the lines of an IRC style chat where all messages are synced between all users connected to each other. When a user posts a new message it gets sent to everyone on the node. How do you prevent spam though? Who decides who gets banned? This kind of thing could work at a small scale, but again, if you're small scale nobody is paying attention to what you are saying anyway.
It's like, the solutions that would work only work for small-scale projects and if a project is small scale, nobody notices it anyway so you don't need the solutions.