%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 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 %% . ]{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: %% . \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]{.7\linewidth}{\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} \centering \begin{minipage}[t]{\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, čas bloku 120 sekund} \ytl{21.09.2016}{Monero v3 - rozdělení transakce na více částek} \ytl{05.01.2017}{Monero v4 - souběh normálních a RingCT transakcí} \ytl{15.04.2017}{Monero v5 - aktualizace velikosti bloku a algoritmu pro poplatky} \ytl{16.09.2017}{Monero v6 - vynucení RingCT transakcí s ringsize =>5} \ytl{06.04.2018}{Monero v7 - změna CryptoNight algoritmu kvůli ASIC, ringsize =>7} \ytl{--.10.2018}{Příští aktualizace sítě} \bigskip \rule{\linewidth}{1pt}% \end{minipage}% \color{black}\caption{Vývoj Monera} \end{table} \subsection{Alternativy} \begin{figure}[H] \center \begin{tabular}{p{0.1\linewidth}p{0.15\linewidth}p{0.1\linewidth}p{0.15\linewidth}p{0.15\linewidth}p{0.15\linewidth}} Název & Protokol & Block Time {[}s{]} & Stealth Address & Anonymní transakce & Podpis transakce \\ Aeon & CryptoNote-Light & 240 & Ano & Ano & Ring Signature \\ ByteCoin & CryptoNote & 120 & Ano & Ano & Ring Signature \\ DASH & X11 & 150 & Ne & Ne zcela & Ano \\ Monero (XMR) & CryptoNote & 120 & Ano & Ano & RingCT \\ PIVX & Zerocoin & 60 & Ne přímo & Ano & x \\ Verge (XVG) & Scrypt & 150 & Ano & Ne, TOR\&I2P & RingCT WIP \\ Zcash (ZEC) & Zerocash & 150 & Vlastní shielded address & Ano s zk-SNARKS & x \\ Zcoin (XZC) & Lyra2 =\textgreater MTP & 600 & Ano & Ano, mint \& spend & Ring Signature \end{tabular} \caption{Přehled alternativ Monera} %dash https://bitcointalk.org/index.php?topic=1562109.0 %ďash https://docs.dash.org/en/latest/introduction/information.html %pivx https://github.com/PIVX-Project/PIVX %pivx https://www.reddit.com/r/pivx/comments/7gjjyw/what_are_the_benefits_of_multisig_addresses/ %zcoin https://github.com/zcoinofficial/zcoin/wiki/Information-for-exchanges %zcoin https://zcoin.io/zcoins-privacy-technology-compares-competition/ \label{monero-alternatives} \end{figure} \section{Blockchain technologie} Blockchain \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} \subsection{Kovri} \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}