ssme-thesis/Thesis.tex

724 lines
45 KiB
TeX
Raw Normal View History

2018-06-27 21:49:31 +02:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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[
2018-06-29 16:38:17 +02:00
printed, %% This option enables the default options for the
2018-06-27 21:49:31 +02:00
%% 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.
2018-06-29 16:38:17 +02:00
nolof, %% Prints the List of Figures. Replace with `nolof` to
2018-06-27 21:49:31 +02:00
%% hide the List of Figures.
2018-06-29 16:38:17 +02:00
nolot, %% Prints the List of Tables. Replace with `nolot` to
2018-06-27 21:49:31 +02:00
%% hide the List of Tables.
2018-06-29 16:38:17 +02:00
oneside, color
2018-06-27 21:49:31 +02:00
%% 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[
2018-07-15 23:39:27 +02:00
main=english, %% By using `czech` or `slovak` as the main locale
2018-06-27 21:49:31 +02:00
%% instead of `english`, you can typeset the thesis
%% in either Czech or Slovak, respectively.
2018-07-15 23:39:27 +02:00
german, russian, czech, slovak %% The additional keys allow
2018-06-27 21:49:31 +02:00
]{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,
2018-06-29 16:38:17 +02:00
type = mgr,
author = Bc. Radim Lipovčan,
gender = m,
advisor = RNDr. Vlasta Šťavová,
2018-07-15 23:39:27 +02:00
title = {Monero usage and mining from usable security view},
TeXtitle = {Monero usage and mining from usable security view},
2018-06-29 16:38:17 +02:00
keywords = {Monero, usable security, cryptocurrency, mining, pool, blockchain},
TeXkeywords = {Monero, usable security, cryptocurrency, mining, pool, blockchain},
2018-06-27 21:49:31 +02:00
}
\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}
2018-06-29 23:26:35 +02:00
%packages
\usepackage{float}
2018-07-03 10:44:26 +02:00
\usepackage{hyperref}
\usepackage[strings]{underscore}
%timeline
\usepackage{xcolor}
\newcommand\ytl[2]{
2018-07-03 13:50:09 +02:00
\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]}
2018-07-03 10:44:26 +02:00
2018-07-04 16:04:00 +02:00
%caption
\usepackage{caption}
2018-07-10 23:21:47 +02:00
%branches
\usepackage{tikz}
%
\usetikzlibrary{trees}
2018-07-28 15:48:28 +02:00
%ringct
\usetikzlibrary{arrows,shapes,snakes,automata,backgrounds,petri}
2018-06-27 21:49:31 +02:00
\begin{document}
2018-07-17 08:05:21 +02:00
\chapter{Introduction}
2018-07-10 23:22:28 +02:00
%% Komentář Vlasta 10.7.: tady někde (možná samostatná kapitola) bude nutné nadefinovat pojmy. Nazvat to "Kryptoměny" a popsat tam myšlenku, z čeho se skládají, co je blockchain, co to znamená fork... a tak.
%% Komentář Vlasta 10.7.: Nechceš to psát anglicky? Myslím, že by sis tím ušetřil hromadu práce s překlady. Dotazník bude v jakém jazyce?
2018-07-10 21:53:33 +02:00
2018-07-13 11:26:12 +02:00
%% Komentář Radim 13.07: Kapitola s pojmy - udělám zvlášť krátkou, ve které popíšu tyto základní principy, ještě tedy před Monero Cryptocurrency kapitolou. Monero specific věci pak budou popsány už pod Monerem.
%% Komentář Radim 13.07: Po domluvě mailem tedy začnu psát Anglicky. Dotazníky budou ve dvou jazykových mutacích - ENG a CZ. Hlavně kvůli CZ komunitě těžařů a pool operátorům - https://bohemianpool.com/#/home bych dal i tu češtinu.
2018-07-17 08:05:21 +02:00
\chapter{Cryptocurrency}
2018-07-17 22:02:07 +02:00
\textbf{Cryptocurrency} is a digital currency that is designed to use cryptography to secure and verify its transactions. Cryptocurrencies are decentralized as opposed to traditional money transaction systems used in the banks. Decentralisation is established by using distributed blockchain that functions as a transaction database within the currency. First cryptocurrency available was Bitcoin \cite{farell2015analysis}.
2018-07-17 08:05:21 +02:00
\textbf{Altcoin} is a term used for every cryptocurrency that is not Bitcoin as it is a direct concurrent for the first of the cryptocurrency.
2018-07-17 22:02:07 +02:00
The \textbf{fork} happens when developers create a copy of existing project codebase and start their individual path of development with it.
2018-07-17 08:05:21 +02:00
\textbf{Market Cap} is a total value of cryptocurrency that refers to the total number of emitted coins multiplied by the value of the coin.
\textbf{The blockchain} is a technology responsible for storing every transaction that has ever been processed in the cryptocurrency, also often called as a ledger. The main purpose of the blockchain is to ensure the validity of completed transactions.
2018-07-17 22:02:07 +02:00
\textbf{Transactions} within cryptocurrency are processed together as blocks that are verified by miners and then added to the blockchain as a new mined block.
2018-07-17 08:05:21 +02:00
2018-07-17 22:02:07 +02:00
\textbf{The wallet} is a storage medium that holds private and public keys by which user can access, send and receive funds. Wallet effectively does not have the coins but is rather a key to access them from the blockchain.
2018-07-17 08:05:21 +02:00
\textbf{Node} is a computer connected to the cryptocurrency network. Node is often referred to as a full node which means that the computer maintains a full copy of blockchain. This results in node downloading every block and transaction and checking them against cryptocurrency rules, especially whether the transaction has correct signatures, data format and the right number of emitted coins per block.
2018-07-21 19:33:39 +02:00
\textbf{Mining} process is done by miners that verifies transactions on the network and adds them to the blockchain together in form of a block which results in new coins being emitted as a reward for block solving.
2018-07-17 22:02:07 +02:00
\textbf{Mining in pools} is the way how individual miners pool their computational resources. Due to resources pooling, there is a higher chance of solving the block thus gaining the reward of newly emitted coins. %After solving each block, the reward is distributed equally to miners connected to the pool according to PPS or PPLNS system.
2018-07-13 11:26:12 +02:00
\chapter{Monero Cryptocurrency}
%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.
Monero is an open-source cryptocurrency that is developed under the Monero project in order to create a decentralized and anonymous currency. Its main goal is to make the user the one who has complete control over own funds.
%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}.Hlavními body, kterými se Monero oproti jiným kryptoměnám liší, jsou:
Meaning that every single digital transaction and the exact number of coins in users wallet cannot be traced back to the user without sharing the view key of the transaction \cite{moneroprojectgithub}. Main distinctive points compared to other cryptocurrencies are:
%\begin{itemize}\itemsep0em
%\item Blockchain je veřejný, většina jeho částí je ovšem šifrována, více v kapitole o blockchainu \ref{sec:blockchain}.
%\item Odesílatel transakce je skrytý díky Ring Signatures, které jsou popsány v kapitole \ref{sec:ringsignatures}.
%\item Množství odesílané měny je šifrováno pomocí RingCT popsaném v \ref{sec:ringct}.
%\item Transakční historie a příjemce je neveřejný použitím skrytých adres (stealth addresses), kterým se věnuje kapitola \ref{sec:stealthaddresses}.
%\end{itemize}
2018-07-10 21:53:33 +02:00
\begin{itemize}\itemsep0em
2018-07-17 22:48:36 +02:00
\item The blockchain is public, but a large part of it is encrypted.
2018-07-13 11:26:12 +02:00
\item The sender of the transaction is hidden by using Ring Signatures explained in chapter \ref{sec:ringsignatures}.
\item The exact amount of transferred coins is encrypted using RingCT as described in \ref{sec:ringct}.
\item Transaction history and receiving party is hidden by the usage of stealth addresses that are referenced in chapter \ref{sec:stealthaddresses}.
2018-07-10 21:53:33 +02:00
\end{itemize}
2018-07-13 11:49:25 +02:00
2018-07-22 00:10:19 +02:00
\section{Origin and the main focus}
2018-07-13 11:49:25 +02:00
Monero started its way by forking from Bytecoin, which was proof-of-concept cryptocurrency that used as first of its kind protocol called CryptoNote. CryptoNote was published by the start of the year 2014 \cite{githubbytecoin}.
%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}
2018-07-02 20:33:08 +02:00
% CryptoNote implementace ByteCoin -> https://github.com/monero-project/monero/commit/296ae46ed8f8f6e5f986f978febad302e3df231a
2018-07-03 10:44:26 +02:00
2018-07-13 11:49:25 +02:00
%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}.
2018-07-02 20:33:08 +02:00
% Duvod forku https://coinmetrics.io/papers/dissertation.pdf premine xx procent
2018-07-13 11:49:25 +02:00
Although Bytecoin had a promising protocol aimed at privacy, there was a problem with premine, meaning that cryptocurrency at the time of publishing had already 82\% of the coins already emitted \cite{fluffyponyonbytecoin}.
%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}.
2018-07-02 20:33:08 +02:00
% Fork Bytecoin -> BitMonero https://github.com/monero-project/monero/commit/1a8f5ce89a990e54ec757affff01f27d449640bc
2018-07-13 11:49:25 +02:00
That was the reason why people interested in anonymous cryptocurrencies decided to create a Bytecoin fork under the name of BitMonero \cite{bitmonero}.
%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}.
2018-07-03 10:44:26 +02:00
% Fork BitMonero -> Monero https://github.com/monero-project/monero/commit/003b1f909d416ab2c869b76176380c5f133bdad4#diff-c47c7c7383225ab55ff591cb59c41e6b
2018-07-04 16:04:00 +02:00
% \begin{table}
%\centering
%\begin{minipage}[t]{\linewidth}
2018-07-13 11:49:25 +02:00
Next important moment was when a significant part of the developers decided to abandon the project in favor of creating a new fork named Monero in 23.06.2014. By this action, Monero cryptocurrency was created with publicly known blockchain from the start, strictly defined goals and motivated team of developers \cite{monerofork}.
2018-07-10 23:22:28 +02:00
%% Komentář Vlasta 10.7.: Návrh: v téhle kapitole by bylo moc hezká nějaká přehledová tabulka cca 5 největších kryptoměn, kde bys je porovnal podle vybraných kriterii. Třeba kriterium "Množství odesílané měny je šifrováno" by bylo v sloupečku a v pro každou kryptoměnu na řádek vyznačil, zda to splňuje nebo ne. Bylo by pak přehledně vidět čím je Monero tak vyjimečné a jak jsou na tom v těhle kriteriích ostatní kryptoměny.
2018-07-21 19:33:39 +02:00
\section{Monero market cap}
As Monero is often mentioned for its privacy features, decentralization in mind and fungibility as main asset, table \ref{table:monero-top5} puts Monero in the direct comparison against top 5 cryptocurrencies.
2018-07-22 12:14:29 +02:00
In order to compare different cryptocurrency projects, market capitalization (market cap) is often used as a way of ranking \cite{elbahrawy2017evolutionary}. It indicates the relative size of cryptocurrency by the formula: \\ \centerline{
\textit{\textit{Market Cap = Circulating Supply * Price} }}
2018-07-21 19:33:39 +02:00
\textbf{Privacy} in cryptocurrency is a feature that assures that amount of coin user owns, sends or receives cannot be seen on the blockchain.
2018-07-22 12:14:29 +02:00
\textbf{Decentralization} in cryptocurrency network all nodes are equals. That means that there is no supernode that can override how transactions are being processed as well as there is no single entity in control.
2018-07-21 19:33:39 +02:00
\textbf{Fungibility} means that every coin ever emitted has the same value as the others and cannot be traced back thus there cannot be coin blacklist.
\begin{figure}[H]
\centering\begin{tabular}{{p{0.06\linewidth}p{0.13\linewidth}p{0.17\linewidth}p{0.15\linewidth}p{0.15\linewidth}p{0.15\linewidth}}}
\textbf{Rank} & \textbf{Name} & \textbf{Transactions per day} & \textbf{Privacy} & \textbf{Decentra-lization} & \textbf{Fungibility} \\
1 & Bitcoin & 225039 & No & Yes & No \\
2 & Ethereum & 610953 & No & Yes & No \\
3 & XRP & 633974 & No & No & Varies \\
4 & Bitcoin Cash & 125404 & No & Yes & No \\
5 & EOS & 406380 & No & Yes & Varies \\
13 & Monero & 4010 & Yes & Yes & Yes
\end{tabular}
\captionof{table}{Monero features in top 5 cryptocurrencies.}
\label{table:monero-top5}
\end{figure}
2018-07-22 12:14:29 +02:00
As can be seen from data in table \ref{table:monero-top5}, coins that are most popular by market cap metrics, are not centered around privacy. Altought it is often believed that using cryptography means anonymity, it isn't true in most cryptocurrencies especially in Bitcoin \cite{conti2018survey}.
XRP and EOS are in special position compared to typical cryptocurrency as they offer a crypto platform with contracts, so privacy implementation and fungibility varies from contract to contract \cite{domingues2018allvor}.
2018-07-21 19:33:39 +02:00
%Zdroj transaction volume: https://bitinfocharts.com/monero/
%Zdroj Bitcoin: https://bitcoin.org/en/protect-your-privacy
%Zdroj Ethereum: https://ieeexplore.ieee.org/document/8356459/
%Zdroj XRP: https://ieeexplore.ieee.org/document/8356459/
%https://ripple.com/insights/xrp-compares-btc-eth/
%https://bitcoinist.com/not-decentralized-ripple-freezes-1m-user-funds/
2018-07-17 22:48:36 +02:00
\newpage
2018-07-21 19:33:39 +02:00
\section{Monero competitors}
2018-07-29 22:29:03 +02:00
\label{sec:monero-timeline}
2018-07-21 19:33:39 +02:00
%Mimo Monero se snaží o anonymní vlastnosti měny i řada dalších projektů. Nejblíže Moneru je ByteCoin, ze kterého Monero vychází, má ovšem špatné jméno v krypto komunitě kvůli 82\% premine měny. Alternativu k Moneru se zachováním řady vlastností nabízí jeho fork Aeon, který využívá méně náročnou implementaci za cenu nižšího stupně anonymity.
Monero is not the only one cryptocurrency that aims at privacy and anonymity features, there are many privacy coins already in existence. Most similar to Monero is ByteCoin from which Monero was forked, but is overall unpopular due to 82\% premine. A viable alternative to Monero offers its fork Aeon that is more lightweight as opposed to Monero with slightly fewer privacy features.
%\begin{figure}[H]
%\centering
%\begin{tabular}{p{0.1\linewidth}p{0.16\linewidth}p{0.1\linewidth}p{0.15\linewidth}p{0.15\linewidth}p{0.15\linewidth}}
%\textbf{Název} & \textbf{Protokol} & \textbf{Block Time {[}s{]}} & \textbf{Stealth Address } & \textbf{Anonymní transakce} & \textbf{Podpis transakce} \\
%Aeon & CryptoNote-Light & 240 & Ano & Ano & Ring Signature \\
%Byte-Coin & 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 pomocí SNARKS & x \\
%Zcoin (XZC) & Lyra2 =\textgreater MTP & 600 & Ano & Ano, mint \& spend & Ring Signature
%\end{tabular}
%\captionof{table}{Přehled kryptoměn se zaměřením na anonymitu}
%\label{table:monero-alternatives}
%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/
\begin{figure}[H]
\centering
\begin{tabular}{p{0.1\linewidth}p{0.16\linewidth}p{0.1\linewidth}p{0.15\linewidth}p{0.15\linewidth}p{0.15\linewidth}}
\textbf{Name} & \textbf{Protocol} & \textbf{Block Time {[}s{]}} & \textbf{Stealth Address } & \textbf{Anonymous transactions} & \textbf{Transaction signing} \\
Aeon & CryptoNote-Light & 240 & Yes & Yes & Ring Signature \\
Byte-Coin & CryptoNote & 120 & Yes & Yes & Ring Signature \\
DASH & X11 & 150 & No & Not fully & Yes \\
Monero (XMR) & CryptoNote & 120 & Yes & Yes & RingCT \\
2018-07-22 12:14:29 +02:00
PIVX & Zerocoin & 60 & Partialy & Yes & x \\
2018-07-21 19:33:39 +02:00
Verge (XVG) & Scrypt & 150 & Yes & Ne, TOR\&I2P & RingCT WIP \\
Zcash (ZEC) & Zerocash & 150 & Shielded addresses & Yes by SNARKS & x \\
Zcoin (XZC) & Lyra2 =\textgreater MTP & 600 & Yes & Yes by minting \& spending & Ring Signature
\end{tabular}
\captionof{table}{Comparison of Anonymous Cryptocurrencies and their features.}
\label{table:monero-alternatives}
\end{figure}
Information sources used in table \ref{table:monero-alternatives} and in the picture \ref{pict:monero-alternatives-codebase}:\\
Aeon \cite{moneroalternativeaeon}, ByteCoin \cite{moneroalternativebytecoin}, Dash \cite{moneroalternativedash,moneroalternativedashdev}, Monero \cite{moneroprojectgithub}, Pivx \cite{moneroalternativepivx}, Verge \cite{moneroalternativeverge}, Zcash \cite{moneroalternativezcash}, Zcoin \cite{moneroalternativezcoin}.
2018-07-22 12:14:29 +02:00
\iffalse
2018-07-21 19:33:39 +02:00
\begin{figure}[H]
\centering
\begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=blue!20}]]
\node {Bytecoin}
child { node {DASH}
child { node {PIVX}}}
child { node {BitMonero}
child { node {Monero}
child { node {AEON} } } };
\node[xshift=21mm]{Verge};
\node[xshift=4cm] {Bitcoin}
child[xshift=25mm] { node {Zcash}}
child[xshift=0cm] { node {Zcoin}};
\end{tikzpicture}
\caption{Codebase overview of the selected cryptocurrencies.}
\label{pict:monero-alternatives-codebase}
\end{figure}
2018-07-22 12:14:29 +02:00
\fi
2018-07-21 19:33:39 +02:00
%verge ma svoji codebase "non-bitcoin coin" viz prvni commit https://github.com/PIVX-Project/PIVX/commit/4405b78d6059e536c36974088a8ed4d9f0f29898
2018-07-17 22:48:36 +02:00
\section{Development cycle}
2018-07-13 11:49:25 +02:00
%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.
2018-07-10 23:22:28 +02:00
%% Komentář Vlasta 10.7.: Trochu popiš jak moc je Monero rozšířené. Pro představu v porovnání s dalšími kryptoměnami. Aby bylo jasné, že to není nějaká obskurní kryptoměna.
2018-07-17 22:48:36 +02:00
Monero development cycle is based upon planned network updates that occur every six months. By this developers want to encourage work on the project with regular updates in contrast to other cryptocurrencies that don't want any new hard forks in the future as it brings the danger of splitting the coin into several versions \cite{mccorry2017atomically}.
2018-07-04 16:04:00 +02:00
2018-07-03 10:44:26 +02:00
% Monero attack https://lab.getmonero.org/pubs/MRL-0002.pdf
2018-07-13 11:49:25 +02:00
%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}
2018-07-17 22:48:36 +02:00
\iffalse
2018-07-03 10:44:26 +02:00
\begin{itemize}\itemsep0em
2018-07-13 11:49:25 +02:00
\item The community knows that updating is the way forward.
\item Enhanced ASIC resistance by changing the mining algorithm.
\item There is always an opportunity to push updated code and improvements in a biannual cycle.
2018-07-03 10:44:26 +02:00
\end{itemize}
2018-07-17 22:48:36 +02:00
\fi
2018-07-03 13:50:09 +02:00
2018-07-13 11:49:25 +02:00
%\begin{figure}[H]
%\center
%\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}
%\color{black}\caption{Časová osa vývoje Monera}
%\label{monero-timeline}
%\end{figure} \newpage
2018-07-04 16:04:00 +02:00
\begin{figure}[H]
\center
2018-07-03 10:44:26 +02:00
\color{gray}
\rule{\linewidth}{1pt}
2018-07-15 23:39:27 +02:00
\ytl{03.03.2014}{Bytecoin - published on GitHub}
\ytl{17.04.2014}{ByteCoin fork - the creation of BitMonero cryptocurrency}
\ytl{23.07.2014}{BitMonero Fork - the creation of Monero cryptocurrency}
\ytl{22.03.2016}{Monero v2 - ring size change, block time set to 120 seconds}
\ytl{21.09.2016}{Monero v3 - transactions are split into smaller amounts}
2018-07-03 13:50:09 +02:00
\ytl{05.01.2017}{Monero v4 - souběh normálních a RingCT transakcí}
2018-07-15 23:39:27 +02:00
\ytl{15.04.2017}{Monero v5 - block size update and fee algorithm adjustments}
\ytl{16.09.2017}{Monero v6 - RingCT forced on the network with ring size => 5}
\ytl{06.04.2018}{Monero v7 - change of CryptoNight mining algorithm to prevent ASIC on the network, ring size set to =>7}
\ytl{--.10.2018}{Future network update}
2018-07-03 10:44:26 +02:00
\bigskip
\rule{\linewidth}{1pt}%
2018-07-04 16:04:00 +02:00
%\end{minipage}%
%\color{black}\caption{Vývoj Monera}
%\end{table}
2018-07-13 11:49:25 +02:00
\color{black}\caption{Monero development timeline.}
2018-07-04 16:04:00 +02:00
\label{monero-timeline}
2018-07-10 23:21:47 +02:00
\end{figure} \newpage
2018-07-13 11:49:25 +02:00
2018-07-15 23:39:27 +02:00
%Zároveň je s těmito vydáními spojena řada chyb, které jsou průběžně opravovány. Mezi známé problémy Monera v minulosti patřily:
2018-07-17 22:48:36 +02:00
Updates are meant to improve and enhance the previously established codebase as well as fixing already existing bugs that are continuously being resolved. Known problems in Monero history were:
2018-07-15 23:39:27 +02:00
%\begin{itemize}
%\item \textbf{Spam attack}
%\begin{itemize}
%\item Šlo o zahlcení sítě při posílání transakcí kvůli poplatku za transakci 0.005 XMR. Rychlou opravou bylo úprava poplatku na 0.1XMR. Toto vedlo k implementaci dynamického poplatku za transakci, který je založený na zvolené prioritě platby \cite{monerospamattack}.
%zdroj https://bitcointalk.org/index.php?topic=583449.msg8519146#msg8519146
%\end{itemize}
%\item \textbf{Split chain attack}
%\begin{itemize}
%\item Cílené využití zranitelnosti ve výpočtu základu Merkle tree vedla k vytvoření dvou bloků se stejnou výškou a hashem na síti, lišily se ovšem 2 transakcemi na konci bloků \cite{macheta2014counterfeiting}. Tím vznikly dva různé chainy Monera. Chyba se týkala celého protokolu Cryptonote a všech kryptoměn na něm založených, v případě Monera komunita zastavila pohyb transakcí na burzách do dalšího dne, kdy byla vydána oprava \cite{cryptonotemerkletree}.
%\end{itemize}
%\item \textbf{Analýza transakcí v blockchainu Monera}
%\begin{itemize}
%\item Výzkum provedený v roce 2017 ukázal z pohledu anonymity problémy se systémem, jakým probíhají transakce. Nejdůležitějším z nich bylo objevení faktu, že při nastavení velikosti ring signature na nule můžeme v blockchainu vysledovat částku na výstupu transakce.
%\item Tento problém byl vyřešen vývojovým týmem záhy díky nasazení technologie RingCT při kterých zároveň nastavili na síti podmínku, při které velikost ring signature musí být
%\end{itemize}
%zdroj https://eprint.iacr.org/2017/338.pdf
%\end{itemize}
%zdroj https://getmonero.org/2017/05/17/disclosure-of-a-major-bug-in-cryptonote-based-currencies.html
2018-07-04 16:04:00 +02:00
\begin{itemize}
2018-07-15 23:39:27 +02:00
\item \textbf{Spam attack}
2018-07-04 16:04:00 +02:00
\begin{itemize}
2018-07-22 00:10:19 +02:00
\item Was aimed to oversaturate the Moneros network by sending very small transactions and leveraging cheap transaction fee of 0.005 XMR. Immediate fix was established by raising the fee to 0.1 XMR. This problem led to the implementation of dynamic transaction fee based on chosen transaction priority \cite{monerospamattack}.
2018-07-04 16:04:00 +02:00
%zdroj https://bitcointalk.org/index.php?topic=583449.msg8519146#msg8519146
\end{itemize}
2018-07-10 23:21:47 +02:00
\item \textbf{Split chain attack}
2018-07-04 16:04:00 +02:00
\begin{itemize}
2018-07-15 23:39:27 +02:00
\item The successful exploit of Merkle root calculation vulnerability led to the creation of two blocks of the same height and hash, but with two different transactions on the end of the block \cite{macheta2014counterfeiting}. By this, two separate Monero chains were created. Exploit was applicable to all CryptoNote based cryptocurrencies. In the case of Monero, all transactions were stopped on exchanges until next day, when the fix was issued \cite{cryptonotemerkletree}.
2018-07-04 16:04:00 +02:00
\end{itemize}
2018-07-15 23:39:27 +02:00
\item \textbf{Transaction analysis in Monero blockchain}
2018-07-10 21:53:33 +02:00
\begin{itemize}
2018-07-22 22:34:55 +02:00
\item Research published in 2017 uncovered past and present problems in anonymity with Monero transaction system. The most significant discovery was that a large portion of transactions used a ring signature of zero which caused traceability of the amount of coin in the transaction output on the blockchain \cite{moser2018empirical}.
\item This issue was resolved by Monero team already in 2016 with Monero v2, where ring signature was set to =>3 \cite{monerov2release}. Soon after the paper was released, Monero got its v6 update with enforced use of ringCT technology for all transaction outputs \cite{monerov6release}.
2018-07-10 21:53:33 +02:00
\end{itemize}
%zdroj https://eprint.iacr.org/2017/338.pdf
2018-07-04 16:04:00 +02:00
\end{itemize}
%zdroj https://getmonero.org/2017/05/17/disclosure-of-a-major-bug-in-cryptonote-based-currencies.html
2018-07-10 23:21:47 +02:00
\newpage
2018-07-10 21:53:33 +02:00
%\section{CryptoNote protokol}
%\subsection{Verzování a aktualizace}
%\subsection{Proof-of-Work}
2018-07-22 22:34:55 +02:00
%\section{Monero Network Structure}
2018-07-22 00:10:19 +02:00
%Síť zajišťující fungování Monera jako kryptoměny s transakcemi má decentralizovanou podobu zajištěnou
2018-07-17 08:05:21 +02:00
2018-07-10 21:53:33 +02:00
2018-07-17 22:48:36 +02:00
%\section{Adresování v síti}
%\subsection{Typy adres}
%\subsection{Transakční adresa}
%\subsection{View klíč}
%\section{Transakce}
%\subsection{Struktura}
%\subsection{PoW}
%\subsection{Vstupy, výstupy, mixing}
%\subsection{Průběh transakce}
%\subsection{Sledování transakcí na síti}
%\subsection{Kovri}
%\section{Technologie}
%\subsection{Stealth Address}
%\label{sec:stealthaddresses}
%\subsection{Ring Signatures}
%\label{sec:ringsignatures}
%\subsection{RingCT}
%zdroje https://eprint.iacr.org/2015/1098.pdf https://getmonero.org/resources/moneropedia/ringCT.html
%\label{sec:ringct}
2018-07-22 22:34:55 +02:00
%\subsection{Principle of anonymity}
%\subsection{System of transactions}
%\subsection{Wallets and keys}
%\subsection{Proof of Work}
%\subsection{Transaction traceability}
%\section{Technology and principles used in Monero}
\section{Transactions in Monero network}
2018-07-23 23:00:28 +02:00
Monero uses a distributed peer-to-peer consensus network to record transaction outputs in a blockchain. That means that balance is not stored in a wallet, but is represented by control over outputs of transactions accessible with wallet keys \cite{seguias2018moneroa}.
2018-07-22 22:34:55 +02:00
2018-07-23 23:00:28 +02:00
By that when user A wants to send funds to user B, the transaction happens in a way of transformation of controlled outputs in one wallet to a new output that belongs to the other wallet. As this is only a principle how coins are transferred between wallets Monero uses additional technology to make transactions private.
\subsection{Monero wallet and stealth addresses}
Monero wallet seed is 95 characters long string that consists of public view and spend key. In order to send funds from one wallet to another, a one-time public key is created, that contains senders public view and spend key as well as randomized data.
2018-07-17 22:48:36 +02:00
2018-07-23 23:00:28 +02:00
This one-time public key is also referred to as a stealth address and is generated and recorded as part of the transaction in order to set the controller of the output of the transaction \cite{seguias2018monero}.
It is visible on the blockchain and by this receiving party is able to scan the blockchain to find exact transaction using their private view key. After locating transaction output, wallet software is then able to calculate one-time private key that aligns with one-time public key and can spend this output using private spend key \cite{courtois2017stealth}.
By this, no one from outside can link nor wallet addresses nor people involved in a particular transaction by scanning the blockchain as there is no association with receivers address.
2018-07-28 15:48:28 +02:00
In order to prove that funds were sent from one wallet to another, the sender has to disclose transactions ID, receivers address and transactions key.
%\begin{itemize}\itemsep0em
%\item The transaction ID.
%\item Receivers address.
%\item Transaction's key.
%\end{itemize}
2018-07-17 22:48:36 +02:00
2018-07-22 22:34:55 +02:00
\subsection{Ring Signatures}
2018-07-23 23:00:28 +02:00
Ring signatures present a way how to create a distinctive signature that authorizes a transaction. The digital signature of the transaction is compiled from the signer together with past outputs of transactions (decoys) to form a ring where all members are equal and valid. By that, outside party can't identify exact singer as it is not clear which input was signed by one time spend key\cite{mercer2016privacy}.
2018-07-28 15:48:28 +02:00
To prevent double spending, there is a cryptographic key image derived from the spent output and is part of the ring signature. As each key image is unique, miners can verify that there are is no other transaction with the same key image, thus preventing the double-spending attack \cite{miller2017empirical}.
2018-07-23 23:00:28 +02:00
2018-07-10 21:53:33 +02:00
\subsection{RingCT}
2018-07-28 15:48:28 +02:00
So far, senders anonymity is ensured by ring signatures, receivers anonymity relies on stealth addresses, but the amount of Monero transferred would be still visible on the blockchain. In order to hide transaction amounts, Ring Confidential Transactions are implemented \cite{noether2015ring}.
As one output cannot be spent twice, the sender has to spend entire output in the transaction. This typically results in a transaction having two outputs, one for the receiver and one for the original wallet, where the excess amount of coins is returned.
To prevent manipulation during a transaction, the total input amount must equal the output amount of coins in each transaction. As one could exploit this by committing to value less than a zero, range proofs are there to ensure cryptographic proof of amounts used in transactions is greater than zero and falls into valid transaction amount range.
To confirm the transaction, sender reveals the masked amount of coins being sent in the transaction to the network that is later verified by miners \cite{sun2017ringct}.
By that, amounts transferred between wallets in form of outputs of transactions are hidden and the network can still confirm that transaction is valid.
2018-07-17 22:48:36 +02:00
\subsection{Kovri}
2018-07-28 15:48:28 +02:00
Kovri is a C++ implementation of the I2P anonymous network under heavy development process in Monero project. It aims to offer secure network transmissions where users IP cannot be associated with a particular transaction ID \cite{monerokovri}.
2018-07-23 23:00:28 +02:00
%Zdroje: \cite{monerokovri}
2018-07-17 22:48:36 +02:00
%\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}
\chapter{Monero usage}
2018-07-29 22:29:03 +02:00
As pointed out in section \ref{sec:monero-timeline}, Monero is one of the cryptocurrencies that aim to implement as complex anonymity system as possible. And because of that not only underlying technology of the network is different to other cryptocurrency projects but user side as well.
2018-07-17 22:48:36 +02:00
\section{Wallets}
2018-07-29 22:29:03 +02:00
The essential part of every currency is the user's ability to access stored funds. In cryptocurrency, this is represented by the wallet and associated software.
2018-07-17 22:48:36 +02:00
2018-07-29 22:29:03 +02:00
Monero wallet contains information that is necessary to send and receive Monero currency. Each wallet is encrypted by the password set in the creation process. Typical wallet created using Monero software named \textit{example-wallet} consists of:
\begin{itemize}\itemsep0em
\item \textbf{example-wallet.keys file}
\begin{itemize}\itemsep0em
\item Is an encrypted file containing private \textbf{spend key} and \textbf{view key} together with \textbf{wallet address}.
\item Keys file also contains user preferences related to transactions and wallet creation height, so wallet software will only read blockchain from the point the wallet was created.
\item Using this file, the user can restore wallet by using the monero-wallet-cli command: monero-wallet-cli --generate-from-keys
\end{itemize}
\item \textbf{example-wallet file}
\begin{itemize}\itemsep0em
\item Acts as an encrypted cache for wallet software that contains:
\begin{itemize}\itemsep0em
\item List of outputs of transactions that are associated with the wallet as it does not need to scan the blockhain every time after startup.
\item History of transactions with metadata containing tx keys.
\end{itemize}
\end{itemize}
\item \textbf{example-wallet.address.txt file}
\begin{itemize}\itemsep0em
\item Stores \textbf{unencrypted} information containing generated wallet address.
\item With recent address-based attacks that swap wallet addresses found in clipboard or files on the hard drive for the attacker's wallet address, this poses a security risk \cite{cryptoshuffler}.
\end{itemize}
\item \textbf{Mnemonic seed}
\begin{itemize}\itemsep0em
\item Mnemonic seed is a 25-word phrase which the last word is being used as a checksum. Together they represent a 256-bit integer that is the accounts private spend key.
\item By having accounts private spend key, wallet software can derive private view key by hashing private key with Keccak-256. This produces another 256-bit integer that represents private view key.
\item Both public keys are then derived from newly recovered private keys.
\end{itemize}
\end{itemize}
Example of Monero wallet address and mnemonic seed:
\begin{itemize}\itemsep0em
\item \textbf{Wallet address}
\begin{itemize}\itemsep0em
\item 461TWLQhsxrR9dD4CXk4p1RRxAAQ3YCEDhNiGCQjj5\\QA33ohhZPnCX6346EyEwC7TiRSB3XB8KgNaJ4vThd5N\\pQqRkGab66
\end{itemize}
\item \textbf{Mnemonic seed}
\begin{itemize}\itemsep0em
\item serving odometer nifty flippant worry sphere were thorn putty bogeys lyrics feast fawns input biscuit hobby outbreak rash tucks dwelt liquid azure inexact isolated liquid
\end{itemize}
\end{itemize}
\subsection{Wallet types}
As Monero wallet can be represented as little as one file or 25 words, it is rather a small piece of information which user needs to store in the safe place in order to keep account under own control. In order to do that, there exist two main types of wallets:
\begin{itemize}\itemsep0em
\item \textbf{Hot wallet}
\begin{itemize}\itemsep0em
\item Refers to wallet software running on a computer that is connected to the internet, thus Monero network. By being online, the user can verify incoming transactions, spend from the wallet and check balance as well.
\item As this type of wallet is not air-gapped, this poses an external intrusion risk.
\item The hot wallet can also refer also to web-based and exchanged wallet that is explained further in this section.
%\begin{itemize}\itemsep0em
%\item Web based wallet (explained below)
%\item Exchange hosted wallet (explained below)
%\end{itemize}
\end{itemize}
\item \textbf{View-only wallet}
\begin{itemize}\itemsep0em
\item Is a wallet containing only private view key pair in order to see transactions associated with the wallet.
\item As this is a view-only wallet, the user is able to see incoming transactions but is not able to spend, sign or view outgoing transactions. This results in incorrect balance when the wallet is used for sending funds.
\end{itemize}
\item \textbf{Cold wallet}
\begin{itemize}\itemsep0em
\item Is an offline solution to storing wallet seed or private keys on storage media. Using method, media storing wallet information have no direct access to the internet. This can be represented by an external hard drive, air-gapped computer as well as paper with wallet seed written on it.
\item This comes with increased security from the IT standpoint, but the usability of the cryptocurrency suffers. This is mainly due to the hassle of working with funds when the user wants to spend them as it requires:
\begin{itemize}\itemsep0em
\item Cold wallet imported into wallet software in the air-gapped computer.
\item A view-only wallet that is imported in wallet software and fully synced with the network.
\end{itemize}
\item This way,the user can generate an unsigned transaction on the view-only wallet, transfer it for signing to the air-gapped computer and then back to submit transfer to the Monero network.
\end{itemize}
\item \textbf{Exchange hosted wallet}
\begin{itemize}\itemsep0em
\item In exchange wallet, users funds are stored under a online account in an online exchange.
\item As opposed to a regular wallet, there is no wallet software or seed required as the whole balance and transaction system is ran by the third party.
Funds can be controlled through users online account that accessible by traditional username and password.
\item This poses a risk as the third party has complete access to users funds and the the account's security is directly dependent on exchanges security measures as 2FA implementation, IP restriction or email verification.
\end{itemize}
\item \textbf{Web-based wallet}
\begin{itemize}\itemsep0em
\item Web wallet represents server based Monero client that is served to the user in the browser. By using a web wallet, the user can access funds from any internet connected device by sharing:
\begin{itemize}\itemsep0em
\item Mnemonic seed or private spend and view key in order to send and receive funds.
\item Public view key and wallet address to view incoming transactions to the wallet.
\end{itemize}
\end{itemize}
\item \textbf{Hardware wallet}
\begin{itemize}\itemsep0em
\item Dedicated hardware solution like Ledger is still in its beta phase \cite{ledgermonero}.
\item Due to lack of real hardware wallet, the community around Monero recommends as the alternative a USB drive with a live distribution of Linux coupled with persistent storage where Monero client and users private key pairs are stored.
\item Note that although this alternate solution effectively rules out host operating system, there is still a way to capture viable information when interacting with the untrusted machine, for example, GPU output or usage of hardware keylogger.
2018-07-17 22:48:36 +02:00
2018-07-29 22:29:03 +02:00
\end{itemize}
\end{itemize}
2018-07-17 22:48:36 +02:00
\subsection{Attacking the wallet}
2018-07-29 22:29:03 +02:00
Hot wallet
Cold wallet
View-only wallet
Exchange hosted wallet
Web-based wallet
Hardware wallet
\subsection{Cryptocurrency wallet software}
2018-07-17 22:48:36 +02:00
2018-07-29 22:29:03 +02:00
%\subsection{Overview of wallet storage methods}
2018-07-17 22:48:36 +02:00
2018-07-29 22:29:03 +02:00
%\subsection{Creating a wallet}
2018-07-17 22:48:36 +02:00
2018-07-29 22:29:03 +02:00
\section{Full and remote node}
2018-07-17 22:48:36 +02:00
2018-07-29 22:29:03 +02:00
\section{Multisig implementation}
2018-07-17 22:48:36 +02:00
2018-07-29 22:29:03 +02:00
%\subsection{Wallet software comparison}
2018-07-17 22:48:36 +02:00
\section{Problems in Monero environment}
\subsection{Monero scam list}
\subsection{Targeted malware}
\subsection{Delivery chain disruption}
%\section{Monero usecase}
%\subsection{Darknet Markets}
%\subsection{Monero Markets}
%\subsection{Úskalí tradingu anonymní měny}
%\subsection{Srovnání s ostatními kryptoměnami}
\section{Monero use case}
\subsection{Darknet markets}
\subsection{Monero markets}
\subsection{Trading problems associated with anonymity}
\subsection{Usage comparison with other cryptocurrencies}
2018-06-29 16:38:17 +02:00
2018-07-22 00:10:19 +02:00
\section{Usage anonymity}
2018-06-29 16:38:17 +02:00
2018-07-22 00:10:19 +02:00
\chapter{Monero user research}
\section{Definition, research questions}
\section{Participants selection}
\section{Results international, CZ}
2018-06-29 16:38:17 +02:00
2018-07-22 00:10:19 +02:00
\chapter{Monero usage and storage best practices}
\section{Designing a secure storage system}
\section{Secure usage pattern}
\section{Secure crypto portal}
2018-06-29 16:38:17 +02:00
2018-07-22 00:10:19 +02:00
\chapter{Obtaining Monero and running the network}
\section{Monero Proof-of-work}
\section{Mining pools, solo mining}
2018-06-29 16:38:17 +02:00
\section{Web mining, botnet mining}
2018-07-03 10:44:26 +02:00
% Web mining: https://arxiv.org/pdf/1806.01994.pdf
2018-06-29 16:38:17 +02:00
\section{Cloud mining}
2018-07-22 00:10:19 +02:00
\section{Systems for mining - ASIC, prebuilds}
\section{Mining software}
\section{XMR obtaining comparison}
2018-06-29 16:38:17 +02:00
2018-07-22 00:10:19 +02:00
\chapter{Research done on miners}
\section{Definition, research questions}
\section{Participants selection}
\section{Results international, CZ}
2018-06-29 16:38:17 +02:00
2018-07-22 00:10:19 +02:00
\chapter{Pool owners research}
\section{Definition, research questions}
\section{Participants selection}
\section{Results international, CZ}
2018-06-29 16:38:17 +02:00
2018-06-29 22:19:51 +02:00
2018-06-29 16:38:17 +02:00
\chapter{Mining malware}
2018-07-22 00:10:19 +02:00
\section{Prevention, detection and recovery}
\subsection{Systems administrators perspective}
2018-07-04 16:04:00 +02:00
%kitty https://www.incapsula.com/blog/crypto-me0wing-attacks-kitty-cashes-in-on-monero.html
2018-07-22 00:10:19 +02:00
\subsection{Regular users}
2018-06-29 16:38:17 +02:00
2018-07-22 00:10:19 +02:00
\chapter{Designing secure mining environment}
\section{Linux-based solution}
2018-06-29 16:38:17 +02:00
Ansible, Centos 7
2018-07-22 00:10:19 +02:00
\section{Windows-based solution}
Windows 10 ISO unattended install, Powershell scripts, XMR-stak
2018-06-29 16:38:17 +02:00
2018-07-22 00:10:19 +02:00
\chapter{Plan}
2018-06-29 23:26:35 +02:00
\begin{figure}[H]
\center
\begin{tabular}{ll}
2018-07-22 00:10:19 +02:00
Month & Task \\
1.7.2018 & Monero cryptocurrency; Monero Usage \\
1.8.2018 & Research design \\
1.9.2018 & Data collection; Monero mining and running the network \\
1.10.2018 & Data summary \\
1.11.2018 & Best practices for usage and storage \\
1.12.2018 & Mining malware; Secure mining system design \\
1.1.2019 & Cryptocore.cz web \\
1.2.2019 & Spare time \\
1.3.2019 & Month for completion \\
1.4.2019 & Final version + print
2018-06-29 23:26:35 +02:00
\end{tabular}
2018-07-22 00:10:19 +02:00
\caption{Diploma thesis plan}
2018-06-29 23:26:35 +02:00
\label{ssme-thesis-plan}
\end{figure}
2018-06-29 16:38:17 +02:00
\printbibliography[heading=bibintoc]
2018-07-04 16:04:00 +02:00
\appendix %% Start the appendices.
2018-07-10 23:21:47 +02:00
%\chapter{Zdroje k tabulce 2.2}
%dash https://bitcointalk.org/index.php?topic=1562109.0
%dash https://docs.dash.org/en/latest/introduction/information.html
2018-07-12 08:56:33 +02:00
%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/
2018-06-27 21:49:31 +02:00
\end{document}