summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-01-01 18:17:54 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-01-01 18:18:12 +0100
commit7f883605a0631d9edcc4d770c2fbe9e0ec43b53e (patch)
tree3dacfed02cd39bcde128dd3e00bc40ba5eb297da
parent58bf766fca052b4eada1ad3b9b8089ea827e8905 (diff)
Add intro about data types
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--doc/paper/main.tex30
1 files changed, 30 insertions, 0 deletions
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