Live data from Hacker News

IPFS, Again

macwright.org

201–210 of 227 posts

Re: IPFS, Again

#201

Earlier quoted context omitted.

It isn't valuable because "we" say so (whoever "we" is). One reason it is valuable is because millions of dollars of energy resource is put into it to ensure that it is decentralized

That's a ridiculous misunderstanding of value. Just because you waste valuable resources to produce something doesn't mean the thing you produce is now valuable. If I feed my dog millions of dollars worth of beluga caviar, it doesn't mean his dogshit is now worth millions. To the degree that bitcoin is valuable today, it's because speculators think somebody else will pay them more for it in the future.

Did you read the last part of my statement "to ensure that it is decentralized"?

True decentralization at this level is why it is valuable

Re: IPFS, Again

#202
post #64

Anyone remember the P2P craze of the early 2000s'? Or was it late 90s? What's left over from that? Freenet? What I'm always wondering about: Someone needs to foot the server/bandwidth bills. Who? If you run a Pi on your home network and serve requests with your 5MB/s upload: That's fine. More power to you. We need more of that. (and in that case, you are paying your ISP) But the transformation envisioned and the band…

Exactly.

P2P systems historically have dealt with the problem altruistically, or with limited tit-for-tat, which both work in many cases, but have so far failed to work for large scale long-term resilient systems.

This is where Bitcoin managed to do something remarkable: achieve high uptimes typical of the best centralized systems, through a very clever, but still open and permissionless, economic incentive structure. Markets have been shown to be extremely useful to create a robust Open Services. More on these ideas here: https://www.youtube.com/watch?v=IfLIoOr4p0A -- we think this kind of thing is going to lead to extensive, global, public utilities run w/ internet-native money.

But it will take a while-- this stuff is extremely difficult to build right now-- it feels similar in nature to very early Web, or pre-unix systems. Lots of hand-rolled primitives, many with the capacity to cause serious failure (not very old cryptography, and complex security questions). Perhaps better programming languages will help us build these systems dramatically faster/easier. For now though, you can see the entire blockchain space wrestling with these problems.

Re: IPFS, Again

#203

Who is going to defend the free internet agains Azure, AWS and Google Cloud? They are the very opposite of a free and open internet where everyone can "run a website" on her own machine. It pains me to see a great idea like the Interplanetary File System still not working. I had similar experiences with IPFS and yes, we do need a project like this, only without the broken incentive structure attached to it. Why a "Fi…

Decentralizing how we link, address, and move content is the basis of IPFS and Filecoin both. Both are solving different parts of moving our digital infrastructure to infrastructure that we control, that we govern, and that we are not held hostage by.

While we still have a long road to go w/ IPFS usability, it’s worth pointing to what works today -- there are millions of end users benefiting from IPFS, 100Ks of libp2p nodes, we see PBs/mo of traffic in the infrastructure that we run, and millions of daily requests to our gateway. Look to fully decentralized applications and systems like OpenBazaar, Textile, Dtube which use IPFS and paving the way. New technology -- especially new technology that seeks to build new platforms from the ground up -- is hard and extensive to build, and to polish. We’re working on it, and though nowhere close to where we want to be yet, there’s a lot of utility already provided.

Re Filecoin incentive structure -- this comes from recognizing that computers are not all the same -- there is huge utility to be had in dedicated infrastructure running 24/7, well maintained, high performance spread out around the world. P2P systems of the past have failed to match the reliability, uptime, and performance levels of centralized systems. Cryptocurrencies enable the creation of Open Services (like Bitcoin) that run public infrastructure w/ high uptime and reliability guarantees. With Filecoin, we aim to bring that to file storage and distribution. More here: https://www.youtube.com/watch?v=6h2WNxEV8q4

Re: IPFS, Again

#204

For years I've been reading HN comments sections for IPFS links for years. In the past IPFS developers would show up to defend it, but for this link at least so far I haven't seen any. Is this an admission that IPFS is unworkable, and they don't have any prospects of making it usable in the next few years?

