from Hacker News

I moved my blog from IPFS to a server

by neiman on 1/31/24, 8:07 PM with 166 comments

  • by nonrandomstring on 1/31/24, 8:46 PM

    Well done to the author for writing this up.

    Having tried fringe technologies over the years, spun up a server and run them for a few months, struggled and seen all the rough edges and loose threads, I often come to the point of feeling - this technology is good, but it's not ready yet. Time to let more determined people carry the torch.

    The upside is:

    - you tried, and so contributed to the ecosystem

    - you told people what needs improving

    Just quitting and not writing about your experience seems a waste for everyone, so good to know why web hosting on IPFS is still rough.

  • by b_fiive on 1/31/24, 9:03 PM

    Totally biased founder here, but I work on https://github.com/n0-computer/iroh, a thing that started off as an IPFS implementation in rust, but we broke out & ended up doing our own thing. We're not at the point where the iroh implements "the full IPFS experience" (some parts border on impossible to do while keeping a decentralized promise), but we're getting closer to the "p2p website hosting" use case each week.
  • by koito17 on 1/31/24, 9:01 PM

    > it’s quite an inconvenience to run your own IPFS node. But even if you do run your own node, the fact you access a website doesn’t mean you pin it. Not at all.

    This has always been my major UX gripe with IPFS. The fact that `ipfs add` in the command line does little but generate a hash and you need to actually pin things in order to "seed" them, so to speak. So "adding a file to IPFS", in the sense of "adding a file to the network", requires the user to know that (1) the "add" in `ipfs add` does not add a file to the network, and (2) you must pin everything you want to replicate manually. I remember as recently as 2021 having to manually pin each file in a directory since pinning the directory does not recursively pin files. Doing this by hand for small folders is okay, but large folders? Not so much.

    More importantly, the BitTorrent duplication problems that IPFS has solved are also solved in BitTorrent v2, and BitTorrent v2 IMO solves these problems in a much better way (you can create "hybrid torrents" which allows a great deal of backwards compatibility with existing torrent software).

    This isn't a UX issue, but another thing that makes it hard for me to recommend IPFS to friends is the increasing association with "Web3" and cryptocurrency. I don't have any strong opinions on "Web3", but to many people, it's an instant deal-breaker.

  • by lindig on 1/31/24, 8:42 PM

    Filecoin, which is based on IPFS, creates a market for unused storage. I think that idea is great but for adoption it needs to be as simple as Dropbox to store files. But visit https://filecoin.io/ and the dropbox-like app that you could be willing to try is nowhere to be found. So maybe it is an enterprise solution? That isn't spelled out either. So I am not surprised that this has little traction and the article further confirms the impression.
  • by p4bl0 on 1/31/24, 8:44 PM

    I'm surprised by the beginning of the post talking about pioneering in 2019. Maybe it is the case for ENS (I never cared for it), but regarding IPFS, my website was available over IPFS 3 years before that in 2016 [1]. Granted, I was never IPFS only. I also started publishing a series of article about censorship-resistant internet (Tor, I2P, IPFS, and ZeroNet) in 2600 Magazine – The Hacker Quarterly – back in 2017 [2].

    Anyway, I came to the same conclusion as the author, but several years ago: in the end, nothing is actually decentralized, and maintaining this illusion of decentralization is actually costly, for no real purpose (other than the initial enjoyment of playing with a new tech, that is).

    So I stopped maintaining it a few years ago. That decision was also because of the growing involvement of some of these projects with blockchain tech that I never wanted to be a part of. This is also why I cancelled my article series in 2600 before publishing those on IPFS and ZeroNet.

    [1] See for example this archive of my HN profile page from 2016 with the link to it: https://web.archive.org/web/20161122210110/https://news.ycom...

    [2] https://pablo.rauzy.name/outreach.html#2600

  • by axegon_ on 1/31/24, 9:13 PM

    I see where the author is coming from but I find something else strange: Considering that the blog is in practice a collection of static files, I don't see the benefit of paying for a server at all. Host it on github, if github gets killed off for whatever reason, switch to something else and move on. Seems like an unnecessary overhead to me.
  • by MenhirMike on 1/31/24, 8:59 PM

    > the more readers it has, the faster it is to use it since some readers help to spread the content (Scalable).

    In other words: Once a few big websites are established, no small website will ever be able to gain traction again because the big websites are simply easier to reach and thus more attractive to use. And just like an unpopular old torrent, eventually you run out of seeders and your site is lost forever.

    One can argue about the value of low traffic websites, but I got to wonder: Who in their right mind thinks "Yeah, I want to make a website and then have others decide if it's allowed to live". Then again, maybe that kind of "survival of the fittest" is appealing to some folks.

    As far as I am concerned, it sounds like a stupid idea. (Which the author goes into more detail, so that's a good write up)

  • by sharperguy on 2/1/24, 12:19 PM

    I think the main difference between IPFS and bittorrent in terms of usage patterns is that IPFS is being used to host content that could easily by just a regular HTTP server, whereas bittorrent is hosting data which is highly desired and would be impossible or very expensive to host on HTTP.

    And so naturally relays pop up, and the relays end up being more convenient than actually using the underlying protocol.

  • by alucart on 1/31/24, 10:00 PM

    I'm exploring a similar project, having a "decentralized" website (hosted on github) which saves users' data in the blockchain itself and then provides that same data to other users through public APIs and/or from actual blockchain clients.

    Wonder if there is actual use or need for such thing.

  • by nikisweeting on 2/1/24, 8:50 AM

    Is there anything that allows one to mount an IPFS dir as a read/write FUSE drive yet? Once they have that, I'm all in, even if it's slow...
  • by wyck on 1/31/24, 10:56 PM

    I build a blog in IPFS, its basically reliant on several centralized services to actually work in browsers (DNS , GitHub, Fleek, etc). I wrote about how I build it here, the experaince was underwhelming. https://labcabin.eth.limo/writing/how-site-built.html
  • by mawise on 1/31/24, 11:12 PM

    What about a cross between IPFS/Nostr and RSS? RSS (or atom) already provides a widely-adopted syndication structure. All that's missing are signatures so that a middleman can re-broadcast the same content. Maybe with signatures that's really reinventing SSB[1]. But if we think of the network in a more social sense, where you're connecting to trusted peers (think: irl friends), maybe the signatures aren't even that important. All that's left then is to separate the identifier for the feed from the location--today those are both URL--so you can fetch a feed from a non-authoritative peer.

    [1]: https://en.wikipedia.org/wiki/Secure_Scuttlebutt

  • by ianopolous on 2/1/24, 9:00 AM

    I've been hosting my website on Peergos (built on ipfs) for years now (founder here). Peergos solves a lot of the issues with mutable data (also privacy, access control). You can see how fast updates show up from an independent server here: https://peergos.org/posts/p2p-web-hosting

    My personal website served from a peergos gateway (anyone can run one) is https://ianopolous.peergos.me/

    If you want to read more check out our book: https://book.peergos.org

  • by deephire on 1/31/24, 11:17 PM

    Any thoughts on the services that make hosting a blog on IPFS easier?

    Services like https://dappling.network, https://spheron.network, https://fleek.co, etc?

    I've seen some DeFi protocols use IPFS to add some resiliency to their frontends. If their centralized frontend with vercel or whatever is down, they can direct users to their IPFS/ENS entrypoint.

  • by mbgerring on 1/31/24, 9:56 PM

    Did they ever address the issue with IPFS where running a node necessarily required you to distribute an unknowable amount of pieces of material you may not want to be hosting (like CSAM, for example)?
  • by tempaccount1234 on 1/31/24, 10:23 PM

    As a user I’d stay away from sharing IPFS because of legal reasons. Just like torrenting, by actively distributing content I take up legal responsibility (at least in Europe where I’m located) - that’s risk is tolerable for a legal torrent because the file doesn’t change over time. For a changing web site, I’d constantly have to monitor the site for changes or trust the site 100% - which is not happening as soon as the site is somewhat controversial…
  • by shp0ngle on 1/31/24, 9:44 PM

    Yeah this is exactly my experience with IPFS. Nobody actually uses IPFS directly, and even those few that do never actually pin anything because it's an extra step.

    (Also I heard it's computationally costly, but I am not sure if it's true, I can't imagine why it would be the case actually.)

    As a result it's actually more centralised than web, there are like 3 pinning services that everyone uses. At which point I don't get the extra hoops.

  • by yieldcrv on 1/31/24, 8:58 PM

    I host all the static files of my Netlify and Vercel servers on IPFS

    it is simple enough and free even on hosted solutions, and it keeps my Netlify and Vercel free during spikes in traffic

    but the availability issue is perplexing, just like OP encountered

    some people just randomly wont be able to resolve some assets on your site, sometimes! the gateways go up and down, their cache of your file comes and goes. browsers dont natively resolve ipfs:// uris. its very weird.

  • by schmichael on 1/31/24, 8:42 PM

    > I pinned content from my own server and played forever with settings and definitions, but couldn’t get the content to be available everywhere.

    > The blog you’re reading now is built with Jekyll and is hosted on my own 10$ server.

    > don’t get me wrong, I’m still an IPFS fanboy.

    ...how could you still be a fanboy? When IPFS cannot fulfill even the most basic function of globally serving static content, why does it deserve anyone's interest? It's not even new or cutting edge at this point. After 8 years of development how can the most basic functionality still not work for even an expert?

  • by hirako2000 on 2/1/24, 8:27 AM

    On the need to run a node, i have a little project to wrap the static site content with an IPFS node in JS.

    E.g there is already helia.

    https://github.com/ipfs/helia

    Just waiting for running a node on the browser tab to become insignificant, resource wise.

  • by fsiefken on 1/31/24, 11:26 PM

    Perhaps use the DAT p2p network as an alternative? https://kovah.medium.com/publishing-a-static-website-to-the-...
  • by filebase on 1/31/24, 9:47 PM

  • by zubairq on 2/1/24, 7:04 AM

    I did a similar thing on a project of mine where I used to use IPFS as the only long term storage layer on a project of mine. I still use IPFS but now I use it more as "long term unreliable storage". Note that I use IPFS without Filecoin or any external pinning services, instead chose to pin the content from my own server on regular basis.

    The current status is that I plan to bring back IPFS usage more in the future for my project, but will wait for the ecosystem to mature a bit more first with regards to libraries.

  • by dannyobrien on 1/31/24, 11:42 PM

    I'm not sure quite how relevant it is to Neiman's work, but this is a pretty interesting blog post on decentralized web apps, and the tradeoffs with using various versions of IPFS in the browser: https://blog.ipfs.tech/dapps-ipfs/
  • by ChrisArchitect on 1/31/24, 9:26 PM

    Aside: visited this curious as to what the Nieman Journalism Lab (https://www.niemanlab.org/) was doing with IPFS if anything. Not the nicest near-collision naming move.
  • by anacrolix on 2/1/24, 12:43 AM

    For a BitTorrent based take on IPFS: https://GitHub.com/anacrolix/btlink
  • by xiaojay2022 on 2/1/24, 4:56 PM

  • by geokon on 2/1/24, 8:09 AM

    "This is a huge difference from BitTorrent where the only way to get content is to run your own software, and when you download something you also share it, by default."

    As far as I understand this isn't a solved technical problem - but mostly a cultural quirk and probably just due to how the early torrent clients were configured

    There is for instance a major Chinese torrent client (that name escapes me) that doesn't seed by default - so the whole thing could have easily not worked. If IPFS clients don't seed by default then that kinda sounds like either a design mistake or a "culture problem"

    I've always wondered if there was a way to check if a client is reseeding (eg. request and download a bit from a different IP) and then blacklist them if they provide the data (or throttle them or something)

  • by fractalnetworks on 2/1/24, 4:37 AM

    yup ipfs literally doesnt work, why else did they need to do an ico and introduce centralized indexers...
  • by miga on 2/1/24, 10:05 PM

    Did you try FileCoin instead?