View on GitHub
File Changes
\EditorName{Kevin Hammond, \IOHK}
\Authors{Kevin Hammond \quad \texttt{<[email protected]>}
}
-
\DueDate{14$^{\textrm{th}}$ October 2019}
-
\SubmissionDate{14$^{\textrm{th}}$ October 2019}{2019/10/14}
+
\DueDate{31$^{\textrm{st}}$ October 2019}
+
\SubmissionDate{15$^{\textrm{th}}$ October 2019}{2019/10/15}
\LeaderName{Philipp Kant, \IOHK}
\InstitutionAddress{\IOHK}
-
\Version{0.2}
+
\Version{0.3}
\Project{Shelley Ledger}
\DisseminationDR

                      
  \begin{changelog}
        \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.}
      \end{changelog}
      \clearpage%
\begin{landscape}
\begin{abstract}
  \noindent
  This document provides a high-level overview of the proposed incentives rewards schemes for
-
  the Shelley incentived Testnet and the subseqent Mainnet, highlighting key
+
  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.
  It assumes a basic familiarity with the concepts of a \emph{blockchain} approach.
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
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.
+
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.
-
% This includes limiting the amount of \ada{} that is delegated to any one \emph{stakepool}.
+
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.
+
% 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}.
\textbf{Parameter} & \textbf{Expected Value} & \textbf{Definition} \\\hline
\emph{k} & 50-1000 & The Target Number of Stakepools \\\hline
$T$ & 10\% & The Treasury Top Slice Percentage \\\hline
-
$MER$ & 10\% &  The ``Monetary Expansion Rate'' per Year \\\hline
-
$E$ & 1-5 &  Elapsed days per \cardano{} Epoch \\\hline
+
$\textit{MER}$ & 10\%-15\% &  The ``Monetary Expansion Rate'' per Year \\\hline
+
$\textit{DPE}$ & 1-5 &  Elapsed days per \cardano{} Epoch \\\hline
  \hline
\end{tabular}
\end{center}

                      
\noindent
Four key operating parameters are set by the community (the initial values will be determined by \IOHK):
-
$k$, the target number of stakepools;
+
$k$, the target number of Stakepools;
$T$, the treasury top slice percentage;
-
$MER$, the monetary expansion per year;
+
$\textit{MER}$, the monetary expansion per year;
and
-
$E$, the length of each epoch, in days.
+
$\textit{DPE}$, the length of each epoch, in days.
%
-
The target number of Stakepools is used to cap the rewards that any individual stakepool can receive. The intention is to encourage the creation of more stakepools, and to avoid domination by any single stake holder.
+
The target number of Stakepools is used to cap the rewards that any individual Stakepool can receive. The intention is to encourage the creation of more Stakepools, and to avoid domination by any single stake holder.
The \emph{treasury top slice percentage} is the fraction of reward that is allocated to the treasury to cover fixed operating costs, and
ensure the long-term viability both of the \cardano{} system and of \ada{} as a currency.  It is initially set to a small percentage (10\%) of the rewards.
The \emph{monetary expansion rate} is the rate at which rewards are allocated from the \emph{reserves} of \ada{}.
\begin{tabular}{||l|l|p{6cm}|l||}
  \hline \hline
\textbf{Parameter} & \textbf{Value} & \textbf{Description} & \textbf{Calculated as} \\\hline
-
${Ada}_{Tot}$ & \ADA{45bn} & The total \ada{} that could ever be created & \\\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
-
${Ada}_{circ}$ & \ADA{31bn} & The total \ada{} in circulation at Shelley launch & \\\hline
-
${Ada}_{rsv}$ & \ADA{14bn} & The total \ada{} in the reserves at Shelley launch & ${Ada}_{Tot} - {Ada}_{circ}$ \\\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
\hline
\end{tabular}
\end{center}

                      
\noindent
Several parameters are pre-determined by external factors. These include the
-
total \ada{} that could ever be created, ${Ada}_{Tot}$;
+
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), ${Ada}_{circ}$;
+
(i.e. all \ada{} that is held by any entity on the launch date), $\textit{Ada}^{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}_{cost}$} &  & {\color{red} Cost per day in \ada{}} \\\hline
-
{\color{red} ${Pool}_{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}
-
\caption{Key Parameters that are set by the StakePool Operator.}
+
\caption{Key Parameters that are set by the Stakepool Operator.}
\end{figure}

                      
\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}_{cost}$; and the percentage of any rewards that will subsequently be taken as a fee, ${Pool}_{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.
+
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}

                      
\begin{tabular}{||l|p{9cm}|l||}
  \hline \hline
\textbf{Parameter} & \textbf{Description} & \textbf{Calculated as} \\\hline
-
{\color{red} ${Pool}_\textit{pledge}$} & {\color{red} \ada{} that is pledged to the Stakepool by the Owner(s)} & \\\hline
-
{\color{blue} ${Pool}_\textit{deleg}$} & {\color{blue}  \ada{} that is delegated to the Stakepool} & \\\hline
-
${Pool}_{Tot}$ & All \ada{} that is controlled by the Stakepool & ${Pool}_\textit{pledge} + {Pool}_\textit{deleg}$ \\\hline
-
${Pool}_\%$ & Fraction of the \ada{} in circulation that is controlled by the Stakepool & {\large $\frac{{Pool}_{Tot}}{{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}^{Circ}}$} \\\hline
  \hline
