diff options
-rw-r--r-- | doc/paper/main.tex | 30 |
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 |