Hello! o/ We've responded to a number of points here.

You can check out our roadmap

> IPFS is unworkable... making it usable in the next few years

Absolutely not.

The OP brings up a lot of great, useful feedback for us, and we'll respond to it.

But the OP is also simply wrong in saying it's "not usable". There are millions of end users benefiting from IPFS, 100Ks of libp2p nodes, we see PBs/mo of traffic in the infrastructure that we run, and millions of daily requests to our gateway. Look to fully decentralized applications and systems like OpenBazaar, Textile, Dtube, and others.

Beyond that, we're well aware of the many shortcomings, and working on them. We're unfortunately spread thin across a lot of projects (IPFS, libp2p, filecoin, ipfs-cluster, etc), but each is seeing significant growth and improvement.

You can see the long-term IPFS roadmap here https://github.com/ipfs/roadmap

Re: IPFS, Again

#205

Just today I was looking into IPFS vs DAT, does anybody have any insights about the similarities/differences other than the ones listed here [1]? From far away, DAT looks smaller and better documented (perhaps less ambitious, too?) Apparently the best IPFS overview is the 2015 paper [2] which looks pretty daunting and does not seem to cover any practical considerations. 1: https://docs.datproject.org/docs/faq#how-is-…

Some decent answers in this stack overflow thread: https://stackoverflow.com/questions/44859200/what-are-the-di... and a good response from IPFS creator jbenet here: https://github.com/ipfs/faq/issues/119#issuecomment-21827839...

I think it's possible to view Dat and IPFS as two different layers of a stack that can interoperate and each solve useful problems at their layer. For example, Dat has more UX focus and high-level abstractions making generic app development smooth and easy (an area IPFS is weaker - though https://medium.com/textileio has been working to make this much better), while IPFS has the benefit of global name-spacing and content-addressing primitives that enable deduplication across identical datasets and validate the content is what you asked for (used by tools like Qri to do dedup within a data commons: https://qri.io/faq/). I've seen demos of projects using both together, each for their unique strengths - but there's still a ways to go to make interop easy.

If you were looking for nice IPFS overviews, I'd recommend: - https://hackernoon.com/understanding-ipfs-in-depth-1-5-a-beg... - https://medium.com/textileio/whats-really-happening-when-you... - https://docs.ipfs.io/introduction/overview/ (see the concept guides for easier to parse explainers on CIDs, Pinning, etc)

Re: IPFS, Again

#206

This might sound a bit weird, but when I look at the employee base of protocol labs (the makers of IPFS), the most impressive employees are the business people. Multiple Harvard Business School graduates, tons of Stanford degrees. For the technical people, some are impressive, but no where near the stature of the business people. No distinguished ex-FAANG engineers, no principal engineers from notable companies, a fe…

Hi! I'm a contractor who works on go-IPFS and have been for a year. I have no PHDs but I have been programming a couple decades across all kinds of products.

Rather than wade into the self-taught vs pedigree debate, I want to point out that based on my experience working on the project, I think technical challenges are actually not the biggest challenges.

Much of the challenge has to do with process -- managing a huge issue tracker, tracking a giant project that lives in multiple repos with many interlocking components, benchmarking a system that is quite hard to benchmark, developing an effective release process, developing systematized ways to collect community feedback, etc.

IPFS needs solid product focus and team direction. From what I’ve seen, the folks at Protocol get this. That’s why they have started focusing on achievable priorities like hosting package managers. The technical problems are complicated but not insurmountable-- not beyond the scope of what many talented senior programmers can solve. I think IPFS would be improved by strong team leadership and process, not more whiz kids, and I see Protocol taking steps to insure this happens.

Re: IPFS, Again

#207
post #117
post #29

Earlier quoted context omitted.

