From 3251116f9f206a4beec31dcb40f8a0bc1ec19e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Radim=20Lipov=C4=8Dan?= Date: Mon, 23 Jul 2018 23:00:28 +0200 Subject: [PATCH] Stealth Addresses --- Thesis.bib | 6 ++++++ Thesis.tex | 32 ++++++++++++++++++++++++-------- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/Thesis.bib b/Thesis.bib index 152455a..030bbb6 100644 --- a/Thesis.bib +++ b/Thesis.bib @@ -299,4 +299,10 @@ Protocol year = 2018, url = {https://github.com/monero-project/kovri}, urldate = {2018-07-22} +} + +@article{seguias2018moneroa, + title={Monero’s Building Blocks Part 9 of 10--RingCT and anatomy of Monero transactions}, + author={Seguias, Bassam El Khoury}, + year={2018} } \ No newline at end of file diff --git a/Thesis.tex b/Thesis.tex index 5998909..f46ca45 100644 --- a/Thesis.tex +++ b/Thesis.tex @@ -432,20 +432,36 @@ Updates are meant to improve and enhance the previously established codebase as %\subsection{Transaction traceability} %\section{Technology and principles used in Monero} \section{Transactions in Monero network} -Monero uses a distributed peer-to-peer concensus 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 accesible with wallet keys. +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}. -By that when user A wants to send funds to user B, 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 transfered between wallets Monero uses aditional technology to make transactions private. -\subsection{Stealth Addresses} -For every transaction one time public key (stealth address) is generated and recorded as part of the transaction in order to set the controller of the output of the transaction \cite{seguias2018monero}. +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. +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. + +In order to prove that funds were sent from one wallet to another, the sender has to disclose: +\begin{itemize}\itemsep0em +\item The transaction ID. +\item Receivers address. +\item Transaction's key. +\end{itemize} -By this noone from outside can link nor wallet addresses nor people involved to particular transaction by scanning the blockchain as there is not asociation with recievers adress. \subsection{Ring Signatures} -\cite{mercer2016privacy} + +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}. + +To prevent double spending \cite{miller2017empirical}. + + \subsection{RingCT} -\cite{noether2015ring} \cite{sun2017ringct} +%Zdroje: \cite{noether2015ring} \cite{sun2017ringct} \subsection{Kovri} -\cite{monerokovri} +%Zdroje: \cite{monerokovri} %\chapter{Používání monera} %\section{Pěněženky}