gnunet-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Encoding for Robust Immutable Storage (ERIS)


From: pukkamustard
Subject: Encoding for Robust Immutable Storage (ERIS)
Date: Fri, 10 Jul 2020 08:59:17 +0200
User-agent: mu4e 1.4.10; emacs 26.3


Hello GNUNet,

I'd like to request feedback, questions and comments on an encoding of content very much inspired by ECRS that I have been working on: Encoding
for Robust Immutable Storage (ERIS)

https://openengiadina.net/papers/eris.html

The motivation is to use the encoding in a social network like settings where short messages and interactions are encoded using ERIS (as RDF
[1]).

There is one major difference to ECRS (and a couple smaller ones) that I
would like to highlight:


** Verification capability

ERIS adds a verification capability. Holders of the verification
capability can enumerate all blocks required to decode the content and verify integrity of the blocks without being able to decode the content.

This enables peers to cache the entire content without being able to
read the content.

The verification capability is enabled by using two keys:

1. A read key to encode the blocks holding content.
2. A verification key (which is deterministically derived from the read
  key) to encode the intermediary nodes of the Merkle tree.

This makes the scheme slightly more complicated than ECRS and also
requires a two-pass encoding (when using convergent encryption).

Nevertheless I believe this is a very important feature that maybe
results in a better privacy/complexity/availability trade-off as alluded
to in a previous thread
(https://lists.gnu.org/archive/html/gnunet-developers/2020-05/msg00015.html).


** Block size

Block size is chosen to be 4kB. This an optimization towards small
content (short messages and social interactions).


** URN

Encoded content can be referred to by a URN making it usable from
existing Web (and RDF) settings. This could be added to ECRS.


** No namespacing / keyword search

There are currently no SBlock or KBlock like features. The idea is that
these features can be built on-top of the base encoding (including
SBlock and KBlock).



We have a little JavaScript demo: https://openengiadina.gitlab.io/js-eris/ . As well as implementation in Guile [2].

I'd be very happy for your insight and feedback.

Thanks!

-pukkamustard


[1] https://openengiadina.net/papers/content-addressable-rdf.html
[2] https://gitlab.com/openengiadina/data-model/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]