aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorpukkamustard <pukkamustard@posteo.net>2020-10-21 18:00:45 +0200
committerpukkamustard <pukkamustard@posteo.net>2020-10-21 18:00:45 +0200
commitac1b036f238c91c9a425989b23fe4453d8ade495 (patch)
tree0d96cee57a1a876e7dc601a0fbdddab428f184da /doc
parent4a761800c5c594a70fc59d26a4e63f91ef8d9828 (diff)
eris.adoc: scribble scribble
Diffstat (limited to 'doc')
-rw-r--r--doc/eris.adoc18
1 files changed, 14 insertions, 4 deletions
diff --git a/doc/eris.adoc b/doc/eris.adoc
index 97a3d94..763d8bd 100644
--- a/doc/eris.adoc
+++ b/doc/eris.adoc
@@ -123,21 +123,28 @@ TODO: some notes on convergence secret.
==== Merkle Tree
-Reference-key pairs are collected into nodes of size block size by concatenating the concatenated reference-key pair. The node is encrypted, and a reference-key pair to the node is computed. This results in a sequence of reference-key pairs that refer nodes containing reference-key pairs at a lower level - a tree. This process is recursively applied until there is a single reference-key pair - the /root reference-key pair/. We keep track of the level of recursion.
+Reference-key pairs are collected into nodes of size block size by concatenating the concatenated reference-key pair. The node is encrypted, and a reference-key pair to the node is computed. This results in a sequence of reference-key pairs that refer nodes containing reference-key pairs at a lower level - a tree. This process is recursively applied until there is a single reference-key pair - the _root reference-key pair_. We keep track of the level of recursion.
+
+The root reference-key pair and the level of the root reference-key pair is the necessary information required to decode content. The triple consisting of root reference, key and level is called the _read capability_. The read capability as well as the encrypted blocks (as output by the <<_reference_key_pair>> sub-process) is the output of the entire encoding process.
The initial input (level 0) is the sequence of reference-key pairs to the input content.
-The number of reference-key pairs collected into a node is called the /arity/ of the tree and depends on the block size. For block size 1Kb the arity of the tree is 16, for block size 32Kb the arity is 512.
+The number of reference-key pairs collected into a node is called the _arity_ of the tree and depends on the block size. For block size 1Kb the arity of the tree is 16, for block size 32Kb the arity is 512.
+
+The output is the root reference-key pair and the level of the root reference-key pair.
-For illustration purposes we use arity 2 in example figures (every node contains two reference-key pairs).
+Figure <<figure_merkle_tree>> depicts a tree with four levels. The tree uses arity 2 for clarity (instead of 16 or 512).
+[[figure_merkle_tree]]
.Merkle Tree
image::eris-merkle-tree.svg[Merkle Tree,opts=inline,width=80%]
-==== Read Capability
+The constructed tree of nodes containing reference-key pairs is called a Merkle Tree.
=== Decoding
+=== Binary Encoding of Read Capability
+
=== URN
[quote, William Shakespeare, Comedy of Errors]
@@ -147,6 +154,8 @@ The one so like the other
As could not be distinguish'd but by names.
____
+=== ERIS in Streaming Applications
+
== Applications
=== Storage and Transport Layers
@@ -174,5 +183,6 @@ This work is licensed under a http://creativecommons.org/licenses/by-sa/4.0/[Cre
- [[[Polleres2020]]] Polleres, Kamdar, Fernández, Javier David, Tudorache & Musen. https://epub.wu.ac.at/6371/1/IPM_workingpaper_02_2018.pdf[A more decentralized vision for Linked Data]. 2020
- [[[ECRS]]] Grothoff, Grothoff, Horozov, & Lindgren. https://grothoff.org/christian/ecrs.pdf[An encoding for censorship-resistant sharing]. 2003
- [[[RFC2119]]] S. Bradner. https://tools.ietf.org/html/rfc2119[Key words for use in RFCs to Indicate Requirement Levels]. 1997
+- [[[RFC7049]]] C. Bormann & P. Hoffman. https://tools.ietf.org/html/rfc7049[Concise Binary Object Representation (CBOR)]. 2013
- [[[RFC7693]]] M-J. Saarinen & J-P. Aumasson. https://tools.ietf.org/html/rfc7693[The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC)]. 2015
- [[[RFC8439]]] Nir & Langley. https://tools.ietf.org/html/rfc8439[ChaCha20 and Poly1305 for IETF Protocols]. 2018