From 1cda7127897e43d83fb586525eaf9156307abb7b Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Mon, 2 Sep 2019 16:45:41 +0200 Subject: [PATCH] discussion points and summary --- talk-slides.tex | 110 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 91 insertions(+), 19 deletions(-) diff --git a/talk-slides.tex b/talk-slides.tex index ddedbce..b5286bb 100644 --- a/talk-slides.tex +++ b/talk-slides.tex @@ -349,6 +349,7 @@ based on Chord \item relay instance verifies incoming post's signature, then relays post URI (ID) to all subscribers + storage node\note[item]{only post ID relayed, but not full post content. Reasons: LDSignatures not supported everywhere, deniability \& revocation} \item subscribing instances can now retrieve the full authenticated post from received post URI \end{enumerate} + \note[item]{for joining and leaving the DHT see paper} \end{frame} @@ -391,6 +392,7 @@ distribution of posts per hashtag follows a steep power law \item nodes have a \textbf{capacity} and choose set of active IDs according to lowest mismatch of own and neighbour node capacity \item querying load of potential IDs before joining, periodic re-balancing \item independent load balancing of relay and storage nodes due to independent DHTs + \note[item]{a simple simulation on the effectivity of the balancing algorithm can be found in the paper} \end{itemize} % for Kolloquium, add simulation result \end{frame} @@ -413,10 +415,6 @@ distribution of posts per hashtag follows a steep power law \end{frame} - -why even still use classic push federation? - - \section{Discussion} \begin{frame}{Discussion}{I need YOUR feedback} @@ -427,15 +425,85 @@ I want feedback from all of you, no matter whether it's from a \textit{\LARGE te \subsection{Social Considerations} +\begin{frame}{Social Considerations} +Do we even want global hashtags in the Fediverse? + +\begin{itemize} + \item positive potential (conversation, coordination) vs. negative potential (spam, harrasment) + \item visibility level: public posts only, unlisted, new level necessary? + \item relaying post URI only should provide plausible deniability + \item Does this circumvent instance-blocks and is this bad? +\end{itemize} +\end{frame} + + \subsection{Technical Considerations} -CloudFlare +\begin{frame}{Technical Considerations}{instance admins} + +\begin{itemize} + \item intended as opt-in, domain-based push federation still better for user subscriptions + \item assumption: instances offer \(5.5\times\) the storage \& \(2.5\times\) the bandwith of own posts + \item performance: Can this be implemented efficiently enough to not DDoS popular hashtag nodes? + \begin{itemize} + \item batched retrieval of posts from same source + \item exponential backoff retries + \end{itemize} +\end{itemize} +\end{frame} -load and capacity factor +\begin{frame}{Technical Considerations}{integration into the ActivityPub Fediverse} + \begin{itemize} + \item This architecture is an unimplemented concept so far! + \item integration into ActivityPub ecosystem\note[item]{disclaimer: I'm new to ActivityPub and have no implementation experience} + \begin{itemize} + \item hashtags may be represented as relay actors with own in- \& outbox, addressed in cc + \item relaying to subscribers via SharedInbox + \item idea for addressing: new URI scheme that gets transparently resolved to responsible node's domain via DHT\note[item]{application proxy for transparent URI scheme resolving?} + \item signalling of error codes and redundancy factors is needed + \end{itemize} + \item DHT routing communication does not use ActivityPub + \end{itemize} +\end{frame} -performance: batching, exponential back-off, no relayable sigs +\begin{frame}{Technical Considerations}{node ID assignment} + +\note[item]{Let's talk about the elephant in the room of ``federated services''} +\centering +\includegraphics<1>[height=0.59\paperheight]{figures/Elephant_Friend_(Greeting).png} +\includegraphics<2,4>[height=0.59\paperheight]{figures/hist_num_single_vs.png} + +\note[item]{sorry to all instance admins, but: CloudFlare behaves like a MITM/ Sybil attacker} + +\only<2,4>{1st peak: Masto.host, 2nd peak: Cloudflare} + +\only<3>{{\ttfamily +\(h_n =\) hash(IPv6\_addr[0,63] ++ vserver)[0,63] \\ +++ hash(domain ++ vserver)[0,127] \\ +++ hash(IPv6\_addr[0,63] ++ vserver)[64,127] +} +\vspace{2em} + +node ID derivation} + +\end{frame} + +\subsection{Security Considerations} +\begin{frame}{Security Considerations} + \begin{itemize} + \item attacker shall not be able to deliberately gain responsibility for certain hashtags + \begin{itemize} + \item node ID mainly dependant on IPv6 subnet + \end{itemize} + + \item attacker shall not introduce arbitrary number of nodes + \begin{itemize} + \item valid domain required for node ID derivation, assumption: domains cost money + \end{itemize} + \end{itemize} + +\end{frame} -security: node ID derivation scheme \section{Summary} @@ -444,15 +512,18 @@ security: node ID derivation scheme % Keep the summary *very short*. \begin{itemize} \item - things can be \alert{highlighted}. + decentralised architecture for handling posts of the same hashtag: + \begin{itemize} + \item \alert{subscribe to hashtag} and get posts \alert{relay}ed + \item \alert{query stored posts} of a certain hashtag without subscription + \end{itemize} + \item responsibility for hashtag divided among instances using a DHT + \item architecture \alert{balances the load} between nodes and maintains \alert{redundancy} + \item several open questions before implementation \end{itemize} % The following outlook is optional. - \vskip0pt plus.5fill - \begin{itemize} - \item - Outlook - \end{itemize} + %\vskip0pt plus.5fill \end{frame} @@ -471,17 +542,18 @@ security: node ID derivation scheme \end{frame} -\begin{frame}{Complete Paper} -\center - \includegraphics[height=0.45\paperheight]{figures/qr_paper.png}\\ - \url{https://git.orlives.de/schmittlauch/paper_hashtag_federation/src/branch/master/paper_hashtag_federation.pdf} +\begin{frame} + + \center\huge{Questions, comments, feedback?} + + \includegraphics[height=0.4\paperheight]{figures/qr_paper.png}\\ + \large\url{https://git.orlives.de/schmittlauch/paper_hashtag_federation/src/branch/master/paper_hashtag_federation.pdf} \end{frame} \begin{frame} - \center\huge{Thank you for your attention!} %\includegraphics[height=0.5\textheight]{figures/nomnompingu.png}\tiny\footnote{CC-BY-SA 3.0 by Elektroll}