IPFS is a nice idea but its execution is still terrible.
At least from my experience using the go-ipfs implementation, of course the javashit one is a terrible execution of the idea. But I'm using go-ipfs.
For instance, you still can't list files you have. You can list all of the blocks you have with no indication of what they are but you can't list files. You have to keep track of ipfs links you create and use or you end up with a bunch of meaningless data occupying your disk. I don't care that the same file can be in multiple folders or simply a nameless loose file, just keep track of where I got what and present it all in a FUSE filesystem or a command that lists all I got. I like that they're avoiding modern insanity (or not forcing you to take part in it) and providing an option of just working with simple unix shit such as pipes and mounts when you deal with files though.
Pinning is also a mess, go-ipfs can't even list what you have pinned. When it's time for clean up, you can't selectively clean up things. Ideally it would be as easy as we do with the "rm" command of an unix system but it's not. You tell ipfs to clean up and it deletes everything, other than that you have the space you reserved.
There's no integration with any network such as i2p or tor so it's all bareback. I'm pretty sure you can get a hacky setup going with a static IP proxy which allows you to forward ports and that's it.
They have some trick where instead of storing files in the datastore it behaves "torrent-style" and the files stay in your regular filesystem with only the metadata pointing to them in the datastore simply because the datastore is a mess, that needs fixing.
As for the actual development, it's really "complete" and all it takes is adding quality of life improvements and making it actually work.
The DHT has scaling issues and can't handle the amount of files and users right now, let alone if it ever becomes popular.
They want to add routing through other peers to fix a million sorts of connectability and routing issues with the internet and also pave the way for a peer in a network such as tor to talk with a peer outside the network.
They still haven't implemented recursing into other networks and protocols as has been claimed is possible in various presentations.
IPFS is horribly inefficient bandwidth-wise and people running the daemon on metered networks complain it can take up all their bandwidth just talking on the DHT while idling, causing huge bills or reaching their cap.
DHTs have the inherent issue of needing bootstrapping and just baking in a bunch of addresses to poke first isn't a real solution although bittorrent has been doing just that for 15 years now
, either way someone has to come up with a way to blindly find the swarm and join it.
They want a real nameserver for IPFS because using DNS for it is just a dirty hack and DNS is not distributed, something humans can read and memorize and resolves to IPNS/IPFS addresses.
Message too long. Click
to view full text.