ArchiveCache: A decentralized filesystem using IPFS

ArchiveCache is a simple, extensible, decentralized filesystem. Users can create their own folders, share data and discuss. There is no central servers. ArchiveCache currently uses IPFS, but can be extended to use other similar types of tech.

ArchiveCache filesystem works like this:

  • Each user has a local version of the filesystem.
  • Users can freely edit their filesystem.
  • Data is stored on IPFS.
  • Users share a link to the root of their filesystem ( an IPFS CID ).
  • Users merge other users filesystems into their own ( rules such as ownership with signatures apply here ).
  • The modifying - merging - sharing cycle is what causes information propagates through the network.

ArchiveCache is extensible. Currenly CAD is not supported, but that can be added. It is also possible to add new types of directories, e.g. with multiple owners, archiving, diffs, rate limiting, encryption, allowing handling everything from source control to forums and specialized archives. Even new protocols like bittorrent, ftp, http and freenet can be supported in the future.

Additionally, since we’re just sharing files and directories, any application that uses the filesystem can be used as a multiuser application. For example, if a game stores the world on the form World/TileXXYY/itemNNNN.png, it could be edited or played collaboratively simply by putting the World directory on the ArchiveCache filesystem.

1 Like

I’ve added some use cases, and improved the explanation.

I was hoping for more enthusiasm to be honest. ArchiveCache is an actual filesystem that can be shared among millions of people. It supports simple access rights already, but it can easily be extended to support all kinds of group policies, flood limiting and other useful mechanisms. It can act as a source control system and collaboration tool as well as a publishing platform. You could publish a website directly on ArchiveCache.

For example, if you have a world builder like Minecraft, that stores the world in a directory structure where areas are directories and objects, blocks, are files, then ArchiveCache can seamlessly turn it into a multi user environment.

Another example is a media archive where individual users create their own little archives, and then the collection of all of those archives can be interacted with as if they were a single big archive.

A third example is caching of web content. Individual users can run recurring scripts that grab their favorite sites, or their own site, to make sure that the data does not disappear.
Then there can be a browser plugin that retrieves the data from ArchiveCache if it is gone from the website. With many users doing this you get a more democratic variant on the way back machine. With the help of a browser plugin, ArchiveCache can also turn any URL on the web into a discussion forum. Users could discuss a site freely “on that site”, without the consent of the site owners. Politically minded people would love that.

Fourth example, ArchiveCache can replace the wiki concept, allowing for serverless wikis.

The list goes on. Technically one could directly share python venv and conda environments also resulting in a lightweight alternative to following install instructions or docker images.

I’m hoping people find this interesting. I understand the software looks overly simplified, but I think the approach of creating a framework with a good, complete, set of tools is a better approach this kind of system them making an app.