mirror of
https://github.com/Ownercz/ssme-thesis.git
synced 2024-11-16 06:55:11 +01:00
273 lines
11 KiB
TeX
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}
|