\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 network’s 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}
