View on GitHub
File Changes
%\usepackage[colon]{natbib}
\usepackage[unicode=true,pdftex,pdfa,colorlinks=true]{hyperref}
\usepackage{xcolor}
+
\definecolor{green}{rgb}{0.0,0.34,0.25}
\usepackage[capitalise,noabbrev,nameinlink]{cleveref}
\usepackage{float}
%\floatstyle{boxed}
        \change{2019/10/09}{Kevin Hammond}{FM (\IOHK)}{Initial Version.}
        \change{2019/10/14}{Kevin Hammond}{FM (\IOHK)}{Polished slightly.}
        \change{2019/10/15}{Kevin Hammond}{FM (\IOHK)}{First draft of main net calculation.  Fixed error in Delegator calculation.}
+
        \change{2019/10/16}{Kevin Hammond}{FM (\IOHK)}{Checked against design document. Further clarifications.}
      \end{changelog}
      \clearpage%
\begin{landscape}
  This document provides a high-level overview of the proposed incentives rewards schemes for
  the Shelley Incentived Testnet and the subsequent Mainnet, highlighting key
  differences between the two schemes.  It is intended to act as a
-
  simple, easy to follow, guide to the operation of each of the incentives schemes.
+
  simple, easy to follow, guide to the operation of each of the incentives schemes that explains each step of the calculation.
  It assumes a basic familiarity with the concepts of a \emph{blockchain} approach.
  The incentives scheme is designed to ensure the correct operation of the Ouroborous Praos
  protocol, including maintaining built-in defences against ``Sybil-in-Sybil'' security attacks
-
  that could lead to corruption of the blockchain.
+
  that could lead to corruption of the blockchain.  It builds on sound economic theory.
  A simplified version of the incentives scheme is used for the Incentivised Testnet, using fixed rewards,
-
  omitting fee calculations, influence and apparent performance etc. (some of these features may be
+
  omitting fee calculations, Stakepool deposits, the influence of the Stakepool owner(s)' pledge on
+
  the pool's desirability, the apparent performance of the Stakepool etc. (some of these features may be
  added in later versions of the Incentivised Testnet).
  This document is based on SL-D1 (Delegation/Incentives Design)~\cite{delegation_design} and feeds in to SL-D5
  (Formal Ledger Specification. Version 1)~\cite{shelley_spec} as well as the online rewards calculator and the Shelley Incentivised Testnet and Mainnet  implementations and quality assurance programmes.
\section{Introduction}
\label{sec:introduction}

                      
-
Figure~\ref{fig:terminology} gives some basic terminology.
+
The purpose of this document is to precisely explain the incentives schemes that will be used by the Shelley implementation
+
of the \cardano blockchain, giving step-by-step explanations of the rewards calculations.
+
It follows Section~5 of SL-D1 (Delegation/Incentives Design)~\cite{delegation_design}, but aims to provide a more approachable
+
description that can be used by e.g. Stakepool operators or \ada{} holders who wish to delegate to Stakepools.
+
It also explains the differences between the simplified scheme that will be used in the Shelley Incentivised Testnet implementation and the
+
full scheme that will be used in the Shelley Mainnet implementation.
+

                      
+
Figure~\ref{fig:terminology} gives some basic terminology that will be used in this document.
The Shelley implementation rewards those \ada{} holders who either own active stake pools
(\emph{Owners}) or who delegate stake to active stake pools (\emph{Delegators}).
-
In line with the design of the Ouroborous protocol~\cite{ouroboros_classic}, the Stakepool receives
+
In line with the design of the Ouroborous protocol~\cite{ouroboros_classic}, the \emph{Stakepool} receives
rewards in proportion to the stake that it \emph{controls} (``proof of
stake'') rather than in proportion to the work that it does (``proof of work'').
This has cost, efficiency and safety advantages.
-
The level of rewards that the implementation provides is designed to help ensure that no single entity can
+
The rewards scheme is designed to help ensure that no single entity can
dominate the system by \emph{controlling} excessive amounts of \ada{}.  This is achieved by creating intrinsic
balancing mechanisms that will naturally spread all the active stake among a large number of Stakepools.
In particular, the rewards to any one \emph{Stakepool} may be capped to a pre-determined limit,
meaning that both delegators and owners will receive less reward if too much stake is controlled by a single Stakepool,
so encouraging the creation of additional, smaller Stakepools.
+
It is also designed to ensure \emph{non-myopic} behaviour.  That is, it avoids chaotic system behaviour by encouraging the delegation of \ada{} to those Stakepools that will provide
+
the best overall returns over an extended period of time rather than over the short term.
% This includes limiting the amount of \ada{} that is delegated to any one \emph{Stakepool}.
The overall theory that ensures this is described in the Ouroborous Praos research
-
paper~\cite{ouroboros_praos}. The design of the incentives and delegation scheme is described
-
in~\cite{delegation_design}.
-

                      
+
paper~\cite{ouroboros_praos}; Section~5 of SL-D1~\cite{delegation_design} provides the design rationale
+
for the actual incentives scheme.
\textbf{\emph{Note: this document is subject to change.  In particular, it may be necessary to include a simplified fees calculation
-
  in the incentivised testnet, where the fees are given to the treasury\khcomment{Check fees.}.}}