\end{tabular}
\end{center}
-
\caption{The \ada{} that is controlled by a StakePool.}
+
\caption{The \ada{} that is controlled by a Stakepool.}
\end{figure}

                      
\noindent
Since \cardano{} is based on \emph{proof of stake}, then on average, each stake pool will produce
rewards that are proportional to the stake that it holds.  So, if e.g. a pool holds 1\% of the total
\ada{} in circulation, then it will receive, on average, 1\% of the total rewards that are allocated to all the
-
stakepools.
+
Stakepools.

                      
\begin{figure}[h!]
\begin{center}
\begin{tabular}{||l|l|p{6cm}|l||}
  \hline \hline
\textbf{Parameter} & \textbf{Expected Value} & \textbf{Description} & \textbf{Calculated as} \\\hline
\emph{P} & 20\%-50\% & Participation Rate in the Testnet & \\\hline
-
${Ada}_{tnet}$ & \ADA{15.5bn} @ $P=50\%$ & The \ada{} circulating in the Testnet & $P \times {Ada}_{circ}$ \\\hline
+
$\textit{Ada}^{\textit{TNet}}$ & \ADA{15.5bn} @ $P=50\%$ & The \ada{} circulating in the Testnet & $P \times \textit{Ada}^{Circ}$ \\\hline
  \hline
\end{tabular}
\end{center}
\begin{tabular}{||l|l|p{6cm}|l||}
  \hline \hline
\textbf{Parameter} & \textbf{Expected Value} & \textbf{Description} & \textbf{Calculated as} \\\hline
-
\emph{E} & 1 & Days per Epoch in the Testnet & \\\hline
-
${Distr}_E$ & \ADA{3.84M} & Distribution per Epoch in the Testnet & $\frac{\large {Ada}_{rsv} \times \textit{MER}}{\large 365 \div E}$ \\\hline
-
$T_E$ & \ADA{384K} & Treasury Top Slice per Day & $R_E \times T$ \\\hline
-
$R_E$ & \ADA{3.45M} & Total Rewards per Epoch & ${Distr}_E - T_E$ \\\hline
+
$\textit{DPE}$ & 1 & Days per Epoch in the Testnet & \\\hline
+
$\textit{MER}$ & 10\% &  The ``Monetary Expansion Rate'' per Year & \\\hline
+
$\textit{Distr}_E$ & \ADA{3.84M} & Distribution per Epoch in the Testnet & $\frac{\large \textit{Ada}^{Rsv} \times \textit{MER}}{\large 365 \div \textit{DPE}}$ \\\hline
+
$T_E$ & \ADA{384K} & Treasury Top Slice per Epoch & $R_E \times T$ \\\hline
+
$R_E$ & \ADA{3.45M} & Total Rewards per Epoch & $\textit{Distr}_E - T_E$ \\\hline
  \hline
\end{tabular}
\end{center}

                      
\noindent
The total \ada{} that is distributed per epoch in the Incentivised Testnet (${Distr}_E$) is calculated from the initial
-
value of the \ada{} reserves, ${Ada}_{rsv}$, and the fixed monetary expansion rate, \textit{MER}.
+
value of the \ada{} reserves, $\textit{Ada}^{Rsv}$, and the fixed monetary expansion rate, \textit{MER}.
An equal distribution is given per epoch.  The top slice that is allocated to the treasury ($T_E$) is
deducted from this distribution, and the remainder is then allocated to the Stakepools as rewards ($R_E$).
For simplicity, in the Incentivised Testnet, the length of each epoch has been set to 1 day.
\begin{tabular}{||l|l|p{6cm}|l||}
  \hline \hline
\textbf{Parameter} & \textbf{Expected Value} & \textbf{Definition} & \textbf{Calculated as} \\\hline
-
{\color{red} ${Pool}_\textit{pledge}$} & & {\color{red} \ada{} that is pledged to the Stakepool by the Owner(s)} & \\\hline
-
{\color{blue} ${Pool}_\textit{deleg}$} & & {\color{blue} \ada{} that is delegated to the Stakepool} & \\\hline
-
${Pool}_{Tot}$ & & All \ada{} that is controlled by the Stakepool & ${Pool}_\textit{pledge} + {Pool}_\textit{deleg}$ \\\hline
-
  ${Pool}_\%$ & & Fraction of the \ada{} in circulation that is controlled by the Stakepool & {\large $\frac{{Pool}_{Tot}}{{Ada}_{tnet}}$} \\\hline
+
{\color{red} ${\textit{Pool}}^\textit{pledge}$} & & {\color{red} \ada{} that is pledged to the Stakepool by the Owner(s)} & \\\hline
}

                      
@misc{ouroboros,
-
    label = {Ouroborous-Protocol},
+
    label = {Ouroboros-Protocol},
    author = {Aggelos Kiayias and Alexander Russell and Bernardo David and Roman Oliynykov},
    title = {Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol},
    howpublished = {Cryptology ePrint Archive, Report 2016/889},