I'm not an expert in this area, but I know that the TCP stack is well-established and mature. UDP is also widely used, but it doesn't do flow control, so if any packets are lost during transmission, they're not recovered. UDP is often used for streaming, for example, where it's not a big deal if a few packets are lost.
reply
Do you know if there has ever been a serious attempt to basically create an alternative internet, where sites could be hosted, not necessarily using http?
reply
327 sats \ 4 replies \ @rtr 26 Apr
There have been attempts. I don't know what you'd count as serious but here's some of the projects that are non HTTP-based are being used to some extent today:
  • Gopher - This predates HTTP, basically a more presentation-strict protocol that displays information as either text or links. Very lightweight as a result.
  • Gemini - A "souped up" version of Gopher. Aims to recreate that "lightweight web" that's common in the mid to late 90s.
  • Urbit - An overlay OS with its own network stack. Very interesting project.
There's probably more. But those are the ones that I've used so that's what I'm familiar with.
reply
Thanks. I'll check out Urbit. Edit: I looked at the site for 30 seconds. This is exactly what I was looking for. I heard of it before, but didn't know anything about it.
reply
Urbit is very interesting. It can be a bit esoteric for most but I think what they're doing there is really cool.
I wish they base their PKI on Bitcoin though.
reply
0 sats \ 1 reply \ @alt 26 Apr
That's something that put me off when reading, the idea sounds great but they say your ID is registered "on a Blockchain", I couldn't even see anywhere which Blockchain it was.
reply
That's why I said I wish they've used Bitcoin instead. As far as I understand it, the smart contract that handles the identity management is something that Bitcoin can't handle yet. Maybe if BitVM becomes a thing.
From what I gather though, they're trying to bootstrap away from Ethereum into an Urbit-specific solution. That's probably the reason why you can't easily find the blockchain that they're using for the identity layer.
reply
Yes, there have been and continue to be, but it's a very challenging area to gain traction because 99% (just a guess) of the internet operates in the way we're familiar with, and there's a lot of resistance to fundamental change.
reply
Thanks. It seems like an ordinary web site like github is critical, yet incredibly fragile. Are there more secure alternatives to web site hosting over TCP/ip?
reply
There are decentralized website hosting solutions, but I have never used them.
reply
Would these be based on TCP/IP? Would it not be conceivable to, let's say, set up a decentralized version of SN that is basically connected to separate computers serving as nodes in a decentralized way, and completely separate from ICANN and not censorable by an ISP? What would this look like?
reply
why not IPFS? you could do something like Unstoppable domains. But I'm thinking that-- isn't good enough. has to be Fresh.. non- Unstoppable domain like..I think
reply
I just checked the site. Looks interesting. Do you have experience with it? How secure is it?
this one interests me, but i haven't looked into it. https://geti2p.net/en/
reply
There is an alternative to TCP/IP called QUIC made by Google.
IIRC the original goal was to make one sleek protocol that does everything from physical to transport to application. However, they never got beyond building on top of IP and below HTTP
reply
TCP+UDP over IP serves all our current needs for building the Internet.
I'd ask what problem are you trying to solve through an alternative? What features are you looking for that the current stack is lacking?
As pointed out by others, the architecture of the Internet is layered. Some problems (like encryption) can be solved on other layers.
reply
I would like applications to be free from censorship by a third party. I know that may not be achievable.
reply
What sort of adversary are we talking about here?
If it's the government, and it can coerce ISPs, then the short answer is it's impossible. (That is unless you control every meter of wire and every single piece of networking equipment between you and your peer.)
If you bypass IP packet censorship by using an alternative to IP, they will just move the censorship one layer down, intercept the "bare wire" data and filter out all signals that don't look like IP packets.
There would be no way around it other than literally building a separate physical network (mesh WiFi, LoRaWAN, private satellites etc.).
The way we deal with censorship on the Internet is on higher layers - encryption provides us with means to obscure the content as well as ensure no tampering. But that assumes the lower layers are free from obstruction.
reply
Thanks for the response. This is the information I wanted.
reply
Why would you want to redo TCP/IP? I guess if you're moving from IPv4 to IPv6, sure. But I don't see a reason to move away from such a core part of the network stack.
reply
It seems to me that TCP/IP is always censorable at the ISP level, but maybe I'm wrong?
reply
I guess? But that's just the structure of the internet. ISPs are basically just gateways that connect you to other ISPs in other {areas, countries}. IP is just a protocol that allows you to logically address a machine in a network.
You'll be able to create your own internet in your own area using a bunch of wireless routers in a sort of meshnet style and still uses IP. But that doesn't rely on an ISP to communicate with other nodes in the meshnet.
Maybe packet radio as well. That's a way to communicate to farther networks without going through an ISP. It's a heck of a lot slower though.
reply
Yes. I am aware of packet radio. You're right. It's very slow. It just seems that critical projects like those on github can be taken down on a whim by third parties. I know a meshnet is very pie in the sky, but the current system seems very fragile.
reply
258 sats \ 1 reply \ @rtr 26 Apr
Yes. It's very fragile. It's actually insane when you really think about it. How a lot of the current infrastructure today are very fragile on certain places.
Reminds me of this XKCD comic:
I think the best way to deal with this fragility is to make sure that you have redundancy.
I mean, posting your repo in Github is great since there's a lot of people using it. But you should also have your repo backed up elsewhere, preferrably in multiple places, just in case Github kicks you out.
reply
That sums it up!
reply
I wouldn't call the internet "fragile". It's actually very robust at routing around local obstructions in the network - if there's a route, it tends to find it, eventually.
And a GitHub takedown, while impactful, does not spell the end of a project. Git calls the operation clone for a reason - everyone who does that downloads the entire repository, with its entire history and all branches.
You can recover a project from any developer's machine almost immediately (and with integrity checks), thanks to Git's decentralized nature.
reply
Thanks for the information. I know there has been talk of getting bitcoin core off of github. What's the rationale for moving it, and what alternatives are available, if you know?
reply
I'll start by pointing out that you don't need a "full-service" to just host code.
You can just expose a bare Git repo over any plain ol' HTTP server with something like
python -m http.server -d /path/to/repo.git
There's technologies like WebDAV and more modern ones that even allow write access.
Indeed, I believe this was the way that Linus Torvalds hosted his autority-copy of the Linux Kernel in the early days of Git.
That being said, there are plenty of alternatives.
Hosted:
  • GitLab, but I believe they don't offer as much free stuff as GH.
  • GNU Savannah, supported by the GNU Foundation. Your project must be FOSS under fairly strict Richard Stallman rules.
  • SourceForge will get an honorable mention because it was THE Big Daddy back in the days. Massive enshittification caused them to slide into obscurity.
  • JetBrains, Atlassian and other smaller players have offerings too, but perhaps too private-code focused.
Self-hosted
  • Gitea, definitely my favourite. I use it for private code hosting that doesn't leave my network, but can supposedly scale to handle public projects.
  • GitLab has an open source "community edition". Never used it.
As for rationale for moving something like Bitcoin Core off GitHub, I don't really see one at present. There is no smoke indicating a shutdown is on the horizon, so it doesn't justify the cost of a preemptive migration.
If a shutdown happens out of the blue, like I said, reemerging on another website is trivial, but they can shut down that too until the only thing left is a Gitea instance, or indeed a bare repo, hosted over Tor.
reply
Great information. Thanks!