mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
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.
65 lines
2.6 KiB
TeX
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}
|
|
|