pull down to refresh

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.

I've heard of this protocol, but I'm not sure if it's used by anyone. https://datatracker.ietf.org/doc/html/rfc2549 https://datatracker.ietf.org/wg/mptcp/charter/ https://datatracker.ietf.org/doc/html/rfc3828 https://datatracker.ietf.org/doc/html/rfc4960

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

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

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

They're using Ethereum as their PKI.

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.

Here's a page to check out: https://github.com/redecentralize/alternative-internet

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

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: https://imgs.xkcd.com/comics/dependency_2x.png

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!