Browse Source

Feedback Isabel

Carsten Porth 5 years ago
parent
commit
52aebe9ae3

+ 1 - 0
thesis/abbreviations.tex

@@ -31,6 +31,7 @@
 	\acro{P2P}{Peer-to-Peer}
 	\acro{PWA}{Progressive Web App}
 	\acro{SDK}{Software Development Kit}
+	\acro{SSL}{Secure Sockets Layer}
 	\acro{STUN}{Session Traversal Utilities for NAT}
 	\acro{TCP}{Transmission Control Protocol}
 	\acro{TURN}{Traversal Using Relays around NAT}

+ 12 - 0
thesis/bib/bibliography.bib

@@ -575,4 +575,16 @@
   note         = {Online, accessed 22.03.2019},
 }
 
+@Misc{benetXXXXlinkedin,
+  title        = {{Juan Benet | LinkedIn}},
+  howpublished = {\url{https://www.linkedin.com/in/jbenetcs}},
+  note         = {Online, accessed 22.03.2019},
+}
+
+@Misc{diasporaXXXXstats,
+  title        = {{The Federation - a statistics hub | Diaspora* stats}},
+  howpublished = {\url{https://the-federation.info/diaspora}},
+  note         = {Online, accessed 22.03.2019},
+}
+
 @Comment{jabref-meta: databaseType:bibtex;}

+ 2 - 2
thesis/content/03-related-work.tex

@@ -29,9 +29,9 @@ Existing connections to other people and already created content can bind users
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{Privacy-protecting Social Networks}
 \label{sec:privacy-protecting-social-networks}
-In the business models of the large, popular \acp{OSN}, user data plays an essential role. The data is evaluated and used to make a profit, for example through personalized advertising. Anonymity and the protection of privacy are not among the overriding objectives. 
+In the business models of the large, popular \acp{OSN}, user data plays an essential role. The data are evaluated and used to make a profit, for example through personalized advertising. Anonymity and the protection of privacy are not among the overriding objectives. 
 
-In the following, two social networks, diaspora* and LifeSocial.KOM, are presented which have placed the protection of data at the center.
+In the following, two social networks, diaspora* and LifeSocial.KOM are presented, which have placed the protection of data at the center.
 
 \subsection{diaspora*}
 \label{sec:diaspora}

+ 5 - 6
thesis/content/03-related-work/activitypub.tex

@@ -4,7 +4,7 @@ The principle behind ActivityPub is similar to that of e-mail. Servers can be un
 
 \subsubsection{Client to Server (Social \ac{API})}
 \label{sec:social-api}
-Users are called actors in ActivityPub and are represented by an associated account on the server. Since there can be several servers, it is important to emphasize that an account is only ever located on one server and user names must always be unique only within a server. Each actor has an inbox and an outbox on the server on which he is registered with his account. These are the two endpoints with which the client application communicates via \ac{HTTP} requests. More is not necessary, because the server ensures that all messages and information for the user end up in his inbox and that the messages in his outbox are forwarded to the desired recipients (see \ref{sec:federation-protocol}). For ensuring that only authorized clients store content in an outbox, the sender must sign the posts.
+Users are called actors in ActivityPub and are represented by an associated account on the server. Since there can be several servers, it is important to emphasize that an account is bound to one server and user names must always be unique only within a server. Each actor has an inbox and an outbox on the server on which he is registered with his account. These are the two endpoints with which the client application communicates via \ac{HTTP} requests. More is not necessary, because the server ensures that all messages and information for the user end up in his inbox and that the messages in his outbox are forwarded to the desired recipients (see \ref{sec:federation-protocol}). For ensuring that only authorized clients store content in an outbox, the sender must sign the posts.
 
 \begin{figure}[h]
 	\includegraphics[width=1.0\textwidth]{activitypub-communication}
@@ -16,7 +16,7 @@ The outbox of an actor holds all his published posts. When accessing the outbox
 
 The corresponding actors can only access their own inbox. On access, the messages are downloaded from the server. New messages get in the inbox per \ac{HTTP} POST request from another server.
 
-Each actor has some so-called collections. To these collections, objects can be added and removed. The collections are used to store information related to an actor. These are the collections each actor has:
+Each actor has some so-called collections. Objects (depends on the collection, e.g., accounts, posts) can be removed or added to the collections. The collections are used to store information related to an actor. These are the collections each actor has:
 
 \begin{itemize}
 	\item \textbf{Followers Collection}: List of actors who have posted the actor a follow-activity and follow him. Can be used as addressee when sharing a post.
@@ -24,11 +24,11 @@ Each actor has some so-called collections. To these collections, objects can be
 	\item \textbf{Liked Collection}: List of all objects the actor has liked
 \end{itemize}
 
-The following interactions are defined between the client and the server, but some of them are optional to implement: Create, Update, Delete, Follow, Add (add an object to a collection), Remove (remove an object from a collection), Like, Block, Undo. To address the activities, \textit{to}, \textit{bto}, \textit{cc}, \textit{bcc} provide the same possibilities as are known from e-mail. The server then has to ensure that the activity also reaches the addressed actors.
+The following interactions are defined between the client and the server, but some of them are optional to implement: Create, Update, Delete, Follow, Add (add an object to a collection), Remove (remove an object from a collection), Like, Block, Undo. To address the activities, \textit{to}, \textit{bto}, \textit{cc}, \textit{bcc} provide the same possibilities as they are known from e-mail. The server then has to ensure that the activity also reaches the addressed actors.
 
 \subsubsection{Server to Server (Federation Protocol)}
 \label{sec:federation-protocol}
-This protocol defines the exchange of activities between actors of different servers. The network between the servers with all actors is called a social graph. The interactions defined in the Social \ac{API} must be implemented by the server so that they reach the addressed actors. The starting point is always the outbox of an actor. If a new activity is created using an \ac{HTTP} POST request and, for example, the follower collection of the actor is selected as the addressee, the server must ensure that every actor in the follower collection receives the activity in its inbox. The recipients and their addresses can be found by following the links in the activities. It is also up to the server to ensure that there is no duplication of content.
+This protocol defines the exchange of activities between actors of different servers. The network between the servers with all actors is called a social graph. The interactions defined in the Social \ac{API} must be implemented by the server so that they reach the addressed actors. The starting point is always the outbox of an actor. A new activity is created using an \ac{HTTP} POST request to the outbox. If, for example, the follower collection of the actor is selected as the addressee, the server has to ensure that every actor in the follower collection receives the activity in its inbox. The recipients and their addresses can be found by following the links in the activities. It is also up to the server to ensure that there is no duplication of content.
 
 \subsubsection{Application Examples}
 \label{sec:mastodon}
@@ -36,5 +36,4 @@ The most popular application example is the social network Mastodon\footnote{htt
 
 Networking with other users is not limited to mastodon instances. Each service that has implemented the ActivityPub Protocol allows its actors to network with actors of entirely different applications because the communication is standardized. So it is possible without problems to follow an actor of the video platform PeerTube\footnote{https://joinpeertube.org/en/} as Mastodon actor and be notified when he uploads a new video there.
 
-In addition to cross-platform networking, one big advantage is that it has no significant impact no matter what happens to Mastodon. The network can still exist and thanks to the open protocols and open source software it can be developed and used without restrictions. If Facebook were to go offline, all contacts would be lost, and the platform would never be accessible again.
-
+In addition to cross-platform networking, another advantage is caused by decentralization and independence. No matter what happens to Mastodon, the network can still exist and, thanks to the open protocols and open source software, it can be developed and used without restrictions. If Facebook would go offline, all contacts would be lost, and the platform would never be accessible again.

+ 1 - 1
thesis/content/03-related-work/akasha.tex

@@ -26,4 +26,4 @@ With the announcement of the web version, the team behind AKASHA also introduced
 
 After a long period of silence, the entire project was converted in January 2019, almost three years after the start. The domain changed from akasha.world to akasha.org, and the focus shifted from a social network to an umbrella organization that unites several projects. In the AKASHA blog, Alisie writes about metamorphosis and compares the change from a caterpillar to a butterfly \cite{akasha2019metamorphosis}. The alpha and beta phases are said to have corresponded to the caterpillar phase, the second half of 2018 to the chrysalis stage, and now the butterfly is supposed to unfold with all its beauty. However, it is left open how the new orientation will look like and how the social network will continue. On the website, there is a software section as well as a hardware section. But, there is no content available yet.
 
-The public launch of the social network in version 1.0 was planned for the fourth quarter of 2018. With this launch, the change from the Rinkeby test network to the Ethereum main network should also be completed \cite{akasha2017horizons}. It is currently not known when the public launch will take place.
+The public launch of the social network in version 1.0 was planned for the fourth quarter of 2018. With this launch, the change from the Rinkeby test network to the Ethereum main network should also be completed \cite{akasha2017horizons}. It is currently unknown when the public launch will take place.

+ 5 - 5
thesis/content/03-related-work/diaspora.tex

@@ -1,4 +1,4 @@
-Inspired by a lecture on surveillance in centralized social networks by Eben Moglen on February 5, 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. To its special features count:
+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:
 
 \begin{itemize}
 	\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.
@@ -6,14 +6,14 @@ Inspired by a lecture on surveillance in centralized social networks by Eben Mog
 	\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*.
 \end{itemize}
 
-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 diaspora* should be further developed 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}.
+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 diaspora* should be further developed 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}.
 
 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.
 
 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.
 
-The data of the users are 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 SSL\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.
+The data of the users are 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.
 
-Diaspora* does not use the ActivityPub protocol, 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}.
+Diaspora* does not use the ActivityPub protocol, 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}.
 
-According to the statistics of the-federation.info\footnote{https://the-federation.info/diaspora} on February 24, 2019, 679723 users were registered on a total of 251 pods. Over the last 12 months, 19591 new users have joined the network. In January 2019, only 4.4\% of all users were active with 30042 users. However, the numbers are incomplete, as some pods do not share information and there may be more than the 251 listed pods.
+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}

+ 9 - 10
thesis/content/03-related-work/peepeth.tex

@@ -1,12 +1,12 @@
-Peepeth\footnote{https://peepeth.com/welcome} is a microblogging platform that is very similar to Twitter in functionality and design. There are also other parallels to Twitter: Instead of a blue bird in the logo, Peepeth uses a penguin and instead of \textit{tweeting} users \textit{peep}. The maximum post length is limited to 280 characters. This has no technical cause but was taken over by Twitter. The main difference to Twitter is the decentralization. Behind Peepeth's development is Bevan Barton, who launched the platform in March 2018.
+Bevan Barton created Peepeth and launched the platform in March 2018. Peepeth\footnote{https://peepeth.com/welcome} is a microblogging platform that is very similar to Twitter in functionality and design. There are also other parallels to Twitter: Instead of a blue bird in the logo, Peepeth uses a penguin and instead of \textit{tweeting} users \textit{peep}. The maximum post length is limited to 280 characters, which has no technical cause but was taken over from Twitter. The main difference to Twitter is the decentralization.
 
-From Peepeth's point of view, social media is broken. The fault lies with the operators of social networks, who control the online identities of users, sell their data and violate their privacy. The news feeds are manipulated to drive the user to a higher level of interaction at any price. Besides, the platforms are teeming with trolls, bullying and flame wars. Barton wants to counter these grievances. Therefore there is no advertising on Peepeth. 
+From Peepeth's point of view, social media is broken. The major problem is, that \ac{OSN} service providers control the online identities of users, sell their data, and violate their privacy. The news feeds are manipulated to drive the user to a higher level of interaction at any price. Besides, the platforms are teeming with trolls, bullying and flame wars. Barton wants to counter these grievances. Therefore there is no advertising on Peepeth. 
 
-The website Peepeth.com is the front end of a \ac{dApp}, which uses the Eteherum blockchain and \ac{IPFS}. This front end can theoretically be exchanged arbitrarily and Peepeth's data can be read and written because the blockchain protocol is open. No Ethereum test network is used, but the main network.
+The website Peepeth.com is the front end of a \ac{dApp}, which uses the Eteherum blockchain and \ac{IPFS}. This front end can theoretically be exchanged arbitrarily, and Peepeth's data can be read and written because of the open blockchain protocol. No Ethereum test network is used, but the main network.
 
-The execution of transactions on the Ethereum blockchain is associated with costs. Peepeth bears the costs for its users. The necessary capital was collected via a crowdfunding campaign. However, when accounts distribute spam, Peepeth no longer bears the cost of writing to the blockchain. The resulting costs should make spamming unattractive and reduce it to a minimum because technically it is still possible. Peepeth requires a \ac{dApp} browser (e.g., Opera) or a browser that has been extended by a wallet (e.g., using MetaMask extension) for use. Although Peepeth covers the costs, the user has to sign the transactions, which is why the browser has to contain the corresponding extension. \cite{peepeth2018free,peepeth2018free2,peepeth2018free3}
+The execution of transactions on the Ethereum blockchain is associated with costs. Peepeth pays the fee for its users. The necessary capital was collected via a crowdfunding campaign. However, when accounts distribute spam, Peepeth no longer carries the price for writing to the blockchain. The resulting charge should make spamming unattractive and reduce it to a minimum. Although Peepeth covers the costs, the user has to sign the transactions. Therefore, Peepeth requires a \ac{dApp} browser (e.g., Opera) or a browser that has been extended by a wallet (e.g., using MetaMask browser extension). \cite{peepeth2018free,peepeth2018free2,peepeth2018free3}
 
-In order to keep transaction fees low, the actions executed on Peepeth are collected on the server hosting the front end and written to the blockchain in batches every hour. Several actions are bundled in one file and transaction. The actual contents end up as a \ac{JSON} file in \ac{IPFS} and only the reference hash in the blockchain. \cite{peepeth2018free2}
+In order to keep transaction fees low, the actions executed on Peepeth are collected on the server hosting the front end and written to the blockchain in batches every hour. Several actions are bundled in one file and transaction. The actual contents are written as \ac{JSON} file to \ac{IPFS} and only the reference hash is stored on the blockchain. \cite{peepeth2018free2}
 
 While the smart contracts are open source, the front end is closed source. So it is impossible to understand what is happening on the server hosting the front end Peepeth.com. Image files are not only stored in \ac{IPFS} but also mirrored at \ac{AWS} to provide a better user experience. The client does not communicate directly with \ac{IPFS}, but the server behind the front end communicates with the two back end technologies \ac{IPFS} and Ethereum blockchain, as shown in Figure \ref{fig:peepeth-architecture}.
 
@@ -17,11 +17,10 @@ While the smart contracts are open source, the front end is closed source. So it
 	\label{fig:peepeth-architecture}
 \end{figure}
 
-The data written to the Ethereum blockchain cannot be deleted or modified. For Barton, this is a primary advantage since everyone is forced to be aware of his actions and the self-confidence for his actions is sharpened \cite{peepethXXXXabout}. Furthermore, this fact of immutability is the main argument for freedom of expression and against censorship. However, not all messages are presented in the Peepeth front end. If they violate Peepeth's terms of use, a filter will sort them out. Peepeth calls this procedure \enquote{moderation} and argues that this is by no means to be understood as censorship, but much more \enquote{on cultivating mindful engagement and positive contribution} \cite{peepethXXXXmoderation}.
+The data written to the Ethereum blockchain cannot be deleted or modified. For Barton, this immutability is an advantage since everyone is forced to be aware of his actions and the self-confidence for his actions is sharpened \cite{peepethXXXXabout}. Furthermore, this fact of immutability is the main argument for freedom of expression and against censorship. However, not all messages are presented in the Peepeth front end. If they violate Peepeth's terms of use, a filter will sort them out. Peepeth calls this procedure \enquote{moderation} and argues that this is by no means to be understood as censorship, but much more \enquote{on cultivating mindful engagement and positive contribution} \cite{peepethXXXXmoderation}.
 
-In addition to writing short messages, it is possible to like posts. However, posts cannot be liked infinitely. There is only one like per day available, a so-called \textit{Ensō}. The resulting rarity should express the particular appreciation of a contribution. \enquote{Ensō (Japanese for \enquote{circle}) is a circle that is hand-drawn in one uninhibited brushstroke. It represents creativity, freedom of expression, and unity} \cite{peepethXXXXabout}.
-Furthermore, good content from other users can be rewarded with a tip. 10\% of the tip goes to Peepeth and serve to finance. Also for the verification of an account and special badges go 10\% of the fees to Peepeth. \cite{peepethXXXXabout}
+In addition to writing short messages, it is possible to like posts. However, there is only one like per day available, a so-called \textit{Ensō}. \enquote{Ensō (Japanese for \enquote{circle}) is a circle that is hand-drawn in one uninhibited brushstroke. It represents creativity, freedom of expression, and unity} \cite{peepethXXXXabout}. The resulting rarity should express the particular appreciation of a contribution. Furthermore, good content from other users can be rewarded with a tip. 10\,\% of the tip are taken to finance Peepeth. \cite{peepethXXXXabout}
 
-On 29th January 2019, Peepeth had 4055 users who posted a total of 66262 Peeps \cite{peepehtXXXXstats}. For an account, future users have to apply first and receive a sign-up link by email to join the platform after some time. On invitation of an active user, new users can join directly without waiting time. Users can verify themselves with their existing Github and Twitter accounts. In the future, it will be possible to use further platforms for the verification of an account. In order to verify an account, the user must post a \enquote{special message}, which also contains his Ethereum address. The link to this post must then be handed over to a smart contract, which confirms the ownership of the account.
+On 29$ ^{th} $ January 2019, Peepeth had 4\,055 users who posted a total of 66\,262 Peeps \cite{peepehtXXXXstats}. To get access, potential users have to apply first and receive a sign-up link by email to join the platform after some time. Upon the invitation of an active user, new users can join directly without waiting time. Users can verify themselves with their existing Github and Twitter accounts. In the future, it will be possible to use further platforms for the verification of an account. To verify an account, the user must post a \enquote{special message}, which also contains his Ethereum address. The link to this post must then be handed over to a smart contract, which confirms the ownership of the account.
 
-Peepeth communicated the next milestones to increase the user experience as part of the crowdfunding campaign. The first milestone has already been reached. The fact that the possession of a cryptocurrency requirement for the use and procurement of such a currency is difficult was to be eliminated. Peepeth bears the costs for its users. The next steps are the use without special software requirements (renouncement of particular browsers or MetaMask) and the development of an iOS app. However, only 177 bakers donated 140.56 \ac{ETH} from the required 1000 \ac{ETH}. It is unclear to what extent the desired goals will now be achieved. \cite{peepethXXXXcrowdfunding}
+The next milestone of Peepeth is to increase the user experience as it was communicated in the crowdfunding campaign. The first milestone has already been reached, which was the coverage of the users' fees for writing to the blockchain. Therefore, the complexity was massively decreased since no user has to buy \ac{ETH} first. The next steps are the use without special software requirements (renouncement of particular browsers or MetaMask) and the development of an iOS app. However, only 177 bakers donated 140.56 \ac{ETH} from the required 1\,000 \ac{ETH}. It is unclear to what extent the desired goals will now be achieved. \cite{peepethXXXXcrowdfunding}

+ 2 - 2
thesis/content/05-proof-of-concept/technology-decisions.tex

@@ -48,14 +48,14 @@ In the following, various \ac{P2P} networks are considered and examined for thei
 
 \subsubsection{Blockchain}
 \label{sec:blockchain}
-In a blockchain, the private data of the users could be stored encrypted and shared with other users. The corresponding smart contracts would have to be designed for this purpose. Regardless of the blockchain, executing the smart contracts to store the data, however, consumes a token. The user has to get the tokens beforehand and deposit them in his wallet. To avoid this, a test network (e.g., Rinkeby at Ethereum) could be used. A test network would have the advantage that tokens could be made available to the user free of charge and that the execution of the smart contracts would thus also be free of charge. However, test networks are used to test new software updates and usually do not offer the same security as the main network. They should only be used to test applications before releasing them to the main net. In order to protect against abuse, token requests are usually limited and take a while until they arrive in the user's wallet. Besides, it is often required to post specific content in a social network or to perform another task.
+In a blockchain, the private data of the users could be stored encrypted and shared with other users. The corresponding smart contracts would have to be designed for this purpose. Regardless of the blockchain, executing the smart contracts to store the data, however, consumes a token. The user has to get the tokens beforehand and deposit them in his wallet. To avoid this, a test network (e.g., Rinkeby at Ethereum) could be used. A test network would have the advantage that tokens could be made available to the user free of charge and that the execution of the smart contracts would thus also be free. However, test networks are used to test new software updates and usually do not offer the same security as the main network. They should only be used to test applications before releasing them to the main net. In order to protect against abuse, token requests are usually limited and take a while until they arrive in the user's wallet. Besides, it is often required to post specific content in a social network or to perform another task.
 
 A solution based on a blockchain increases complexity for the user. Since the hybrid solution was required to keep the complexity and additional effort as low as possible, such a solution using a blockchain was categorically excluded.
 
 
 \subsubsection{\ac{IPFS}}
 \label{sec:ipfs}
-\ac{IPFS}\footnote{https://ipfs.io/} is a distributed file system that brings together the ideas of other successful \ac{P2P} systems (DHTs, BitTorrent, Self-Certified Filesystems (SFS) and Git) \cite{benet2014ipfs}. The original idea for IPFS came from Juan Benet in 2014. Protocol Labs, founded by Benet, now manages the open source project.
+\ac{IPFS}\footnote{https://ipfs.io/} is a distributed file system that brings together the ideas of other successful \ac{P2P} systems (DHTs, BitTorrent, Self-Certified Filesystems (SFS) and Git) \cite{benet2014ipfs}. The original idea for IPFS came from Juan Benet in 2014. Protocol Labs\footnote{https://protocol.ai}, founded by Benet, now manages the open source project \cite{benetXXXXlinkedin}.
 
 The goal of \ac{IPFS} is to connect all computing devices to the same file system. The basis for this is a \ac{P2P} network where the data is distributed and stored. Instead of a location-oriented approach as used in \ac{HTTP}, \ac{IPFS} uses a content-oriented protocol. A cryptographic hash function generates a hash (content identifier) for each file, which can be used to find the file on the \ac{P2P} network using a \ac{DHT}. Unnecessary redundancies are avoided in this way, as the content is only stored once and purposefully replicated. However, deleting data is impossible in IPFS. Only if all peers who have stored copies of the file leave, the file can no longer be recovered. Decentralization allows a file to be retrieved from several peers in parallel, thus making the download faster. Besides,