diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-01-02 20:52:14 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-01-02 20:52:14 +0100 |
commit | 48120cbcbfbad849a50eebe365004ec3eaf3bb83 (patch) | |
tree | 9d1359e13261b8c92d256c4c3d3365c90806e8de | |
parent | 5eec45539b87f77e26addcad8d9f1b05883e3ee4 (diff) |
Make pointer to metadata object optional
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | doc/paper/main.tex | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/doc/paper/main.tex b/doc/paper/main.tex index bc89d56..9f3cdad 100644 --- a/doc/paper/main.tex +++ b/doc/paper/main.tex @@ -121,11 +121,26 @@ Thus, it should only hold the following elements: \begin{itemize} \item A version number, which describes the version of the format used \item A list of pointers to parent blocks - \item A pointer to a metadata Block + \item An (optional) pointer to a metadata Block \end{itemize} A block may hold more than one pointer to a parent block to make merges possible on the block-level. + +A block that references more than one parent should not contain any pointer to a +metadata object. +If a "merge block" would point to metadata, complexity would be increased +unecessarily\footnotemark[1]. + +\footnotetext[1]{ + A possible optimization would be that merge-blocks are defined in a way that + two nodes can always generate the byte-exact same merge block. + This would result in the possibility of two devices that do not know + eachother to merge two branches of a chain with the exact same merge block + object. + Encoding metadata like a timestamp in the "Block" type would prevent that. +} + \ref{pic:blockchain} describes a minimal chain of blocks. Each block, save $A$, points to its predecessor. $D$ points both to $B$ and $C$, because it merges these blocks, that were both |