summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-01-03 12:03:55 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-01-03 12:16:12 +0100
commita0ce537eb9fbc217de913099cf8e4c43adb809d0 (patch)
treed5c4b07d311140235abeb63d69b0102731548603
parent9a4357dd226e716f077ff2e378502ac66d6ed397 (diff)
downloaddistrox-paper.tar.gz
distrox-paper.tar.xz
Make Multi-device support a section, add some contentpaper
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--doc/paper/gen/blockchain_divergence.dot8
-rw-r--r--doc/paper/main.tex48
2 files changed, 55 insertions, 1 deletions
diff --git a/doc/paper/gen/blockchain_divergence.dot b/doc/paper/gen/blockchain_divergence.dot
new file mode 100644
index 0000000..43ede0e
--- /dev/null
+++ b/doc/paper/gen/blockchain_divergence.dot
@@ -0,0 +1,8 @@
+digraph G {
+ rankdir = RL;
+ node [style=filled,color=grey,shape=circle]; A B C;
+ rank = same; B, C;
+
+ B -> A
+ C -> A
+}
diff --git a/doc/paper/main.tex b/doc/paper/main.tex
index 22809a1..6ef7dfe 100644
--- a/doc/paper/main.tex
+++ b/doc/paper/main.tex
@@ -285,9 +285,55 @@ This enables several other possibilities and use-cases:
% Short note about possible data formats
-\subsection{Multi-device support}
+\section{Multi-device support}
% How multi-device support for a profile is implemented using IPNS
+Because a user might want to post from different devices to their profile,
+multi-device-support has to be ensured.
+
+Two strategies come into mind:
+
+\begin{itemize}
+ \item
+ Sharing the private key publishing the profile with between the devices
+
+ \item
+ Making the devices a user posts from agree on the blockchain that
+ represents the profile
+\end{itemize}
+
+The first option, although tempting because of its simplicy,
+results in several issues.
+First of all, losing a private key (either by user error, disk error
+or even a malicious party) would result in immediate lockout of the profile.
+Secondly, organizing of multiple devices posting to the profile in the same time
+while not knowing eachother is difficult.
+
+\begin{wrapfigure}[]{r}{0.15\textwidth}
+ \includegraphics[width=0.14\textwidth]{gen/blockchain_divergence.png}
+ \caption{A divergence on the blockchain}
+ \label{pic:blockchain:divergence}
+\end{wrapfigure}
+
+The second option provides a better ground for developing functionality on.
+Because divergence from the blockchain is easily achieved\footnotemark[2]
+(see \ref{pic:blockchain:divergence}),
+multiple "versions" of the same profile might exist at any point in time.
+A third party might be able to retrieve both versions of the profile, so it must
+be able to decide which one is the correct one.
+If only one private key would post to one profile, that decision would result
+in \emph{either} $B$ or $C$ (in \ref{pic:blockchain:divergence}) be considered
+the current version, although both are valid.
+Hence, if both versions can be considered, a third party might recognize the
+divergence in the blockchain, but know that both versions are valid and act
+accordingly (e.g. by sorting the content via timestamp for the user to inspect).
+
+\footnotetext[2]{
+ Consider two devices, air-gapped, posting to the same profile.
+ A situation like node $B$ and $C$ in \ref{pic:blockchain:divergence} is the result.
+}
+
+
\subsection{Device "Authorization"}
% How devices are authorized to post to a profile