
Putting This Blog on IPFS - leolambda
https://ipfs.io/ipns/Qme48wyZ7LaF9gC5693DZyJBtehgaFhaKycESroemD5fNX/post/putting_this_blog_on_ipfs/
======
MrEldritch
"Even if my server goes down, as long as these files are pinned somewhere,
anyone should be able to use that IPNS name at another gateway and see the
blog."

This is also, in my opinion, the biggest objection to IPFS - that it really
doesn't necessarily lead to _any_ kind of true decentralized hosting unless
someone else has decided to pin your files.

And why would they? I understand that IPFS is supposed to prioritize
connections based on seed/leach ratio like a typical torrent service, but I
only torrent a few files at any given time and it's pretty trivial to set them
to seed or disable manually; there's no way I'm going to make seed vs. don't
seed decisions on _every website I visit._ So unless for some reason I
specifically think to help share some webpage or other, it'll just get auto-
deleted from my machine when it cycles out of the cache, as the automated
stuff is what'll be keeping track of maintaining my seed/leech ratio, total
disk usage for other people's content, upload limits, not leaving if you're
one of the only seeders left, etc. In theory, IPFS could be even _more_ prone
to link-rot than the vanilla Web, depending on how many people try and
actually depend on the decentralized hosting and end up having their files
vanish once it's been a long enough time that nobody's still hosting them.

And when there's so many different webpages, as opposed to just a few
torrents, why would I think to pin any one thing in particular? Torrents can
work based on charity and the need to maintain a particular seed/leech ratio;
but I don't have the mental energy to bother deciding whether to be charitable
about every dang website I visit.

So this ends up meaning that IPFS works for _popular, recent_ content, where
there's enough people who have downloaded the content themselves recently
enough that it's still in their cache to meaningfully take the load off the
original host in serving that content. But you're not going to get dedicated
long-term seeders of any particular site the way you do with highly-desirable
files like pirate torrents. But generically, you will always need your own
centralized server for any content you want to upload and make sure stays
online long-term.

As I understand it, this is sort of the problem Filecoin is trying to solve,
but that has its own issues (it's hard to see how paying people to host your
stuff on their own machines can ever be cost-competitive with paying AWS to do
it).

~~~
MrEldritch
Basically - _why_ would anyone else have your files pinned somewhere?

~~~
asdkhadsj
It's not just pinning though, is it? This is like saying " _why_ would anyone
host your file on BitTorrent", but the reality is that no one has to host your
file on BitTorrent. Downloading naturally seeds[1]. Unless something has
changed with the pitch, this is the same with IPFS. Not only do people seed
while downloading, but it will _(eventually)_ even seed locally first, such as
within the same network.

IPFS promises nothing, nor tries to, in the way of permanent archiving. It's
about reducing congestion and gaining benefits of immutability. It _could_
archive something in the sense that something popular is difficult to remove..
but that's definitely not a guarantee.

[1]: _ignoring aggressive non-sharing downloaders of course_

~~~
MrEldritch
Yeah, and that's entirely true as an explanation for why IPFS is still
valuable - if you have _popular_ content other people have accessed recently
or are currently accessing, it can in theory take a ton of load off of your
server by letting _those_ people share some of the load to new users.
Incredibly powerful for DDoS protection/avoiding the "Hug of Death", and
potentially greatly reducing hosting costs by reducing traffic to your
particular server at precisely those moments that would be most expensive -
when you'd otherwise be serving lots of requests for some newly popular bit of
content.

It's just a mistake to view IPFS as allowing for truly "decentralized"
websites or as a decentralized file storage platform - unless you have the
kind of content that makes other people want to follow the typical torrent
model and actively long-term "seed" it by pinning, you'll _still need to have
your own personal central server_ to host the content on if and when nobody
else is.

Which, yes, IPFS has _explicitly never promised that_ \- but a lot of people
seem to think it does.

~~~
kkarakk
this explanation actually makes sense as to a possible use case for this tech.
thanks!

------
geoah
I couldn't get it to load from the ipfs.io gateway, nor my local ipfs daemon,
but I could through cloudeflare's ipfs gateway.

[https://cloudflare-
ipfs.com/ipns/Qme48wyZ7LaF9gC5693DZyJBteh...](https://cloudflare-
ipfs.com/ipns/Qme48wyZ7LaF9gC5693DZyJBtehgaFhaKycESroemD5fNX/post/putting_this_blog_on_ipfs/)

~~~
leolambda
That's the beauty of content-addressable networks! :)

