From 7f883605a0631d9edcc4d770c2fbe9e0ec43b53e Mon Sep 17 00:00:00 2001
From: Matthias Beyer <mail@beyermatthias.de>
Date: Fri, 1 Jan 2021 18:17:54 +0100
Subject: Add intro about data types

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
---
 doc/paper/main.tex | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

(limited to 'doc/paper/main.tex')

diff --git a/doc/paper/main.tex b/doc/paper/main.tex
index 51a28eb..7789f02 100644
--- a/doc/paper/main.tex
+++ b/doc/paper/main.tex
@@ -43,6 +43,36 @@ mail@beyermatthias.de}
 \section{Data types}
 % Intro about the data types required for building the blockchain
 
+The implementation of an IPFS-based social network would be based on a DAG of
+blocks of data.
+Each DAG would resemble a "profile" in the social network.
+A "profile", though, would not necessarily be bound to a person, but would
+represent a unique identity.
+Embedded ("smart") devices or automated tools (bots) posting to a profile without
+human interaction could be possible and are imaginable.
+
+Because distribution and availability is curcial, two "layers" of blocks should
+be considered:
+
+\begin{itemize}
+    \item A more general "block", implementing nothing more than the chain and
+        some minimal meta data, e.g. a format version and a, and a pointer to
+        the actual "metadata block"
+    \item A "metadata block", holding all the information about the profile,
+        the content and other valuable metadata, such as timestamps, a mimetype
+        of the content linked and, of course, a link to the actual content
+\end{itemize}
+
+The third data type required for implementing a block would be holding the data
+itself.
+Thus, it would be only a stream of bytes - which would be added to IPFS
+directly.
+
+In the following chapters, details of the individual types are layed out.
+For simplicity, JSON is used for examples of objects of the layed out
+types.
+
+
 \subsection{Block}
 % What a "block" is used for and what data it holds
 % - metadata pointer
-- 
cgit v1.2.3

