Files
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

65 lines
2.6 KiB
TeX

\section{Reward Distribution}
\label{sec:rewards}
\subsection{Per-Epoch Reward Calculation}
The total reward pool for epoch $t$ is:
\begin{equation}
R_t = R_0 \cdot \alpha^t \cdot f(\sigma_t) + F_t^{\text{priority}}
\end{equation}
where $R_0$ is the base reward, $\alpha = 0.97$ is the annual decay, $f(\sigma_t)$ adjusts for staking ratio, and $F_t^{\text{priority}}$ is total priority fees.
\subsection{Individual Validator Reward}
\begin{algorithm}[H]
\caption{Epoch Reward Distribution}
\label{alg:rewards}
\begin{algorithmic}[1]
\Require Validator set $\mathcal{V}$, epoch metrics
\State $W_{\text{eff}} \gets \sum_{i \in \mathcal{V}} s_i^{\text{eff}} \cdot u_i$
\For{each validator $v_i \in \mathcal{V}$}
\State \Comment{Primary network reward}
\State $r_i^{\text{primary}} \gets R_t \cdot \frac{s_i^{\text{eff}} \cdot u_i}{W_{\text{eff}}}$
\State \Comment{Appchain rewards}
\For{each appchain $k \in \mathcal{K}_i$}
\State $r_{i,k} \gets R_t^k \cdot \frac{s_i^{\text{eff}} \cdot u_{i,k}}{W_{\text{eff}}^k}$
\EndFor
\State $r_i^{\text{total}} \gets r_i^{\text{primary}} + \sum_{k} r_{i,k}$
\State \Comment{Commission split}
\State $r_i^{\text{commission}} \gets c_i \cdot r_i^{\text{total}}$
\State $r_i^{\text{delegators}} \gets (1 - c_i) \cdot r_i^{\text{total}} \cdot \frac{s_i^{\text{del}}}{s_i}$
\State $r_i^{\text{self}} \gets r_i^{\text{total}} - r_i^{\text{delegators}}$
\State \Comment{Distribute to delegators}
\For{each delegator $d \in \mathcal{D}_i$}
\State $r_d \gets r_i^{\text{delegators}} \cdot \frac{s_d}{\sum_{d'} s_{d'}}$
\EndFor
\EndFor
\end{algorithmic}
\end{algorithm}
\subsection{Uptime Measurement}
Uptime is measured via heartbeat messages and consensus participation:
\begin{definition}[Uptime Factor]
\begin{equation}
u_i = \frac{\text{slots participated by } v_i}{\text{total slots in epoch}}
\end{equation}
A slot counts as participated if $v_i$ responded to sampling queries or produced a block when selected.
\end{definition}
Validators with $u_i < u^{\min} = 0.80$ receive zero rewards for the epoch but are not slashed (downtime slashing requires $> 48$ hours continuous absence).
\subsection{Reward Compounding}
Rewards are auto-staked by default, increasing the validator's effective stake for subsequent epochs:
\begin{proposition}[Compound Yield]
A validator with initial stake $s_0$ and constant yield $y$ per epoch has effective stake after $T$ epochs:
\begin{equation}
s_T = s_0 \cdot (1 + y)^T
\end{equation}
At $y = 0.02\%$ per epoch (approximately 7.3\% annual), a 10{,}000 LUX initial stake grows to $\approx 10{,}756$ LUX after one year (365 epochs).
\end{proposition}