**diff options**

author | pukkamustard <pukkamustard@posteo.net> | 2020-10-21 18:00:45 +0200 |
---|---|---|

committer | pukkamustard <pukkamustard@posteo.net> | 2020-10-21 18:00:45 +0200 |

commit | ac1b036f238c91c9a425989b23fe4453d8ade495 (patch) | |

tree | 0d96cee57a1a876e7dc601a0fbdddab428f184da /doc | |

parent | 4a761800c5c594a70fc59d26a4e63f91ef8d9828 (diff) |

eris.adoc: scribble scribble

Diffstat (limited to 'doc')

-rw-r--r-- | doc/eris.adoc | 18 |

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 |