Hacker News

Favorites Setup
Comment by boramalper | original | How We Made IPFS Content Publishing 10x Faster
[−]boramalper · 2026-07-01 Wed 17:53 UTC · link
Is anyone still (or has anyone ever) used IPFS in production?

I’m not talking about technology demos such as Wikipedia-on-IPFS (which indeed worked and was impressive) but where IPFS is actually being relied on for some functionality.

[−]pixel_popping · 2026-07-01 Wed 18:08 UTC · link
It's funny because even in Piracy, IPFS has never really taken off and that's a massive use case.
[−]frollogaston · 2026-07-01 Wed 18:18 UTC · link
Also public key lists like what Whatsapp now publishes
[−]boramalper · 2026-07-01 Wed 18:26 UTC · link
It slowly was taking off—e.g. Library Genesis on IPFS[0]—but then IPFS introduced Bad Bits Denylist [1] which killed it on arrival.

[0] https://freeread.org/ipfs.html

[1] https://badbits.dwebops.pub/

[−]RobotToaster · 2026-07-01 Wed 20:42 UTC · link
Suddenly it looks a lot less decentralised.
[−]throwaway8388 · 2026-07-01 Wed 21:03 UTC · link
Well, badbits are only enforced on the centralized http gateways. LibGen CIDs would still resolve fine using the DHT as the decentralised discovery mechanism
[−]msm_ · 2026-07-01 Wed 23:30 UTC · link
I don't know, it looks pretty decentralised to me?

>The purpose of this list is to allow IPFS node operators (e.g. someone running a public IPFS gateway) to opt into not hosting previously flagged content.

IPFS node operators, who are supposedly interested in hosting malicious content (and i2p-hosted phishings are a real problem) can OPT INTO using this list.

In this case, I don't see how that's any problem for piracy - people can just use one of the bad/unfiltered nodes.

[−]RobotToaster · 2026-07-02 Thu 07:17 UTC · link
The fact that it's entirely binary, and they don't separate someone copying books from malware isn't helping that argument.
[−]MattCruikshank · 2026-07-01 Wed 18:10 UTC · link
It doesn't seem like it's popular to put old game ROMs on IPFS...? And that surprises me...
[−]boramalper · 2026-07-01 Wed 18:29 UTC · link
And why would you do that? As opposed to, say, distributing via BitTorrent or serving them using a good-old HTTP server?

edit: Not opposed to the idea, just curious what makes you pick IPFS over the existing alternatives.

[−]darkwater · 2026-07-01 Wed 20:02 UTC · link
Maybe fear of Nintendo coming to bite you?
[−]topgrain2 · 2026-07-01 Wed 20:09 UTC · link
The idea of simply mounting a filesystem and selecting from a list of titles which roms to download and add to your local games, unloading them and transparently re-downloading when you need to free up space, all without relying on a centralized host even for the file index, is pretty appealing. You can do similar things with torrents but it's not quite as "natural".

Most of the emulator frontends I've seen are pretty against integrating this kind of ease-of-piracy stuff, though, accepting recognizing and filling in metadata for well-known roms, but not making it easy to integrate with remote libraries of roms... except tools that run on "hacked" consoles, which seem to love just giving you a list of games with a "tap A/X to pirate" UI.

[−]boramalper · 2026-07-01 Wed 20:32 UTC · link
> The idea of simply mounting a filesystem

You can use fuse-btfs [0] for mounting torrents as filesystems! Last I checked it was a fairly mature piece of software so hopefully it doesn’t feel unnatural.

[0] https://github.com/johang/btfs

[−]Gigachad · 2026-07-01 Wed 22:45 UTC · link
It's because that crosses the line of plausibly legal. In theory you could use an emulator with only titles you copied from your own physical copies which is legal. But if they implement a download mechanism it's clearly illegal.

At any rate you can replicate the same thing by just hosting the ROMs on your own cloud storage and using something like macos virtual files which will do this transprent download/delete to manage storage.

[−]charcircuit · 2026-07-02 Thu 00:18 UTC · link
>your own physical copies which is legal

You can make an archival copy, but it is copyright infringement to use that copy in an emulator.

For newer console generations (decrypted) backups are not legal due to needing DRM circumvention.

[−]ValdikSS · 2026-07-01 Wed 22:40 UTC · link
IPFS (at least initially) was designed to be a BitTorrent replacement, a new version of it, which you can use not only with a special software, but also via HTTP and also directly inside the browser.