I consider dat:// to be the better protocol, in part because of what you mentioned. Other advantages are the lack of duplicating data on disk (IPFS makes a copy of all data it shares) as well as having a versioned history of all changes. That way app owners can'tp ublish malicious versions while preventing people from using the non-malicious ones. Essentially, dat:// behaves like BitTorrent but the torrent data can c…

> (there is no FFI/C lib Ic an bind my Rust app to) Language choices in both have set off my "this is doomed to obscurity" alarm bells for precisely that reason. You don't write the reference implementation for a new Internet protocol—especially the core library for it, and especially a very complex one—in a language that can't easily be included in most other languages. So, probably C. Dat in particular seems great…

With regards to IPFS (don't have much experience with Dat), I have a hard time understanding how choosing Go to implement their protocol, as well as Javascript makes it doomed for obscurity. A lot of distributed/decentralized applications and platforms are being written in Go. This is the first time I've heard this argument.

Not to mention you can call into Go funcs over shared libs from C.

Rust is a great language definately, but not using it is a completely sane design choice. C has been a source of a number of security issues due to memory management, that type safe languages solve.

Not to mention, there are various parts of the IPFS/LibP2P stack that are being written in Rust by other teams.

Re: IPFS, Again

#208

Earlier quoted context omitted.

Doing this right is not simple. It requires an entire task management system internally, which (as you know) i've sketched up here: https://github.com/ipfs/go-ipfs/issues/3114 Sure, we could hack this together quickly, but we're trying hard to avoid adding technical debt at this point. Adding every feature requested would put us in a bad spot. Prioritizing this over the countless other things people continually ask f…

I hear you, it's just that the current way the daemon does pinning is unacceptable. For example, I can't tell my customers how much of their file I've pinned, or, in some cases, if I've pinned it at all. Maybe I'm in a small minority of people who are interested in this feature, but how do people pin things without it? Do they just `screen ipfs pin ` and leave that terminal there for ever? Wouldn't it be in the proje…

So, at a high level you want more than just the backgrounding the pin task, you also need to be able to tell what the progress is, periodically. This probably means we need to do something with the api endpoint output (i was initially thinking 'just throw it away and mark completion').

> in some cases, if I've pinned it at all.

What cases would those be? If the file is pinned it should always show up in an `ipfs pin ls $CID`.

In the short term, I assume your service is a server side app that is making requests to the ipfs node, right? You could set some background task in that application that just waits on the `ipfs pin add --progress` call and keeps track of the progress for that pin, that way, when a customer queries it, and its in progress, you can return that information. Agree this should be built into ipfs at this point, but that seems like a reasonable workaround for now.

Re: IPFS, Again

#209

Earlier quoted context omitted.

That's a ridiculous misunderstanding of value. Just because you waste valuable resources to produce something doesn't mean the thing you produce is now valuable. If I feed my dog millions of dollars worth of beluga caviar, it doesn't mean his dogshit is now worth millions. To the degree that bitcoin is valuable today, it's because speculators think somebody else will pay them more for it in the future.

Did you read the last part of my statement "to ensure that it is decentralized"? True decentralization at this level is why it is valuable

The fact that you have to waste ever-escalating amounts of electricity to make bitcoins doesn't ensure that it's decentralized.

If anything, it means that economies of scale will favor larger organizations. In fact, that's what we see, with a few large Chinese mining syndicates controlling a majority of the hashrate: https://www.buybitcoinworldwide.com/mining/china/

Compare bitcoin to a real decentralized system like bittorrent, or hell, email.

Re: IPFS, Again

#210
post #53

IPFS looks good on paper. In practice my experience wasn't very good. ZeroNet, on the other hand, feels like the future for DWeb and that's the direction I'm personally headed. What about you?

What do you use ZeroNet for ? Does it gives you reasonable latency performance ?

I use it for zero-cost, uncensorable hosting. It's fairly trivial to get set-up if you're running Linux. Here're instructions for Manjaro if you fancy Arch-based distros: https://habd.as/post/surfing-uncensorable-web/
Post reply on HN