+
    in the incentivised testnet, where the fees are given to the treasury\khcomment{Check fees.}.}
+
ASlsdo note that some terms and symbols that were used in SL-D1 have been changed in this document
+
in order to simplify the explanations that are given here.
+
}

                      
\begin{figure}[t]
  \begin{center}
\textbf{Term} & \textbf{Definition} \\\hline
  Stakepool & A system that is actively participating in the creation of blocks on the \cardano{} blockchain  \\\hline
  Stake & An amount of \ada{} that is \emph{controlled} by a Stakepool.\\\hline
-
  Epoch & A fixed period of time during which blocks are created.\\\hline
+
  Epoch & A fixed period of time during which blocks are created, transactions run, and rewards earned.\\\hline
Operator & The entity that is responsible for running a Stakepool. \\\hline
-
Owner(s) & The entities that \emph{pledge} stake to the Stakepool. \\\hline
+
Owner(s) & The entities that \emph{Pledge} stake to the Stakepool when it is registered. \\\hline
  Delegator(s) & The entities that \emph{delegate} stake to the Stakepool.\\\hline
-
  Treasury & Central Repository of \ada.\\\hline
-
  Reserve & \ada{} that is not yet in circulation.\\\hline
-
  Reward & \ada{} that is given to a performant Stakepool.\\\hline
+
  Treasury & The central Repository of \ada.\\\hline
+
  Reserve & The \ada{} that is not yet in circulation.\\\hline
+
  Reward & The \ada{} that is distributed to the Owner(s) and Delegator(s) of a performant Stakepool.\\\hline
  \hline
\end{tabular}
\end{center}
\textbf{Parameter} & \textbf{Value} & \textbf{Description} & \textbf{Calculated as} \\\hline
$\textit{Ada}^{Tot}$ & \ADA{45bn} & The total \ada{} that could ever be created & \\\hline
\emph{P} & 20\%-50\% & Participation Rate in the Shelley Incentivised Testnet & \\\hline
-
$\textit{Ada}^{Circ}$ & \ADA{31bn} & The total \ada{} in circulation at Shelley launch & \\\hline
-
$\textit{Ada}^{Rsv}$ & \ADA{14bn} & The total \ada{} in the reserves at Shelley launch & $\textit{Ada}^{Tot} - \textit{Ada}^{Circ}$ \\\hline
+
$\textit{Ada}^{\textit{Circ}}$ & \ADA{31bn} & The total \ada{} in circulation at Shelley launch & \\\hline
+
$\textit{Ada}^{\textit{Rsv}}$ & \ADA{14bn} & The total \ada{} in the reserves at Shelley launch & $\textit{Ada}^{Tot} - \textit{Ada}^{\textit{Circ}}$ \\\hline
\hline
\end{tabular}
\end{center}
Several parameters are pre-determined by external factors. These include the
total \ada{} that could ever be created, $\textit{Ada}^{Tot}$;
the total \ada{} that is in \emph{circulation} when the Shelley system launches
-
(i.e. all \ada{} that is held by any entity on the launch date), $\textit{Ada}^{Circ}$;
+
(i.e. all \ada{} that is held by any entity on the launch date), $\textit{Ada}^{\textit{Circ}}$;
and the \ada{} that is held in reserve when the system starts.
These values are fixed and will not change.

                      
\begin{tabular}{||l|l|p{9cm}||}
  \hline \hline
\textbf{Parameter} & \textbf{Range} & \textbf{Description} \\\hline
-
{\color{red} $\textit{Pool}^{\textit{cost}}$} &  & {\color{red} Cost per day in \ada{}} \\\hline
-
{\color{red} ${\textit{Pool}}^{\textit{margin}}$} &  {\color{red} 0\%-100\%} & {\color{red} Percentage fee on rewards (the ``margin'')} \\\hline
+
{\color{red} $\textit{Pool}^{\textit{Cost}}$} &  & {\color{red} Cost per day in \ada{}} \\\hline
+
{\color{red} ${\textit{Pool}}^{\textit{Margin}}$} &  {\color{red} 0\%-100\%} & {\color{red} Percentage fee on rewards (the ``margin'')} \\\hline
  \hline
