diaspora.tex 4.6 KB

12345678910111213141516171819
  1. Inspired by a lecture on surveillance in centralized social networks by Eben Moglen on 5$^{th}$ February 2010, the four mathematics students from New York University Grippi, Salzberg, Sofaer and Zhitomirskiy had the idea for diaspora* \cite{diaspora2010kickstarter-pitch}. Diaspora* is a decentralized social network with the following special features:
  2. \begin{itemize}
  3. \item \textbf{Decentralization}: Everyone can start their server with the diaspora* software and be part of the network. Alternatively, there are public servers accepting registrations from everyone, so there is no need to set up an own instance of diaspora* to participate in the network.
  4. \item \textbf{Privacy}: By running a server, the data remains with the user. Furthermore, it is possible to determine which users can see content.
  5. \item \textbf{Open Source}: The source code is disclosed and hosted on GitHub\footnote{https://github.com/diaspora/diaspora}. The transparency created in this way ensures trust in diaspora*.
  6. \end{itemize}
  7. For funding the development of diaspora*, \$ 10\,000 should be crowdfunded on Kickstarter\footnote{https://www.kickstarter.com/projects/mbs348/diaspora-the-personally-controlled-do-it-all-distr/description}. The project was very well received so that after 14 days the target was reached \cite{diaspora2010wemadeit} and in the end, a total of \$ 200\,641 was donated. In November 2010, the first alpha version of diaspora* was released. One year later there was a prominent feature update. In May 2012 it was announced that the diaspora* development should be continued within the Y Combinator start-up program\cite{diaspora2012y-combinator}. Due to the commercial influence, there were fears that diaspora* could lose its independence. In August 2012, the developers announced that diaspora* is henceforth a community project \cite{diaspora2012community-announcement}.
  8. The diaspora* back end is written in Ruby, the front end to the user is a website. A server running diaspora* is called pod. Each pod has its own domain, so users of a pod have a username similar to an e-mail address (for example, username@podname.org). Diaspora* has the typical functionalities of a social network (hashtags, @ mentions, likes, comments, private messages). What marked a peculiarity at the time of diaspora*'s appearance are so-called aspects. Aspects are groupings of contacts that can be specified as a target audience when posting content. Only the contacts associated with the aspect can see the post.
  9. For staying in contact with friends on other platforms like social networks (Facebook, Twitter) or blogs (Tumblr, Wordpress), the initial idea was to connect these platforms. Data exchange should work both ways. Posts published on diaspora* should also appear on other platforms at the same time. Also, posts from the other networks should be viewed in diaspora*. Diaspora* should play the role of a social media hub. Unfortunately, the \acp{API} of some platforms have become increasingly limited as instances of misuse of the interfaces have become public.
  10. The data of the users are stored unencrypted on a pod so that someone having access to the database can see them \cite{diasporaXXXXfaq-users}. In order to protect his own data in the best possible way, the operation of a separate diaspora* instance is necessary. The communication between the pods is encrypted with \ac{SSL} protocol \cite{diasporaXXXXfaq-users}. Furthermore, the exchanged messages are first signed (Salmon Magic Signatures), then symmetrically encrypted with \ac{AES}-256-\ac{CBC} \cite{diasporaXXXXmagic-signatures}. The \ac{AES} key is encrypted with the public key of the recipient and sent together with the encrypted message.
  11. Diaspora* does not use the ActivityPub protocol (see Chapter \ref{sec:activitypub}), but its own diaspora* federation protocol\cite{diasporaXXXXprotocol}. Other platforms such as Friendica\footnote{https://friendi.ca/}, Hubzilla\footnote{https://zotlabs.org/page/hubzilla/hubzilla-project} or Socialhome\footnote{https://socialhome.network/} can also communicate via the diaspora* federation protocol. There is no official \ac{API}, which makes app development difficult. Diaspora* points out that the website is also usable on mobile devices, so there is no need for a native application \cite{diasporaXXXXfaq-users}.
  12. According to the statistics of the-federation.info on 24$ ^{th} $ February 2019, 679\,723 users were registered on a total of 251 pods. Over the last 12 months, 19\,591 new users have joined the network. In January 2019, only 30\,042 (4.4\,\%) users were active. However, the numbers are incomplete, as some pods do not share information and there may be more than the 251 listed pods. \cite{diasporaXXXXstats}