12 ms·
Paper review: IPFS – Content addressed, versioned, P2P file system
- amelius 9y agoI don't understand his argument surrounding scalability. Isn't IPFS naturally scalable?
- zekrioca 9y agoHis point was about scalability within centralized (logical) services, which people often confuse or understand them as a single point of failure or not scalable. But that's not true, as he pointed out there.
- mmjaa 9y agoI want to have IPFS services built up to the point that I can rely upon it so I can .. take the 100 or so of my peer group, and give them access to Content I Create. I think I can have a machine up and running in my life that serves the principle nodes, and if a few of my other peers are also capable, we can build a scalable net among us that would serve the rest. This is a very different scenario to mass-scale datacenter levels of delivery, and at a much more localised scale. Among my peers, it'll scale just fine. (So its mostly about the UI and presentation... I don't mind sending my friends a funky/cool URL. If that URL solves the IPNS->IPFS issue .. and if we also can get some pub/sub channels happening, to make the URL-swapping even more fluid .. wrapped up as a standard distro item .. )
- burkemw3 9y agoI understand part of the scalability concern being about the physical network capabilities ("Today's networking ecosystem evolved for the client-server model, what kind of problems could this create for switching to peer-to-peer model...") as opposed to the scalability of the IPFS protocol and node implementations.
- woah 9y agoBrings up a lot of good points, but his question at the end “Does IPFS mean I may be storing some illegal content originated by other users?” is so off-base, it casts doubt on the whole rest of the post. I only have a passing familiarity with IPFS, but I know that you only store files that you have explicitly chosen to store, or “pinned”. How did the author miss this?
- klint 9y agoIt's pretty easy to miss IMHO. The project could probably benefit from having this spelled out on the homepage.
- aw3c2 9y agoI thought content was shared even if not pinned until it is garbage collected?
- Jtsummers 9y agoIf you've downloaded it, yes. If you run IPFS on your laptop and you haven't viewed some content, you won't be sharing out that content.
- cypherpunks01 9y agoContent that is viewed is stored temporarily, yes, not random unvisited content.
- ahnick 9y agoAs I understand it though, this wouldn't be the case in the future if one becomes a Filecoin storage provider in which case one could be holding some illegal content. IIRC though some sort of blacklisting protocol will be provided in order to respond to DMCA, NSLs, etc, so I think Filecoin storage providers are covered in that regard.
- zekrioca 9y agoIt does not "casts doubt on the whole rest of the post". It is a legitimate question afterall, and the same one faced nowadays with so many files being removed from websites. He questions how could one do it in a decentralized system since copyright issues will show up as well.
- thinkcontext 9y agoI thought software distribution would be a no brainer. There are plenty of projects that still have lists of mirror sites, using IPFS would be much better from a bandwidth and security perspective.
- sneak 9y agoHow many thousands of times per day are copies of software downloaded over transoceanic links when many hundreds of copies of that same data exist already in the user’s own county or even building? These efficiency gains are real; major distributions should adopt this ASAP.
- heavenlyblue 9y agoBut by downloading the distro I am not applying to be a distributor of that distro.
- zdkl 9y agoThen you're welcome to buy a copy I guess? I mean bandwidth isn't free and the assumption is if you download a distro, you like it enough to pass a little something on to your peers or spare a dime to the distributors.
- hoschicz 9y agoDoes IPFS actually take the peer's actual geographic location when picking one? I thought they just search for peers in the local LAN and if they don't find one, they just go for the one that's closest to them according to their PeerId (Kademlia DHT)
- y4mi 9y agoWell, I think it would be neat if package managers would utilize it. From my experience, it's rare that a company creates their own mirror (repo)... Especially if they're workstations.
- jacksmith21006 9y agoWhat is not?
- toomuchtodo 9y agoGlobally distributing the Internet Archive.
- bra-ket 9y agoFilecoin
- ldiracdelta 9y agoAll IPFS needs is less install friction. The local IPFS server packaged as a chrome extension is what is keeping it back: https://github.com/ipfs-shipyard/ipfs-companion/issues/248 https://github.com/ipfs-shipyard/ipfs-companion/issues/248
- hoschicz 9y agoTLDR: What's keeping it back is Web standards. Extensions cannot initiate TCP connections and there is no IPFS network made of (possibly hybrid -- both protocols) nodes that are able to use WebSockets instead of TCP. The js-ipfs daemon can only fully run on Node.js where it has access to real UDP/TCP sockets. (I don't see this as a clear proclamation in their readme, so don't take this for granted)
- diggan 9y ago> The js-ipfs daemon can only fully run on Node.js Not sure what "fully" refers to here, but js-ipfs in the browser can fetch/add content like a normal IPFS node via either websockets or webrtc. Although, TCP connections would make a lot of things, a lot more efficient and nicer.
- diggan 9y agoIPFS is really trivial to install in most OSes and distributions. If you don't want to run it as a daemon via terminal/systemd/whatever, you can either run the browser extension together with ipfs-desktop and it's GUIs all the way down. https://github.com/ipfs-shipyard/ipfs-desktop/ https://github.com/ipfs-shipyard/ipfs-desktop/
- deleted 9y ago[deleted]
- book_mentioned 9y agoInteresting to consider WebTorrent vs. BitTorrent in this context; BitTorrent has grown much closer to mainstream but WebTorrent doesn't seem to be growing.
- Klasiaster 9y agoPaired with an anonymity layer and TOR hidden services for direct communication it is really solving a lot of the problems present todays Web, where DPIs can mess with the unencrypted HTTP contents, DNS responses faked, web servers and CAs hacked and centeralized services decide on content availability.
- HugThem 9y agoThe web already is decentralized. Most HTTP requests are fulfilled by a computer that is part of a CDN, not by the publishers computer. IPFS is like Wikipedia, Uber, AirBnB. There have been encyclopedias, taxis and hotels before. But now it's easier to participate. My computer has this article cached right now. So if my neighbor want to read it, he could get it from me. The infrastructure is just not there yet. IPFS will add it.
- nodja 9y agoI disagree, the internet is very much centralized. In your example, this very post on HN points to an https url. An url that for now, means this article, but years from now might land in a 404 page, or a dns not found. Sure I can use the internet archive or find your post here on HN and ask you for it. But those are alternative services, they're not part of http. IPFS ensures that a url means one thing and one thing only, if changes, the url changes. No censorship, no ninja edits, as long as someone in world is willing to host that specific url, the ipfs protocol will serve it.
- the-dude 9y agoBut will there be a server which serves it?
- skybrian 9y agoImmutable data has its place, but you wouldn't want to use that for Hacker News because reloading the page wouldn't show new comments. Also, when someone edits a comment here, usually that's either harmless or beneficial.
- notheguyouthink 9y agoFwiw, IPNS is mutable - you wouldn't use applications directly over IPFS, you'd view them over IPNS. So it has mutability in the sense that a single address can change content over time. It's nice though, in that if it's important that content stays the same, it always will.
- mmjaa 9y agoIPFS should be enabled and treated as a first-class service by my distro. I install said distro, it comes with a folder - and a basic service - upon which I can replace Dropbox, Facebook, and Instagram - for my target peer group, i.e. any of my friends and family who will also run the very same distro, for this purpose. Like, plug and play OS support, and its a go.
- braderhart 9y agoI agree. I am working on an Arch distro (may roll my own for containers) that includes secure decentralized storage and configuration by default, and a federated marketplace for sharing your own local and server resources.
- deleted 9y ago[deleted]
- diggan 9y agoThat sounds really interesting, do you have a link to a work in progress or something like that?
- braderhart 9y agoHaha... right now I have my desktop that I can show, which isn't perfect but I have an idea of where I want to go and how to get there (mostly). I am still running i3 for compatibility, but definitely moving towards Sway. I've seen some great looking desktops that I still need to mimic, and the make them more fluid/responsive for multiple devices. I would like to review and look at what George Singer is up to: https://github.com/SimulaVR/Simula https://github.com/SimulaVR/Simula Seems like he may be offering VR devices for developers that are able to demonstrate some requirements. How cool is that? I would like to take something like Sway, and add or combine it with a project similar to SimularVR, with a Vulkan backend. That is the end goal. I will likely just start with Sway and build a kick ass plugin and application manager that uses containers. I will re-explore the current application isolation solutions, such as AppImage vs FLatpak vs Snap, but likely try my hand at building my own. Part of that process is repeatable builds. I would like to build the OS compilation into the decentralization process, and make distributed (and localized) compilation a core component of the crypto solution, as it will later be used for rendering all types of resources on top of something like IPFS and Git. Ideally, package maintainers will be solely focused on automated builds directly from source repos, so that everything is compiled and versioned automatically, so that you can switch software versions at anytime, with some compatibility-script support for DB and data changes. Anyway, that is a lot of talk, so I will have to share more when I make more progress. It is a longer term goal, but feel free to help me get started: https://discord.gg/R6NQ7aj https://discord.gg/R6NQ7aj For example, you can see a UI kit here that I would like to utilize initially, although I am still inclined to try to implement my own idea here, which involves combining a
- deleted 9y ago[deleted]
- stefpr 9y agoIndexation of content on IPFS thru Atmos (cryptocurrency). Watch this one.... might really be the "killer app" you are all looking for. link : Novusphere.io
- hoschicz 9y agoI've been following the development of IPFS for the last few years and I'm getting the impression that it's fizzling out. Maybe Protocol Labs are working on Filecoin now (that's what's bringing them money), but they never really finished the pubsub implementation and js-ipfs still can't run in the browser because there is no IPFS network that communicates using WebSockets and not TCP/UDP.
- xwvvvvwx 9y agoIsn't filecoin built on top of IPFS?
- kodablah 9y ago> they never really finished the pubsub implementation and js-ipfs still can't run in the browser because there is no IPFS network that communicates using WebSockets and not TCP/UDP I don't believe the pub/sub is critical functionality (progress at [0], but it's really just chatty). Progress of that additional feature should not be a measuring stick for the project as a whole. For js-ipfs, I see work being done frequently, e.g. the DHT work[1] and weekly syncs[2]. I agree work is slow, but I am not getting the impression it is fizzing out. Having said that, I think there are fundamental problems with the ideas behind it. I want MaidSafe's ideas and IPFS's completion/MVP schedule. IPFS doesn't bring enough anonymity or forced, equitable, encrypted block sharing IMO (I am aware of efforts on both fronts of course). 0 - https://github.com/ipfs/notes/issues/64 https://github.com/ipfs/notes/issues/64 1 - https://github.com/ipfs/js-ipfs/pull/856 https://github.com/ipfs/js-ipfs/pull/856 2 - https://github.com/ipfs/js-ipfs/issues/1179 https://github.com/ipfs/js-ipfs/issues/1179
- jadedhacker 9y agoIt's a wonderful concept to decentralize the internet. However, I am a little skeptical of this concept. Won't IPFS be subject to the same problem as the global blockchain for BitCoin? That is, it can't process the kind of transaction throughput the global economy requires. Wouldn't that technical limitation be present for IPFS?
- diggan 9y agoNo, IPFS is not subject to the same problem as IPFS doesn't use or is a blockchain. There is no transactions. There is data, and data is referred via their content hash. People can request that data via the content hash and then it's downloaded. There is no mining or similar things in IPFS itself.
- jadedhacker 9y agoWhat is the role of FileCoin then?
- marknadal 9y agoIPFS is important because all devices need: - Computation - Storage - Bandwidth Ethereum tackles computation and Filecoin storage. Our system IPFS and Ethereum are well recognized because they actually exist and work. Our system, which also exists, and is ranked #2 "Blockchain" by developers on GitHub ( https://github.com/topics/blockchain https://github.com/topics/blockchain ), will be tackling the bandwidth incentive problem. Juan and I met a while back (we all have been doing P2P stuff since before 2014) and I'm trying to convince him + us + ethereum team to partner together, so app developers have a single solution to build any dApp on top of, using real tech (not vaporware!) that already exists. Financial transactions academically must solve the double-spending problem, which Bitcoin addresses, and you are right, requires a form of Strong Consistency (via the CAP Theorem) that bottlenecks global throughput. However, storage (IPFS) and data sync/bandwidth (us) don't have those requirements, so they can be much more scalable.
- hiccuphippo 9y agoIs there any project like Wikipedia or Linux package repositories making use of IPFS already? Where can I find out who and how to help?
- hex12648430 9y agoThere's a repo dedicated to the coordination of archival efforts. https://github.com/ipfs/archives https://github.com/ipfs/archives IPFS is also used for the experimental gx package manager, which IPFS uses. https://github.com/whyrusleeping/gx https://github.com/whyrusleeping/gx
- dreit1 9y agolunyr is doing this I believe
- diggan 9y agoFirst off, I'm a developer working on IPFS for Protocol Labs. Let me try to answer some inaccuraties and questions from this blogpost, to clear any confusion. > There is even the Beaker browser to help you surf IPFS Beaker does not currently support IPFS, even though it used to in the beginning. We're hopeful Beaker might support IPFS once again in the future, but for now, Beaker just supports Dat. > How common are petabyte or even gigabyte files on the Internet? There is definitely an increase in size trend due to the popularity of the multimedia files. But when will this become a pressing issue? It is not a pressing issue right now because CDNs help a lot for reducing traffic for the Internet. Also bandwidth is relatively easy to add compared to latency improvements Bypassing the fact that centralized vs decentralized are fundamentally different models with different reliability, argueing that CDNs help with reducing traffic is just wrong. CDNs just moves the traffic from "your server -> your client" to "your server -> someones CDN -> your client", it doesn't actually reduce traffic. However, using a decentralized protocol like IPFS would actually reduce traffic, as closests nodes can help serve content and maybe clients would not need to contact your own IPFS node at all, if the data already exists in a closer node (at your ISP or even neighbor) > For scalability, shard it, georeplicate it, and provide CDNs for reading. For fault-tolerance, slap Paxos on it, or use chain replication systems (where Paxos guards the chain configuration), or use the globe-spanning distributed datastores available today. IPFS is actually a globe-spanning distributed datastore, so IPFS would be excellent choice if you're building a CDN. IPFS gives you the benefits you want for a CDN, scalable, content-addressed and used to passing around a lot of data. > Case in point, Dropbox is logically-centralized but is very highly available and fault-tolerant, while serving to millions of users. Facebook is able to serve billions of users. For now. In the future, who knows? The argument for using IPFS is that we don't know if a central server will be around in the future, but to make sure, let's add content-addressing to data so we can serve this data from anywhere. Then it doesn't matter if Dropbox is around in the future, I can just pull down the data from anywhere and verify it's correct locally. > If you want to make the natural disaster tolerance argument to motivate the use of IPFS, good luck trying to use IPFS over landlines when power and ISPs are down, and good luck trying to form a multihop wireless ad hoc network over laptops using IPFS. Our only hope in a big natural disaster is cell towers and satellite communication. Here the author is comparing a physical network with a software stack. Of course IPFS is not a antenna, so it'll be hard to use it as such. But, IPFS works excellent over radio and ad-hoc networks, because it's content-addressed. The current web? Not so well, as we have bunch of assumptions that the endpoints we're using are all serving us "good" content and that you have a server-client model. Ad-hoc networks are bandwidth-constrained, and everything we can do to reduce that bandwidth is worth doing. IPFS helps a lot with that since everything is content-addressed. > Does IPFS mean I may be storing some illegal content originated by other users? No, IPFS only shares what you already accessed (until GC) or when you explicitly "pin" something (basically tell IPFS you want to help share this content with others) > How does IPFS deal with the volatility? Just closing laptops at night may cause unavailability under an unfortunate sequence of events. What is the appropriate number of replicas for a data to avoid this fate? Would we have to over-replicate to be conservative and provide availability? This questions lead me to the belief that the author hasn't really understood IPFS before writing this post. Yes, shutting down your server will make content stored on that server unavailable. IPFS does not automatically distributed data. Just as your local HTTP server does not automatically distribute data to other servers. > But can the Byzantine nodes somehow collude to cause data loss in the system, making the originator think the data is replicated, but then deleting this data? What other things can go wrong? Again, other nodes can't control your data. If you add data to your IPFS node, it's there until you remove it. No other nodes can control your data. Also, data is fetched based on hashes and when the content is downloaded, it's verified again to make sure it's correct. No way of screwing around with that. Happy to answer any more questions people have about IPFS.
- book_mentioned 9y agoWhy does IPFS get all the HN attention? In my ignorance I'm not really aware of the landscape for these types of technologies; does anyone have time to share a brief summary or link to further info?
- woodandsteel 9y agoThe short answer is that a great many techy's are working on decentralization because the present centralized model has a lot of serious problems, like Facebook et al making their money selling ads that may have malware, and also selling your data to who-knows-who. There are many projects to decentralize the web. IPFS gets so much attention because it is such a broad platform that other technologies (like Ethereum) can operate on top of, and because in some important ways it is farther along than anybody else.
- ttul 9y agoI think the author is overly critical of the limitations of a distributed file system. With a decent incentive system (FileCoin for instance) there is no reason that distributed file storage won’t scale really well. I for one have a stack of SSDs waiting for FileCoin to arrive. I am keen to leverage the 10Gbps fiber in my office to start ghetto hosting for some $$.
- woodandsteel 9y ago>IPFS may be a way of sticking it to the man. But the invisible hand of the free market forces also help here; when one big corporation starts playing foul and upsets the users, new companies and startups quickly move in to disrupt the space and fill in the void. No, once someone like Facebook gets a monopoly, it becomes impossible for a startup to get anywhere. It is hard for me to believe the author doesn't know this. He also doesn't address the problem of web companies going out of business, like Geocities, so you lose all your data forever. Likewise the if-you're-not-the-customer-you-are-the-product problem that is behind so many ills today. As far as defeating governmental censorship goes, IPFS is being combined with Tor. In general, he seems to be looking at things from the perspective of someone who works for a company based on the present centralization model, rather than the perspective of those who are suffering under it and could solve a lot of problems with IPFS.
- brownbat 9y agoThose are great questions. Especially provocative point about how mobile devices would most likely be leeches in a p2p world. The world wants easy to use mobiles. A system like this may need to constrain leeches. There will be some tension serving both goals.