\end{tabular}
\end{center}

                      
\noindent
The two main parameters that need to be set by the \emph{operator} are the cost per day that will be charged to
-
the pool (in \ada), $\textit{Pool}^{\textit{cost}}$; and the percentage of any rewards that will subsequently be taken as a fee, ${\textit{Pool}}^{\textit{margin}}$.
+
the pool (in \ada), $\textit{Pool}^{\textit{Cost}}$; and the percentage of any rewards that will subsequently be taken as a fee, ${\textit{Pool}}^{\textit{Margin}}$.
The cost is subtracted from the total rewards that are earned by the pool before any rewards are distributed.
These parameters are advertised by the Stakepool and used as part of the public ranking scheme.

                      
-
\subsubsection*{The \ada{} that is controlled by the Stakepool}
+
\subsubsection*{Sources of Rewards}
+

                      
+
Rewards are taken from three sources:
+

                      
+
\begin{enumerate}
+
\item
+
  monetary expansion (Section~\ref{sec:expansion});
+
\item
+
  transaction fees (Section~\ref{sec:fees});
+
\item
+
  non-refundable deposits.
+
\end{enumerate}
+

                      
+
\subsubsection*{The Rewards that are received by a Stakepool}
+

                      
+
The rewards that are received by a Stakepool will be proportional to the total amount of \ada{} that it controls
+
as a fraction of the total \ada{} that is in circulation.  The \emph{treasury top slice} is deducted from the total \emph{distribution}
+
in an epoch, then the remainder plus any fees is distributed proportionately to each Stakepool.  In order to avoid domination by large Stakepools,
+
a rewards \emph{cap} will be applied to any single pool, based on the target number of Stakepools, $k$.
+
This is described in more detail in Sections~\ref{sec:testnet} and~\ref{sec:mainnet}.
+
\khcomment{Check: fees before or after cap?}

                      
\begin{figure}[h!]
\begin{center}
\begin{tabular}{||l|p{9cm}|l||}
  \hline \hline
\textbf{Parameter} & \textbf{Description} & \textbf{Calculated as} \\\hline
-
{\color{red} ${\textit{Pool}}^\textit{pledge}$} & {\color{red} \ada{} that is pledged to the Stakepool by the Owner(s)} & \\\hline
-
{\color{blue} ${\textit{Pool}}^\textit{deleg}$} & {\color{blue}  \ada{} that is delegated to the Stakepool} & \\\hline
-
${\textit{Pool}}^{Tot}$ & All \ada{} that is controlled by the Stakepool & ${\textit{Pool}}^\textit{pledge} + {\textit{Pool}}^\textit{deleg}$ \\\hline
-
${\textit{Pool}}^\%$ & Fraction of the \ada{} in circulation that is controlled by the Stakepool & {\large $\frac{{\textit{Pool}}^{Tot}}{\textit{Ada}^{Circ}}$} \\\hline
+
{\color{red} ${\textit{Pool}}^\textit{Pledge}$} & {\color{red} \ada{} that is pledged to the Stakepool by the Owner(s)} & \\\hline
+
{\color{blue} ${\textit{Pool}}^\textit{Deleg}$} & {\color{blue}  \ada{} that is delegated to the Stakepool} & \\\hline
+
${\textit{Pool}}^{Tot}$ & All \ada{} that is controlled by the Stakepool & ${\textit{Pool}}^\textit{Pledge} + {\textit{Pool}}^\textit{Deleg}$ \\\hline
+
${\textit{Pool}}^\%$ & Fraction of the \ada{} in circulation that is controlled by the Stakepool & {\large $\frac{{\textit{Pool}}^{Tot}}{\textit{Ada}^{\textit{Circ}}}$} \\\hline
  \hline
\end{tabular}
\end{center}
\caption{The \ada{} that is controlled by a Stakepool.}
\end{figure}

                      
\noindent
-
The rewards that are received by the Stakepool will be proportional to the amount of \ada{} that it controls.
-
This is calculated as the sum of the \ada{} that is \emph{pledged} to the Stakepool by the owners(s) plus
+
The total \ada{} that a Stakepool controls is the sum of the \ada{} that is \emph{pledged} to the Stakepool by the owners(s) plus
the additional \ada{} that is \emph{delegated} to the Stakepool.  An owner may \emph{delegate} to a Stakepool if
-
they wish as well as \emph{pledging} to it, but would receive lower rewards.  In return for receiving
-
higher rewards, \emph{pledging} incurs higher risk, requiring owners to \emph{trust} each other.
+
they wish as well as \emph{pledging} to it, but would receive lower rewards for their \emph{delegated} stake.
+
In return for receiving higher rewards, \emph{pledging} incurs higher risk, requiring owners to \emph{trust} each other.
+

                      
+

                      
+
\subsubsection*{Rewards given to Owner(s) and Delegators}
+

                      
+
Once the pool operating charges are subtracted from the net rewards, any remaining reward is distributed to the owner(s) and delegators
+
in proportion to their pledged/delegated stake.  The Incentivised Testnet uses a simplified scheme for the owner reward calculations.

                      

                      
\clearpage
\ada{} in circulation, then it will receive, on average, 1\% of the total rewards that are allocated to all the