Encoding for Robust Immutable Storage (ERIS)

Tool by Endo Renberg (2022)

ERIS is an encoding of arbitrary content into a set of uniformly sized, encrypted and content-addressed blocks as well as a short identifier that can be encoded as an URN. The content can be reassembled from the blocks only with this identifier. The encoding is defined independent of any storage and transport layer or any specific application.

Additional Resources

Formal specification

Metadata

Which application domains has ERIS been used for in practice?

ERIS was originally spun out of the openEngiadia project. That project uses ERIS to identify and store RDF data. RDF uses URLs as identifiers in ontologies. Wikipedia gives the example of http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#Merlot. An ERIS equivalent could be urn:eris:B4A2GLM47S2Z7YQXFCPOU2FKFW5KPASQ3WQVCJJ5MEZRVVVQLNT5YDZJGVA2CMZJIXUJ75NNI5CSM75EVFXWOUKXXZ3CAD2SBM4PW2NGEE#Merlot which is consistent without relying on the W3 staying alive enough to fend off domain squatters.

ERIS has been used in experiments in other places where there isn’t filesystem namespace for referring to data. The Sigil OS project used ERIS identifiers for shared libraries in binaries instead file-system paths.

For immutable file-systems there is the ERIS-FS standard. I store my music collection in ERIS-FS and access it with FUSE on my laptop. Static websites are also basically immutable file-systems. eris-go supports serving ERIS-FS over FUSE or HTTP.

Spritely Globins might use ERIS for identifying and transferring files within a social network but I’m not sure what that status of that is.

I think I’m forgetting some other applications and there may be who are using ERIS but without announcing it. There are no global ERIS DHTs or or servers so there is no way doing telemetry and analytics.

There are a plenty of cases where it is not useful but given it’s simplicity I think it’s faster and easier to try and fail with ERIS than it would be with the fancier crypto-financialized stuff. ERIS is the humble content-addressed storage system.

4 Likes

Thanks, those references give a good idea of how one might use ERIS. And having played with IPFS in the past, I very much agree about the value of simplicity and humbleness.

My own interest in this space is content addressing for stable references to archived data, including code. That takes more than ERIS, of course, because it requires an actual archive, but ERIS could be a good component in such a system exactly because it is simple.

1 Like