It's also available at regular-old
[https://leotindall.com/](https://leotindall.com/)

~~~
sobani
Isn't this a _failure_ of IPFS that you can't reliably get to the content even
though you know it's address?

~~~
wink
Yeah, that's what I'd like to know.

Being a total noob I enjoyed the article (thanks OP) then went on to wonder
how this works. So first I thought it was available through all of these
gateways, but then I read something about pinning - do the gateways pin the
content? Or the "hosting nodes" (forgive my lack of knowledge about the
terminology)?

------
frio
There's been a few things cropping up in this space recently. On the topic of
"indicating that this might be an outdated version", I've not managed to
figure out a better solution than either linking to an IPNS index of document
versions (so, for humans, some text that says "this might be out of date;
check [here]), or running an IPFS node in JS on the browser and then querying
for a later revision. I guess I'm looking forward to when browsers integrate
with Dat, IPFS etc. natively (Beaker and Firefox are already heading down this
path), so that I can rely on a little bit of Javascript that queries
`window.IPFS` or some such, instead of having to send something much more
heavyweight to the client.

In the meantime, if anyone has any better ideas for solving that problem
(rel=canonical to an IPNS entry? browser extensions?), I'm all ears :).

~~~
lgierth
The ipfs-companion extension provides `window.IPFS` in Firefox, Chrome, and
others :)

~~~
frio
Yeah, that might be the only way to handle this reasonably in the short-term
-- `if (window.IPFS) { fetch(revisionListFromAnIPNS).then(renderIt) }`... but
my concern is that if the standard changes in the future and IPFS gets
integrated into browsers/becomes `navigator.IPFS`/etc. -- then all those old,
immutable pages are permanently going to check the wrong thing. Still, I guess
that's a graceful degradation, because for people who don't have the extension
today, they'd see the same behaviour.

Perhaps it's best to provide a link to a revision list as the default
behaviour, with the window.IPFS test as a mildly nicer progressive
enhancement. Cheers :).

