diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-01-01 18:17:54 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-01-01 18:18:12 +0100 |
commit | 7f883605a0631d9edcc4d770c2fbe9e0ec43b53e (patch) | |
tree | 3dacfed02cd39bcde128dd3e00bc40ba5eb297da | |
parent | 58bf766fca052b4eada1ad3b9b8089ea827e8905 (diff) |
Add intro about data types
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-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 |