\chapter{Background}
\label{ch:background}

% introduction

\section{Network Architecture}
\label{sec:network-architecture}
Networks are systems that connect several independent computers and enable data exchange between them. The structure of the networks can be represented mathematically as a graph, with the nodes representing computers and the edges representing their connections. Depending on the architecture, two types of networks are distinguished: centralized and decentralized networks (see Figure \ref{fig:network-architectures}). The characteristics of the two different network architectures are described below.

\begin{figure}[h]
	\includegraphics{network-architectures}
	\label{fig:network-architectures}
	\caption{Schematics of different network architectures}
\end{figure}

\subsection{Centralized Networks}
Central networks are characterized by a central node, via which all other nodes are connected to each other. Otherwise there is no further connection between the nodes. This is illustrated in Figure \ref{fig:network-architectures}. For reliability, such a network architecture results in no connection between the other nodes if the central node fails.
To join the network, only a connection to the central node is required, which can normally be established via a known, static address.

With such hierarchical structures, the central node is often referred to as a server and the connected nodes as clients. This client-server structure underlies all large social networks, such as Facebook, Twitter and Google+, and is therefore of great importance for the Internet. The users are connected to each other via the server and can thus exchange data. The direct exchange among each other is not possible, so that the data exchange can be controlled by the server, which is under the control of the provider. Each client is therefore dependent on the server. A client node fulfils different requirements than a server node.

\subsection{Decentralized Networks}
Decentralized networks are characterized by the fact that not only one central node has the complete information and control over the system. The nodes are also connected to each other by edges, not all of them with the same node, as shown in Figure \ref{fig:network-architectures}. With such a structure, each node performs the same tasks, which is why we speak of peers as nodes and refer to such networks as peer-to-peer (P2P). In the event of a node failure, the network can continue to function because the information and functionality is distributed. Restrictions and censorship cannot be easily implemented in this type of network.

Popular examples for decentralized networks are file sharing networks like eMule, Limewire, BitTorrent, etc. and blockchains like Bitcoin or Ethereum.

\section{Peer-to-peer}
\label{sec:p2p}

\subsection{Structured vs. Unstructured Networks}

\subsection{Decentralized Applications}

\section{Web 3.0 - Distributed Apps (dApps)}
\label{sec:dapps}

\subsection{Ethereum}
\label{sec:ethereum}

\subsection{InterPlanetary File System (IPFS)}
\label{sec:ipfs}

\section{Summary}
\label{sec:background-summary}