\documentclass{bfh} \title{Project 2} \subtitle{Bitmessage -- Communication Without Metadata} \author{Christian Basler} \date{\today} \begin{document} \maketitle \begin{figure}[h] \includegraphics[width=0.2\textwidth]{logo.png} \centering \end{figure} \tableofcontents \section{Synopsis} % Section basics \input{basics} The protocol is described in detail in my Seminar paper. \section{Goal} At the moment, there aren't many implementations apart from the official clients. Especially two things are missing: a multi purpose Java library and a usable mobile client. My goal for my \textit{Project 2} is to create the library, to be used next semester as a starting point for an Android\textsuperscript{\texttrademark} client in my Bachelor Thesis. \section{Issues} \subsection{Proof of Work} Proof of work is needed for a message to be distributed within the Bitmessage network. This is to protect both the network itself from denial of service attacks and the users from spam. \section{Architecture} \subsection{Ports and Adapters} The library uses a ports and adapters architecture, which allows us to easily replace some implementations that might be platform dependent, such as storage or proof of work calculation. \includegraphics[width=\textwidth]{images/ports_and_adapters.pdf} The big advantage of this approach is that it's easy to test the core as well as each adapter by itself. \subsection{Network Management} \section{Discussion} \appendix \addcontentsline{toc}{section}{Appendix} \section*{Appendix} \renewcommand{\thesubsection}{\Alph{subsection}} \subsection{JavaDoc Documentation} \subsection{Literature} \end{document}