It basically works as BitTorrent, but also provides HTTP access to the files.

In fact, many pirate websites use IPFS in one way or another (either directly, by serving the downloads over one of the public gateway, or indirectly, for internal needs).

[−]Gigachad · 2026-07-01 Wed 22:44 UTC · link
Couldn't you also just build a bittorrent client that hosts a local webserver to provide http access? I could never get what IPFS actually did that bittorrent didn't.
[−]ValdikSS · 2026-07-01 Wed 22:58 UTC · link
1. IPFS has addressable content

The main drawback of BitTorrent v1 file hashing scheme inside the .torrent file is that it makes a virtual stream of the directory you want to share, splits that stream into blocks, and hash it altogether. That means that each file inside the torrent is unique, even if your directory have very common files, each is which exist in BitTorrent network per se.

IPFS solves this issue by just hashing the contents of the file. The "directory" of the files is a list of each individual file. If somebody has created a directory of 100 mp3 files and you happen to have one of it and added it into your IPFS daemon, you will be serving this file even if you've downloaded it from elsewhere (not from this "directory").

2. IPFS has both immutable and mutable files and directories

In BitTorrent, if you want to update your torrent file (in Russian we use «раздача» (bittorrent "upload"/"seeding"), a very precise word for bittorrent which doesn't have direct equivalent in English, so I'll stick to "torrent file), all the swarm needs to be switched to the updated version due to #1.

This means you have split swarm: the majority of people still seed the old version of torrent, and the minority seed the new version. Because of non-content addressation, all the old, already exising files in new .torrent file are treated as "new", and the old swarm can't seed them.

In IPFS, you can either create new immutable directory with all the old files and 1 new file, and all the old files would be seeded by the existing peers, or you can create mutable directory, and you can just modify it to your like without the need to update the link.

---

Both of these issues are solved in BitTorrent v2 more or less, but it's still not very popular, even if the specification is from 2017.

IPFS however is much more featureful than that. It allows to build decentralized distributed (serverless) websites and services, with user data and such.

There used to be a ZeroNet project which directly aimed at decentralized distributed web services, and is was very cool, there were many blogs, forums, boards. It all could be implemented in IPFS, but I saw only very simple text editors over IPFS and such, much simpler applications than it was in ZeroNet.

BitTorrent had their own version of distributed websites, Maelstrom: https://www.ctrl.blog/entry/bittorrent-maelstrom.html

[−]boramalper · 2026-07-02 Thu 05:34 UTC · link
> Couldn't you also just build a bittorrent client that hosts a local webserver to provide http access?

And this does exist! See confluence by anacrolix:

https://github.com/anacrolix/confluence

[−]anacrolix · 2026-07-02 Thu 07:39 UTC · link
[−]errpunktjose · 2026-07-01 Wed 18:11 UTC · link
https://swap.cow.fi uses it for order metadata registering iirc
[−]frollogaston · 2026-07-01 Wed 18:11 UTC · link
NFT artwork, if you count that. Briefly checked, the ones that were traded for the most were using IPFS rather than HTTP. But I also don't trust that these aren't self-wash sales (easy given the "NF" part), also NFTs are dumb.
[−]boramalper · 2026-07-01 Wed 18:22 UTC · link
I don’t think NFTs (should) count: My first impressions of web3 by Moxie Marlinspike

https://moxie.org/2022/01/07/web3-first-impressions.html

[−]benatkin · 2026-07-01 Wed 21:18 UTC · link
Moxie doesn't trash NFTs or Web3 in that article. He just points out some limitations of the ecosystem.

Also, ipfs directly fixes one of the bigger issues:

> Instead of storing the data on-chain, NFTs instead contain a URL that points to the data.

If it's ipfs, it points to the content. If it's ipns, it points to a changeable link to the content, but one that is made consistent through the network, preventing the trick of making it differ based on the referrer.

[−]tehjoker · 2026-07-01 Wed 23:30 UTC · link
His statement at the end was pretty interesting:

"If we do want to change our relationship to technology, I think we’d have to do it intentionally. My basic thoughts are roughly:

    We should accept the premise that people will not run their own servers by designing systems that can distribute trust without having to distribute infrastructure. This means architecture that anticipates and accepts the inevitable outcome of relatively centralized client/server relationships, but uses cryptography (rather than infrastructure) to distribute trust. One of the surprising things to me about web3, despite being built on “crypto,” is how little cryptography seems to be involved!
    We should try to reduce the burden of building software. At this point, software projects require an enormous amount of human effort. Even relatively simple apps require a group of people to sit in front of a computer for eight hours a day, every day, forever. This wasn’t always the case, and there was a time when 50 people working on a software project wasn’t considered a “small team.” As long as software requires such concerted energy and so much highly specialized human focus, I think it will have the tendency to serve the interests of the people sitting in that room every day rather than what we may consider our broader goals. I think changing our relationship to technology will probably require making software easier to create, but in my lifetime I’ve seen the opposite come to pass. Unfortunately, I think distributed systems have a tendency to exacerbate this trend by making things more complicated and more difficult, not less complicated and less difficult."
Funnily enough, later that year ChatGPT came out and blew away the excitement around cryptocurrencies by making software easier to manufacture to some degree. Though even with the latest LLM tools, I don't think this has changed at all so far: "Even relatively simple apps require a group of people to sit in front of a computer for eight hours a day, every day, forever." Maybe those people can program by texting from the coffee machine, but they're still working.
[−]Borg3 · 2026-07-01 Wed 19:03 UTC · link
Yeah.. IPFS is a bit disappointement. I was a bit exceited about it back in the day. Recently, I wanted to download sth large from archive.org, I used torrent (and my legacy torrent client) and it worked like a charm!

It seems pure HTTP tracker + Torrent is good enough.

[−]boramalper · 2026-07-01 Wed 20:21 UTC · link
I think the biggest sin of IPFS is not working natively in web browsers—instead, requiring the use of either HTTP gateways or native apps running outside the browser.
[−]dannyobrien · 2026-07-01 Wed 22:20 UTC · link
Actually, this works now! https://inbrowser.link/ https://github.com/ipfs/service-worker-gateway -- getting p2p working in browsers is still surprisingly hard: even the official routes like webrtc have lots of hard edge cases.
[−]ydj · 2026-07-01 Wed 19:22 UTC · link
At meta, there was a project for delivering binaries of internally built libraries / binaries to dev laptops using a private ipfs network. This was live for at least some period of time.
[−]boramalper · 2026-07-01 Wed 20:28 UTC · link
Very interesting! I wonder if it’s still live and there is any writing on it?
[−]ValdikSS · 2026-07-01 Wed 22:28 UTC · link
I use it for about 5 years, to publish javascript file (proxy auto-configuration) and serve the contents over different gateways.

It is a huge server traffic saver.

Used to use it to host different static websites on custom domains while Cloudflare's gateway was working, stopped using it for this purpose since its sunset in 2024.

Neocities used to publish their websites over IPFS, this feature got broken (for years) and finally got removed: https://github.com/neocities/neocities/issues/352

[−]ValdikSS · 2026-07-01 Wed 22:37 UTC · link
Also used it several times for almost-live video broadcasts, served over cloudflare ipfs gateway while it was working.

It used HLS with .ts files, in a special way which circumvented cloudflare protection against .mp4 and .ts files, or something along the lines. Don't remember the details, but it was a cheap way to deliver your stream to any video player using standard protocols only.

[−]preisschild · 2026-07-01 Wed 23:19 UTC · link
the containerd stargz snapshotter has an IPFS integration so you can use IPFS instead of a traditional OCI registry to store your OCI containers

Not using it in production but i found it pretty cool to test

[−]phae · 2026-07-01 Wed 23:37 UTC · link
the thing that prevented me using ipfs in anger.. (granted i may not have looked hard enough) was that i couldn't have stuff in ipfs, and access it via posix filesystem at he same time. i'd have to store things twice.

fine for publishing, but not for having a live data set that is both used and published at the same time, as you can do with torrent.

[−]OneDeuxTriSeiGo · 2026-07-01 Wed 23:40 UTC · link
It's not literally IPFS but atproto/bluesky is using most of the bones of IPFS (IPLD) to do their entire data propagation and event broadcasting.

And tbh it shouldn't be terribly difficult to extend the existing infra to supporting a full IPFS based system but I don't think anybody has considered it worthwhile yet.

ATproto uses just the bits it immediately needs even if it could probably benefit from the other parts long term (ex for archival relay stream preservation).

[−]bergie · 2026-07-02 Thu 06:41 UTC · link
Back when I was working at a website builder, we used IPFS for distributing content between our serving clusters.

If also made the sites available on IPFS, but that was a secondary concern.