From 48120cbcbfbad849a50eebe365004ec3eaf3bb83 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 2 Jan 2021 20:52:14 +0100 Subject: Make pointer to metadata object optional Signed-off-by: Matthias Beyer --- doc/paper/main.tex | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3