summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-01-02 20:52:14 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-01-02 20:52:14 +0100
commit48120cbcbfbad849a50eebe365004ec3eaf3bb83 (patch)
tree9d1359e13261b8c92d256c4c3d3365c90806e8de
parent5eec45539b87f77e26addcad8d9f1b05883e3ee4 (diff)
Make pointer to metadata object optional
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--doc/paper/main.tex17
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