mirror of
https://github.com/lux-apps/papers.git
synced 2026-11-02 11:39:52 +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.
73 lines
2.8 KiB
TeX
73 lines
2.8 KiB
TeX
\section{Slashing Protocol}
|
|
\label{sec:slashing}
|
|
|
|
\subsection{Misbehavior Classification}
|
|
|
|
We define three tiers of misbehavior with corresponding detection mechanisms and penalties:
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Slashing conditions, penalties, and detection mechanisms.}
|
|
\label{tab:slashing}
|
|
\begin{tabular}{p{3cm}lrll}
|
|
\toprule
|
|
\textbf{Violation} & \textbf{Tier} & \textbf{Penalty} & \textbf{Jail Time} & \textbf{Detection} \\
|
|
\midrule
|
|
Downtime $> 48$h & Minor & 0.1\% & 7 days & Heartbeat \\
|
|
Downtime $> 7$d & Minor & 0.5\% & 14 days & Heartbeat \\
|
|
Equivocation & Major & 5.0\% & 30 days & Crypto proof \\
|
|
Invalid state transition & Major & 10.0\% & 60 days & Fraud proof \\
|
|
Coordinated attack & Critical & 33.0\% & Permanent & Multi-sig evidence \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\subsection{Slashing Execution}
|
|
|
|
\begin{algorithm}[H]
|
|
\caption{Slashing Execution Protocol}
|
|
\label{alg:slashing}
|
|
\begin{algorithmic}[1]
|
|
\Procedure{Slash}{validator $v_i$, violation type, evidence}
|
|
\State Verify evidence cryptographically
|
|
\State $p \gets \text{PenaltyRate}(\text{violation type})$
|
|
\State $\text{slashAmount} \gets p \cdot s_i$
|
|
\State Deduct from $v_i$'s self-stake first
|
|
\If{$\text{slashAmount} > s_i^{\text{self}}$}
|
|
\State Deduct remainder pro-rata from delegators
|
|
\EndIf
|
|
\State Burn 50\% of slashed amount
|
|
\State Send 50\% to evidence submitter as bounty
|
|
\State Jail $v_i$ for prescribed duration
|
|
\If{$s_i^{\text{self}} < s^{\min}_{\text{val}}$ after slash}
|
|
\State Force-exit $v_i$; begin unbonding for all delegators
|
|
\EndIf
|
|
\EndProcedure
|
|
\end{algorithmic}
|
|
\end{algorithm}
|
|
|
|
\subsection{Equivocation Detection}
|
|
|
|
\begin{definition}[Equivocation]
|
|
Validator $v_i$ equivocates if it signs two conflicting blocks $B_1 \neq B_2$ at the same height $h$:
|
|
\begin{equation}
|
|
\text{Equivocation}(v_i, h) \iff \exists\, B_1, B_2 : B_1 \neq B_2 \wedge \mathsf{Verify}(\mathsf{pk}_i, B_1, \sigma_1) \wedge \mathsf{Verify}(\mathsf{pk}_i, B_2, \sigma_2)
|
|
\end{equation}
|
|
\end{definition}
|
|
|
|
Equivocation is cryptographically provable: anyone holding both signed blocks can submit them as evidence. The proof is non-interactive and verifiable on-chain.
|
|
|
|
\subsection{Correlated Slashing}
|
|
|
|
When multiple validators misbehave simultaneously, the penalty is amplified:
|
|
|
|
\begin{definition}[Correlated Penalty]
|
|
If $k$ validators are slashed within the same epoch, each receives an additional penalty:
|
|
\begin{equation}
|
|
p_{\text{correlated}} = p_{\text{base}} \cdot \min\left(3, 1 + \frac{\sum_{j \in \text{slashed}} w_j}{W/3}\right)
|
|
\end{equation}
|
|
\end{definition}
|
|
|
|
This quadratic penalty structure deters coordinated attacks: the cost of a coordinated equivocation involving $1/3$ of stake is $3 \times 5\% = 15\%$ per validator, making the attack economically irrational.
|
|
|