ssme-thesis/Thesis.tex
2018-07-03 10:44:26 +02:00

273 lines
11 KiB
TeX

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% I, the copyright holder of this work, release this work into the
%% public domain. This applies worldwide. In some countries this may
%% not be legally possible; if so: I grant anyone the right to use
%% this work for any purpose, without any conditions, unless such
%% conditions are required by law.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[
printed, %% This option enables the default options for the
%% digital version of a document. Replace with `printed`
%% to enable the default options for the printed version
%% of a document.
table, %% Causes the coloring of tables. Replace with `notable`
%% to restore plain tables.
nolof, %% Prints the List of Figures. Replace with `nolof` to
%% hide the List of Figures.
nolot, %% Prints the List of Tables. Replace with `nolot` to
%% hide the List of Tables.
oneside, color
%% More options are listed in the user guide at
%% <http://mirrors.ctan.org/macros/latex/contrib/fithesis/guide/mu/fi.pdf>.
]{fithesis3}
%% The following section sets up the locales used in the thesis.
\usepackage[resetfonts]{cmap} %% We need to load the T2A font encoding
\usepackage[T1,T2A]{fontenc} %% to use the Cyrillic fonts with Russian texts.
\usepackage[
main=czech, %% By using `czech` or `slovak` as the main locale
%% instead of `english`, you can typeset the thesis
%% in either Czech or Slovak, respectively.
german, russian, czech, slovak, english %% The additional keys allow
]{babel} %% foreign texts to be typeset as follows:
%%
%% \begin{otherlanguage}{german} ... \end{otherlanguage}
%% \begin{otherlanguage}{russian} ... \end{otherlanguage}
%% \begin{otherlanguage}{czech} ... \end{otherlanguage}
%% \begin{otherlanguage}{slovak} ... \end{otherlanguage}
%%
%% For non-Latin scripts, it may be necessary to load additional
%% fonts:
\usepackage{paratype}
\def\textrussian#1{{\usefont{T2A}{PTSerif-TLF}{m}{rm}#1}}
%%
%% The following section sets up the metadata of the thesis.
\thesissetup{
date = \the\year/\the\month/\the\day,
university = mu,
faculty = fi,
type = mgr,
author = Bc. Radim Lipovčan,
gender = m,
advisor = RNDr. Vlasta Šťavová,
title = {Používání a získávání kryptoměny Monero z pohledu použitelné bezpečnosti},
TeXtitle = {Používání a získávání kryptoměny Monero z pohledu použitelné bezpečnosti},
keywords = {Monero, usable security, cryptocurrency, mining, pool, blockchain},
TeXkeywords = {Monero, usable security, cryptocurrency, mining, pool, blockchain},
}
\thesislong{abstract}{
This is the abstract of my thesis, which can
span multiple paragraphs.
}
\thesislong{thanks}{
This is the acknowledgement for my thesis, which can
span multiple paragraphs.
}
%% The following section sets up the bibliography.
\usepackage{csquotes}
\usepackage[ %% When typesetting the bibliography, the
backend=biber, %% `numeric` style will be used for the
style=numeric, %% entries and the `numeric-comp` style
citestyle=numeric-comp, %% for the references to the entries. The
sorting=none, %% entries will be sorted in cite order.
sortlocale=auto %% For more unformation about the available
]{biblatex} %% `style`s and `citestyles`, see:
%% <http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf>.
\addbibresource{Thesis.bib} %% The bibliograpic database within
%% the file `example.bib` will be used.
\usepackage{makeidx} %% The `makeidx` package contains
\makeindex %% helper commands for index typesetting.
%% These additional packages are used within the document:
\usepackage{paralist}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{url}
\usepackage{menukeys}
%packages
\usepackage{float}
\usepackage{hyperref}
\usepackage[strings]{underscore}
%timeline
\usepackage{xcolor}
\newcommand\ytl[2]{
\parbox[b]{8em}{\hfill{\color{cyan}\bfseries\sffamily #1}~$\cdots\cdots$~}\makebox[0pt][c]{$\bullet$}\vrule\quad \parbox[c]{4.5cm}{\vspace{7pt}\color{red!40!black!80}\raggedright\sffamily #2.\\[7pt]}\\[-3pt]}
\begin{document}
\chapter{Úvod}
\chapter{Kryptoměna Monero}
Monero je opensource kryptoměnou, která je vyvíjená v rámci Monero projektu za účelem vytvoření decentralizované a anonymní měny. Hlavním cílem je dát uživateli plnou kontrolu nad předstředky, kterými disponuje. Znamná to tedy, že jednotlivé digitální transakce a počet peněz v pěněžence nelze dohledat bez vygenerování pohledu uživatelem \cite{moneroprojectgithub}.
\section{Původ a zaměření kryptoměny}
Cesta vzniku samotného Monera je složená z několika forků a předcházejících projektů. Prvním z nich byl Bytecoin jakožto proof-of-concept kryptoměna používající jako první protokol CryptoNote, který byl publikován na začátku roku 2014 \cite{githubbytecoin}.
% CryptoNote implementace ByteCoin -> https://github.com/monero-project/monero/commit/296ae46ed8f8f6e5f986f978febad302e3df231a
Bytecoin měl ovšem problém s tzv. preminem, tedy stavem, kdy kryptoměna publikovaná na veřejnost má již velkou část peněz předem vytěženou. Zde se jednalo o vytěžení 82\% mincí před zveřejněním této měny \cite{fluffyponyonbytecoin}.
% Duvod forku https://coinmetrics.io/papers/dissertation.pdf premine xx procent
Toto byl důvod pro komunitu okolo anonymních kryptoměn, aby udělali hardfork a tím vytvořili kryptoměnu novou, BitMonero \cite{bitmonero}.
% Fork Bytecoin -> BitMonero https://github.com/monero-project/monero/commit/1a8f5ce89a990e54ec757affff01f27d449640bc
Důležitou změnou bylo oddělení hlavní části vývojářů a vytvoření samostatného forku s názvem Monero dne 23.06.2014 . Tím vznikla kryptoměna, která měla od počátku veřejně známý blockchain, jasně definovaný cíl a motivovaný tým vývojářů \cite{monerofork}.
% Fork BitMonero -> Monero https://github.com/monero-project/monero/commit/003b1f909d416ab2c869b76176380c5f133bdad4#diff-c47c7c7383225ab55ff591cb59c41e6b
\subsection{Současný vývoj}
Vývoj Monera je postaven na vydáních, která jsou plánovány na každých 6 měsíců. Přitom na rozdíl od jiných kryptoměn jde o pravidelné aktualizace, které vývojáři nechtějí spojovat s termínem hardfork.
% Monero attack https://lab.getmonero.org/pubs/MRL-0002.pdf
Hlavními důvody pro tento způsob vývojového cyklu jsou:
\begin{itemize}\itemsep0em
\item Komunita očekává pravidelné aktualizace.
\item Možnost upravovat mining algoritmus pro ASIC-resistance.
\item Prostor pro pravidelná vylepšení.
\end{itemize}
Celkově došlo prozatím k 20 jednotlivých vydání Monera, přičemž
\begin{table}
\caption{Timeline of something.}
\centering
\begin{minipage}[t]{.7\linewidth}
\color{gray}
\rule{\linewidth}{1pt}
\ytl{03.03.2014}{ByteCoin - publikování na GitHub}
\ytl{17.04.2014}{Fork ByteCoinu - vznik BitMonero kryptoměny}
\ytl{23.07.2014}{Fork BitMonera - vznik Monero kryptoměny}
\ytl{22.03.2016}{Monero v2 - úprava ringsize, blocktime na 120 sekund}
\ytl{21.09.2016}{Monero v3}
\ytl{05.01.2017}{Monero v4}
\ytl{15.04.2017}{Monero v5}
\ytl{16.09.2017}{Monero v6}
\ytl{06.04.2018}{Monero v7 - aktuální verze protokolu, kdy došlo ke změně CryptoNight algoritmu na verzi 1 kvůli ASICům na síti.}
\ytl{--.10.2018}{Bude upřesněno.}
\bigskip
\rule{\linewidth}{1pt}%
\end{minipage}%
\end{table}
\subsection{Alternativy}
\section{Blockchain technologie}
\subsection{Block}
\subsection{Návaznost a provázanost bloků}
\section{CryptoNote protokol}
\subsection{Verzování a aktualizace}
\subsection{Proof-of-Work}
\section{Prvky sítě}
\subsection{Peněženky}
\subsection{Nodes}
\subsection{Miners}
\subsection{Pools}
\section{Adresování v síti}
\subsection{Typy adres}
\subsection{Transakční adresa}
\subsection{View klíč}
\section{Transakce}
\subsection{Struktura}
\subsection{Vstupy, výstupy, mixing}
\subsection{Průběh transakce}
\subsection{Sledování transakcí na síti}
\chapter{Používání monera}
\section{Pěněženky}
\subsection{Hot wallet}
\subsection{Cold wallet}
\subsection{View only wallet}
\subsection{Možnosti útoků na peněženku}
\subsection{Přehled bezpečnosti úložných způsobů}
\section{Software pro práci s kryptopenězi}
\subsection{Vytvoření peněženky}
\subsection{Fullnode, remote node}
\subsection{Multisig}
\subsection{Srovnání wallet softwaru}
\subsection{Exchanges}
\section{Scamy v prostředí kryptoměny}
\subsection{Online portály}
\subsection{Mining pooly}
\subsection{Cílený malware}
\subsection{Delivery chain}
\section{Monero usecase}
\subsection{Darknet Markety}
\subsection{Monero Markety}
\subsection{Úskalí tradingu anonymní měny}
\subsection{Srovnání s ostatními kryptoměnami}
\section{Anonymita při užívání}
\chapter{Výzkum uživatelů kryptoměny}
\section{Definice, výzkumné otázky}
\section{Na jakém vzorku}
\section{Vyhodnocení international, CZ}
\chapter{Best practices pro usage a storage Monera}
\section{Návrh bezpečného úložného systému}
\section{Návrh pro používání kryptoměny}
\section{Portál nabízející služby pro bezpečné používání kryptoměny}
\chapter{Získávání Monera a zajištění chodu sítě}
\section{PoW Monera}
\section{Mining pooly, solo mining}
\section{Web mining, botnet mining}
% Web mining: https://arxiv.org/pdf/1806.01994.pdf
\section{Cloud mining}
\section{Systémy pro těžbu - ASIC, dodávané}
\section{Software používaný k těžbě}
\section{Srovnání způsobů pro získávání kryptoměny}
\chapter{Průzkum způsobů těžby}
\section{Definice, výzkumné otázky}
\section{Na jakém vzorku}
\section{Vyhodnocení international, CZ}
\chapter{Průzkum operátorů sítě}
\section{Definice, výzkumné otázky}
\section{Na jakém vzorku}
\section{Vyhodnocení international, CZ}
\chapter{Mining malware}
\section{Prevence, detekce a recovery}
\subsection{Server část}
\subsection{Běžní uživatelé}
\chapter{Návrh bezpečného těžebního systému}
\section{Linux-based řešení}
Ansible, Centos 7
\section{Windows-based řešení}
Windows 10 ISO unattended install, Powershell scripty, stažení a instalace Stak XMR
\chapter{Plán}
\begin{figure}[H]
\center
\begin{tabular}{ll}
Měsíc & Task \\
1.7.2018 & Kryptoměna Monero; Používání Monera \\
1.8.2018 & Návrh výzkumu uživatelů;Průzkumu těžby;Operátorů \\
1.9.2018 & Sběr dat; Získávání Monera a zajištění chodu sítě \\
1.10.2018 & Vyhodnocení dat \\
1.11.2018 & Best practices pro usage a storage \\
1.12.2018 & Mining malware; Vytvoření těžebního systému \\
1.1.2019 & Cryptocore.cz jako výstup poznatků \\
1.2.2019 & Rezerva \\
1.3.2019 & Měsíc na odladění \\
1.4.2019 & Finální verze + tisk
\end{tabular}
\caption{Plán práce na diplomce}
\label{ssme-thesis-plan}
\end{figure}
\printbibliography[heading=bibintoc]
%\appendix %% Start the appendices.
%\chapter{Příloha}
%Monero
\end{document}