------
keyle
Cool explanation. I found Cloudflare's explanation really well put.
[https://blog.cloudflare.com/distributed-web-
gateway/](https://blog.cloudflare.com/distributed-web-gateway/)

Since hosting a ipfs node feels like being an onion endpoint, can you restrict
bandwidth?

Also can you control the size of your local cache or how does it work with the
replicated content?

~~~
leolambda
Yes, and yes! There's a cache plus the concept of "pinning".

Hosting a node is not quite like being an onion endpoint, because the
bandwidth load gets shared out very quickly.

Hosting a _gateway_ is a big bandwidth commitment, but I pay for lots of
bandwidth for just that reason.

~~~
keyle
If we compare hash content with http urls, urls are easy to remember, while
hash are hard to remember?

It feels like the dark ages before altavista, and you had to know the url.
Still, a url was more memorable to pass friends by email, than a hash.

Will there be ipfs search engines and wouldn't that just be bittorrent?

Also browsers remember urls... If everything goes through your local gateway,
it's all just /hash, hard to remember / re-discover? Or is the plan also to
move away from browsers?

~~~
MrEldritch
DNS works just fine for IPNS content-hash-addresses too, and heck, you can do
that _right now_. You just use that, the same way you'd use anything else -
just say that dweb.foo.xyz is associated with a particular IPNS address (and
www.foo.xyz can be the regular ol' web address).

------
pervycreeper
Could you explain why you think that Cloudflare's recent effort constitutes an
attack on IPFS? That is, wouldn't the pinning of a large number of files,
hosted on a fast CDN, be a good thing?

~~~
leolambda
Cloudflare's business model is intrinsically threatened by the existence of a
global, distributed, and (basically) commons-supported CDN, because that would
make their point-served, centralized, relatively expensive CDN obsolete.

~~~
kentonv
No, not really. IPFS is a storage platform. Cloudflare is fundamentally a
compute platform (servers in hundreds of cities to which you can deploy
arbitrary code and trust that it is executed faithfully). These two things are
complementary, not competitive, which is why we decided it would be
interesting to integrate with IPFS.

(Disclosure: I work for Cloudflare.)

~~~
zapita
I understand that Cloudflare aspires to be primarily a compute platform. I
think it’s a cool goal, and you have the technical chops to build it. But
isn’t it fair to say today that Cloudflare is primarily a _networking_
platform? We customers use you, overwhelmingly, to make our sites load faster,
and pay less in the process. Not far behind comes anti-ddos protection - also
a networking-centric feature. Everything else is aspirational.

I am aware of where you want to go - and the workers feature you’re working
on, for example, is extremely cool. But realize that there is a huge gap
between where you want to be as a business and a brand, and where you actually
are.

IPFS may not compete with what you want to be - but it does compete with what
you are. That’s because IPFS is not a storage platform, it’s a content
distribution platform. And Cloudflare is in the content distribution business.

------
heinrichhartman
Loading this page took a good 62 seconds to complete. That's 62seconds for a
78.7kb payload. ([https://ibb.co/gqoUWe](https://ibb.co/gqoUWe)). At least at
the present point, this is not a viable option for serving web-pages.

What I do like about IPFS is that you get links to CONTENT as opposed to
LOCATIONS. This is completely independent of the hosting aspects. It would be
interesting to offer content links to blog posts. I provide at least a link to
the GitHub version history at the bottom of my blog posts (e.g.
[http://heinrichhartmann.com/blog/Latency-
SLOs.html](http://heinrichhartmann.com/blog/Latency-SLOs.html)). Not ideal but
at least it gives you some idea what people might have seen at earlier point
in time.

In general, I see (at least) two different use cases for links:

(1) Pointers: "If you want to learn more about this, check out this website"

(2) Citations: "This website claims that there were 20 people at this event."

For Pointers you want to have the latest version of the content served at high
speed. For Citations you want content links, so you can be sure your readers
see what you have seen, and don't care about retrieval performance that much.
So there might be a case for Citation Links being hosted on IPFS. Services
like archive.org / archive.is might consider integrating with IPFS, though I
am not exactly sure how that would look like.

~~~
DailyHN
Loaded in 1-2 seconds for me.

------
neospice
I was wondering about how to get NGINX to play with IPFS. Now I have a better
idea. Thanks for sharing!

------
johntash
Is there any way to get a metric of how much something has been downloaded on
ipfs? I'm guessing you would have to use google analytics or something?

~~~
TUSF
I assume you mean metrics for how much something has been downloaded from a
node you own, right? If so, you can monitor "ipfs log tail" for which blocks
have been downloaded and by whom. You can also monitor how much content a
specific peer has asked from you and such.

------
mantis07
As I understand it, this is sort of the problem Filecoin is trying to solve,
but that has its own issues (it's hard to see how paying people to host your
stuff on their own machines can ever be cost-competitive with paying AWS to do
it). [http://newpipe.xyz](http://newpipe.xyz)

~~~
Nursie
It can't - the moment that it becomes at all profitable to run an IPFS node,
AWS and their competitors could undercut and effectively capture the market.
Their costs are just lower, and will continue to be lower.

------
RcouF1uZ4gsC
I was able to load the blog, but the latency was pretty high. That might be
one of the downsides of ipfs vs something like Medium.

~~~
leolambda
Two things about this. First, the blog is also available at
[https://leotindall.com/](https://leotindall.com/) where it is just a regular
website. I think it's _really_ interesting that the first thing that comes to
mind is Medium and not, you know... a regular website.

Second, public IPFS gateways aren't the intended way to use the network. It's
meant to be built into browser software, so each user acts as a mirror of what
they're currently reading. Latency is high because the gateway is run by a
nonprofit and they don't pay for ultrafast hardware for the public gateway.

~~~
dookahku
Love what you've done with IPFS and this blog!

There are a couple of advantages to places like Medium, Facebook, or Quora
over a normal website.

The first is branding -- you get what you expect from a site. FB for personal
connections (memes or distraction for others), curated content for Medium &
Quora, etc. I remember using the web back in the 90s or so. I had committed to
memory a dozen sites or so that I would visit every day. Slashdot, Yahoo News,
ScaryGoRound etc. It was a bit stressful. Now I can just go to Reddit and just
get distracted by whatever. Even curating your own Reddit experience is
difficult, like it was for RSS. Most viewers of Reddit don't really create an
account.

The second is ease of use for publishers. I'm not going to set up a website,
even a Wordpress blog now if I can just go post content on Reddit or Medium
where I have a chance of people reading it.

There are other things like consistent UX, etc.

~~~
heinrich5991
For Medium, I get what I expect: Some annoying "we've seen you here before"
banner covering up the whole page. That usually doesn't happen for personal
web pages.

------
woodandsteel
People point out that getting your data stored on ipfs is not guaranteed
unless you pay for it. But there is a huge amount of unused storage space out
there on people hd's. That means that once the market gets going, storage is
going to be really cheap.

------
xte
May I ask why IPFS instead of ZeroNet that's explicitly build to be a P2P
distributed website platform and it's far more simple, lighter and clear than
IPFS?

------
stcredzero
_It’s a great technology, and of course that means that Cloudflare wants to
run a monkey-in-the-middle attack on it._

If you're publishing a service or a piece of software, and absolutely everyone
is happy with it, you're doing something wrong.

------
NelsonMinar
Qme48wyZ7LaF9gC5693DZyJBtehgaFhaKycESroemD5fNX is a catchy thing to put in an
URL.

~~~
leolambda
As I say in my general post on the topic, IPNS is not meant for human use -
DNS can be adapted to point to IPNS names just as easily as to point to IP
addresses.

