Files
clan-master-thesis/Chapters/Motivation.tex
2024-12-02 23:30:05 +01:00

167 lines
6.3 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\chapter{Motivation} % Main chapter title
\label{Motivation}
This chapter introduces the Clan project, articulates its fundamental
objectives, outlines the key components, and examines the driving
factors motivating its development.
Peer-to-peer (P2P) technologies and decentralization have undergone
significant growth and evolution in recent years. These technologies
form the backbone of various systems, including P2P Edge
Computing—particularly in the context of the Internet of Things
(IoT)—Content Delivery Networks (CDNs), and Blockchain platforms such
as Ethereum. P2P architectures enable more democratic,
censorship-resistant, and fault-tolerant systems by reducing reliance
on single points of failure \cite{shukla_towards_2021}.
However, to fully realize these benefits, a P2P system must deploy
its nodes across a diverse set of entities. Greater diversity in
hosting increases the networks resilience to censorship and systemic failures.
Despite this, recent trends in Ethereum node hosting reveal a
significant reliance on centralized cloud providers. Notably, Amazon,
Hetzner, and OVH collectively host 70\% of all Ethereum nodes, as
illustrated in Figure \ref{fig:ethernodes_hosting}.
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth]{Figures/ethernodes_hosting.png}
\caption{Distribution of Ethereum nodes hosted by various providers
\cite{noauthor_isps_nodate}}
\label{fig:ethernodes_hosting}
\end{figure}
The centralized nature of these providers and their domicile within the
same regulatory jurisdiction—the United States—introduces vulnerability.
Such a configuration allows for possible governmental intervention,
which could lead to network shutdowns or manipulation by leveraging
control over these cloud services.
The reliance on cloud-based solutions is largely attributed to their
ease of use and reliability, as self-hosting introduces several
technical and operational challenges, which include:
\begin{itemize}
\item \textbf{NAT Traversal:} Establishing direct connections
between peers located behind Network Address Translation (NAT)
devices is complex and often requires workarounds such as port
forwarding or relay servers.
\item \textbf{Dynamic IP Addresses:} Peers often have non-static
(dynamic) IP addresses assigned by Internet Service Providers
(ISPs), which makes maintaining stable connections difficult
without additional solutions like Dynamic DNS services.
\item \textbf{Data Reliability:} Ensuring data durability and
preventing loss due to hardware failures, system crashes, or
insufficient backup mechanisms can be a challenge for individual
users managing their own infrastructure.
\item \textbf{Security Concerns:} Self-hosted systems must be
protected from malicious actors, including securing data in
transit, authenticating connections, and mitigating attacks such
as Distributed Denial of Service (DDoS).
\item \textbf{Maintenance Overhead:} Regular updates, hardware
repairs, and troubleshooting require time and effort, which may
discourage users unfamiliar with system administration.
\item \textbf{Steep Learning Curve:} Non-technical users face a
high entry barrier, as hosting and configuring their own P2P
nodes often involve understanding complex networking and software
setup processes.
\item \textbf{High Network Churn:} In dynamic P2P environments
where peers frequently join and leave, ensuring consistent
availability of services and maintaining network stability
present additional challenges.
\item \textbf{Uptime and Availability:} Keeping self-hosted systems
online and operational 24/7 can be difficult, especially in
situations of power outages, hardware failures, or limited
internet connectivity.
\end{itemize}
Recognizing this gap, the Clan project aims to address these
challenges by simplifying the process of self-hosting, making it as
straightforward, accessible, and reliable as using a cloud provider.
The project's vision is to empower users to deploy and manage their
own private P2P networks with minimal technical expertise,
significantly lowering the barrier to entry.
As illustrated in Figure \ref{fig:vision-stages}, the proposed
solution includes a user-friendly web interface. This interface
allows users to design and customize their private P2P networks with
just a few clicks. To further simplify the process, the inclusion of
a Large Language Model (LLM) is envisioned to assist users throughout
the network creation process. The LLM would provide contextual
guidance, answer configuration-related queries, and help resolve
potential issues, thus making the system approachable for a wider
audience without requiring advanced technical skills.
\begin{figure}[h!]
\centering
% Row 1
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{Figures/vision/stage1.png}
\caption{Stage 1}
\end{subfigure}
\hfill
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{Figures/vision/stage2.png}
\caption{Stage 2}
\end{subfigure}
\vspace{1em} % Add spacing between rows
% Row 2
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{Figures/vision/stage3.png}
\caption{Stage 3}
\end{subfigure}
\hfill
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{Figures/vision/stage4.png}
\caption{Stage 4}
\end{subfigure}
\vspace{1em} % Add spacing between rows
% Row 3
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{Figures/vision/stage5.png}
\caption{Stage 5}
\end{subfigure}
\hfill
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{Figures/vision/stage6.png}
\caption{Stage 6}
\end{subfigure}
\vspace{1em} % Add spacing between rows
% Row 4
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{Figures/vision/stage7.png}
\caption{Stage 7}
\end{subfigure}
\hfill
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{Figures/vision/stage8.png}
\caption{Stage 8}
\end{subfigure}
\caption{Visionary Webinterface to Setup a Clan Family Network}
\label{fig:vision-stages}
\end{figure}